Opened 16 years ago

Closed 16 years ago

#765 closed Defect (fixed)

BOINC Manager uses 100% CPU sometimes

Reported by: Nicolas Owned by: charlief
Priority: Major Milestone: 6.6
Component: Manager Version: 6.3.21
Keywords: Cc:

Description

Since 6.3 (I don't know exactly which minor version), the manager has some strange behavior with CPU usage. It uses 100% CPU on startup, and then drop down to 0. Later it starts using 100% again. While it's using 100%, it still remains responsive, so the CPU usage is probably from the second thread used for async RPCs, and not from the main thread running the GUI event loop.

It seems to stop eating CPU as soon as it gets any input (mouse/keyboard) and start again when I change the visible tab.

The CPU usage seems to come from a while(true) { /* do stuff */ Yield(); } loop in the async RPC thread (from what I saw on the debugger), but I'm not completely sure about this.

I tried compiling 6.3.18 and 6.3.19 from source, and I couldn't manage to reproduce it. It only happens with the official binaries (self-extracting archive). I'm compiling against wxWidgets 2.8.7 Unicode shared, which is probably different from the library used in the official binaries. But I asked in boinc_alpha what wxWidgets version is used for the official binaries, and didn't get a reply yet.

Attachments (1)

spin_counter.diff (783 bytes) - added by Nicolas 16 years ago.
Apply this patch and watch the counter spin like crazy!

Download all attachments as: .zip

Change History (4)

Changed 16 years ago by Nicolas

Attachment: spin_counter.diff added

Apply this patch and watch the counter spin like crazy!

comment:1 Changed 16 years ago by Nicolas

Owner: changed from romw to charlief

Sometimes it goes through the loop a few thousand times when switching tabs. Sometimes it starts iterating and never stops, which is what causes the huge CPU usage. Moving the mouse makes the iteration stop for a while. Maybe. It may randomly start again. It's more volatile than nitroglycerin. Look at it too hard and it might start misbehaving.

comment:2 Changed 16 years ago by Nicolas

Version: 6.3.196.3.21

Kathryn reports on boinc_alpha this has happened since 6.3.14. Still happens on 6.3.21.

comment:3 in reply to:  2 Changed 16 years ago by charlief

Milestone: 6.46.6
Resolution: fixed
Status: newclosed

Replying to Nicolas:

Kathryn reports on boinc_alpha this has happened since 6.3.14. Still happens on 6.3.21.

On 11/10/08 Kathryn wrote: Yeah, well. I'm getting back to looking at this. And it turns out I'm an idiot. I keep forgetting that I don't have . in my path. So when I started the manager, I thought I was starting the build after 16423. I was not. The version I was looking at was 6.3.14 that Rom released a while ago.

Fixed in version 6.3.22 and further improved in 6.5.0

Note: See TracTickets for help on using tickets.