Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#5218 closed bug (fixed)

Tracker w>Desktop high CPU usage

Reported by: Meanwhile Owned by: anevilyak
Priority: normal Milestone: R1
Component: Kits/libtracker.so Version: R1/alpha1
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

In Haiku r1a1, I get continuous high CPU usage of the Tracker w>Desktop thread. Icons actions are all impossible as a result: selecting, clicking, moving etc. My idea is that it is the high number of icons (177 at 64x64 size) that triggered it, but the attached serial will be more useful.

Attachments (4)

TrackerDesktop.txt (5.0 KB ) - added by Meanwhile 12 years ago.
serial debug output
TrackerDesktop2.txt (5.0 KB ) - added by Meanwhile 12 years ago.
TrackerDesktop3.txt (52.5 KB ) - added by Meanwhile 12 years ago.
5218DeBug.txt (3.8 KB ) - added by Meanwhile 12 years ago.

Download all attachments as: .zip

Change History (31)

by Meanwhile, 12 years ago

Attachment: TrackerDesktop.txt added

serial debug output

comment:1 by anevilyak, 12 years ago

That serial log appears corrupted.

by Meanwhile, 12 years ago

Attachment: TrackerDesktop2.txt added

in reply to:  1 comment:2 by Meanwhile, 12 years ago

Replying to anevilyak:

That serial log appears corrupted.

True. (Added ungarbled version)

comment:3 by anevilyak, 12 years ago

That log is very very abridged, and doesn't really yield a useful hint as to why that thread's busy. In fact the output appears to be almost entirely from the boot loader. Is serial_debug_output set to true in config/settings/kernel/drivers/kernel ?

by Meanwhile, 12 years ago

Attachment: TrackerDesktop3.txt added

comment:4 by Meanwhile, 12 years ago

Okay, fixed the settings.

comment:5 by anevilyak, 12 years ago

That looks better...however, whatever the Desktop thread is doing to stay busy isn't resulting in any kernel activity that winds up on serial, so it's probably not an I/O issue or anything in that vein. Does it have high CPU usage even when just idling, i.e. no mouse/keyboard activity?

comment:6 by anevilyak, 12 years ago

Component: - GeneralKits/libtracker.so
Owner: changed from nobody to anevilyak

comment:7 by anevilyak, 12 years ago

Also, did this start recently or has r1a1 always been doing that for you?

comment:8 by Meanwhile, 12 years ago

Recently, as the system was stable for a long time. Since all I did on it was icon development, what changed was nothing else than the amount of icons added to the Desktop (or so I figure).

in reply to:  5 comment:9 by Meanwhile, 12 years ago

Replying to anevilyak:

That looks better...however, whatever the Desktop thread is doing to stay busy isn't resulting in any kernel activity that winds up on serial, so it's probably not an I/O issue or anything in that vein. Does it have high CPU usage even when just idling, i.e. no mouse/keyboard activity?

Yes it does.

comment:10 by anevilyak, 12 years ago

In that case it seems likely that either the view info attr got corrupted or there's an icon on there whose data's tripping it up somehow, as it shouldn't be doing anything whatsoever otherwise. Can you try quitting Tracker, removing the _trk/pinfo_le attribute from /boot/home/Desktop via Terminal's rmattr and starting Tracker again? If that makes no difference, (this may be a bit tedious) try moving icons into another folder temporarily and see if removing any particular one fixes the behavior. Tracker restarts might be needed after icon moves depending on how that thread's getting stuck.

comment:11 by anevilyak, 12 years ago

Also, _trk/viewstate_le might be worth trying to remove.

comment:12 by Meanwhile, 12 years ago

What should I type exactly into the Terminal to do that? (not used to using terminal at all)

comment:13 by Meanwhile, 12 years ago

After quitting Tracker, I typed: rmattr _trk/pinfo_le Desktop and restarted. If that's correct, the situation is unchanged.

comment:14 by Meanwhile, 12 years ago

