#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)
Change History (31)
by , 15 years ago
Attachment: | TrackerDesktop.txt added |
---|
by , 15 years ago
Attachment: | TrackerDesktop2.txt added |
---|
comment:2 by , 15 years ago
comment:3 by , 15 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 , 15 years ago
Attachment: | TrackerDesktop3.txt added |
---|
follow-up: 9 comment:5 by , 15 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 , 15 years ago
Component: | - General → Kits/libtracker.so |
---|---|
Owner: | changed from | to
comment:7 by , 15 years ago
Also, did this start recently or has r1a1 always been doing that for you?
comment:8 by , 15 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).
comment:9 by , 15 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 , 15 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:12 by , 15 years ago
What should I type exactly into the Terminal to do that? (not used to using terminal at all)
comment:13 by , 15 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 , 15 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 , 15 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 , 15 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 , 15 years ago
Nice, that method removed the spike along with the icons. /boot/home/icons also shows no spike. Thanks, anevilyak.
follow-up: 20 comment:18 by , 15 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 , 15 years ago
You might also want to check if a more recent revision behaves the same.
by , 15 years ago
Attachment: | 5218DeBug.txt added |
---|
comment:20 by , 15 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
follow-up: 22 comment:21 by , 15 years ago
Just to verify, what's seen in 5128DeBug.txt is in fact when the thread is looping forever?
follow-up: 23 comment:22 by , 15 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.
comment:23 by , 15 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 , 14 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.
comment:25 by , 14 years ago
Status: | new → in-progress |
---|
follow-up: 27 comment:26 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | in-progress → closed |
Fixed in hrev39012.
serial debug output