After typing: rmattr _trk/viewstate_le Desktop there are no changes in behaviour. Only the icons are all displayed in a smaller size now.

comment:15 by Meanwhile, 12 years ago

Moving icons into anothe folder is impossible. In fact I already tried to move them off the Desktop one by one, using another Haiku partition's 'Find' app.

comment:16 by anevilyak, 12 years ago

In that case, you could try:

mkdir /boot/home/icons ; mv /boot/home/Desktop/* /boot/home/icons

From the Terminal (without Tracker running). That should put all of them in /boot/home/icons. If that fixes it, it would be interesting to know if opening /boot/home/icons in Tracker causes the window for that folder to likewise spike.

comment:17 by Meanwhile, 12 years ago

Nice, that method removed the spike along with the icons. /boot/home/icons also shows no spike. Thanks, anevilyak.

comment:18 by stippi, 12 years ago

Hm. I am unfortunately too late with my suggestion, but next time, you can traverse to the busy thread in ProcessController and click it to "Debug this thread". Then you can at least see where the thread was in a back trace.

comment:19 by axeld, 12 years ago

You might also want to check if a more recent revision behaves the same.

by Meanwhile, 12 years ago

Attachment: 5218DeBug.txt added

in reply to:  18 comment:20 by Meanwhile, 12 years ago

Replying to stippi:

Hm. I am unfortunately too late with my suggestion, but next time, you can traverse to the busy thread in ProcessController and click it to "Debug this thread". Then you can at least see where the thread was in a back trace.


Redid it, see attachment

comment:21 by anevilyak, 12 years ago

Just to verify, what's seen in 5128DeBug.txt is in fact when the thread is looping forever?

in reply to:  21 ; comment:22 by Meanwhile, 12 years ago

Replying to anevilyak:

Just to verify, what's seen in 5128DeBug.txt is in fact when the thread is looping forever?

Correct, the situation was recreated by placing the same troublesome icons on the Desktop again. Then stippi's instructions were followed. I don't remember if the spike went away after clicking the 'DeBug' button, though...can't find the folder with the backup of those icons at the moment.

in reply to:  22 comment:23 by Meanwhile, 12 years ago

Replying to Meanwhile:

Replying to anevilyak:

Just to verify, what's seen in 5128DeBug.txt is in fact when the thread is looping forever?

Correct, the situation was recreated by placing the same troublesome icons on the Desktop again. Then stippi's instructions were followed. I don't remember if the spike went away after clicking the 'DeBug' button, though...can't find the folder with the backup of those icons at the moment.

Err, I meant to say: 'I don't remember if the spike went away after clicking the "Debug this Thread!" button, or after clicking the 'DeBug' button' (it went away in any case).

comment:24 by Meanwhile, 11 years ago

The bug is still present in hrev38360; this time with only 155 icons on the Desktop. Anything that lies on top of the icons after the spiking behaviour occures wipes them away (i.e. you get to see only the background where the overlying element was, so that -for example- a screensaver effectively wipes all icons off. Did the Terminal trick again, thanks.

It seems that the amount of icons doesn't trigger it, nor does any particular troublesome icon. The situation announces itself in that tracker becomes a bit unstable.

This time I noticed it wasn't the addition of a new icon on the Desktop, but an adding-and-saving action of an icon's gradient to an icon that already sat on the Desktop.

Maybe the Desktop can hold only a certain weight in icons. In this case there were 78 non-linked icons together weighing 1.84 MiB at the time of the crash/spike.

Last edited 11 years ago by Meanwhile (previous) (diff)

comment:25 by anevilyak, 11 years ago

Status: newin-progress

comment:26 by anevilyak, 11 years ago

Resolution: fixed
Status: in-progressclosed

Fixed in hrev39012.

in reply to:  26 comment:27 by Meanwhile, 11 years ago

Replying to anevilyak:

Fixed in hrev39012.

Thanks a lot!

Note: See TracTickets for help on using tickets.