[winswitch] winswitch uses 100% CPU

Antoine Martin antoine at nagafix.co.uk
Thu Sep 24 07:00:51 BST 2015


On 23/09/15 23:42, McDermott, Chris Kevin (MSDU - HP Storage) wrote:
> Thanks Antione.  I've verified that I am running the patch which already includes the twisted patch.  
>
> I attached gdb to the winswitch_server process and grabbed a backtrace.  Interestingly it looks like maybe it's a glib problem?
I do vaguely recall something about glib sharing the same / similar code
as pygtk.
So maybe you will need to patch glib too.

Do the examples I linked to still spin at 100%? This would at least
confirm that the bug is not somewhere else...

Cheers
Antoine


>
> #0  0x0000003294cdf1b3 in poll () from /lib64/libc.so.6
> #1  0x000000329643c655 in ?? () from /lib64/libglib-2.0.so.0
> #2  0x000000329643cd55 in g_main_loop_run () from /lib64/libglib-2.0.so.0
> #3  0x00007fb6c86ea791 in ?? () from /usr/lib64/python2.6/site-packages/gtk-2.0/glib/_glib.so
> #4  0x000000320dcd5906 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0
> #5  0x000000320dcd7647 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.6.so.1.0
> #6  0x000000320dcd5a94 in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0
> #7  0x000000320dcd6b7f in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0
> #8  0x000000320dcd6b7f in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0
> #9  0x000000320dcd6b7f in PyEval_EvalFrameEx () from /usr/lib64/libpython2.6.so.1.0
> #10 0x000000320dcd7647 in PyEval_EvalCodeEx () from /usr/lib64/libpython2.6.so.1.0
> #11 0x000000320dcd7722 in PyEval_EvalCode () from /usr/lib64/libpython2.6.so.1.0
> #12 0x000000320dcf1b9c in ?? () from /usr/lib64/libpython2.6.so.1.0
> #13 0x000000320dcf1c70 in PyRun_FileExFlags () from /usr/lib64/libpython2.6.so.1.0
> #14 0x000000320dcf315c in PyRun_SimpleFileExFlags () from /usr/lib64/libpython2.6.so.1.0
> #15 0x000000320dcff892 in Py_Main () from /usr/lib64/libpython2.6.so.1.0
> #16 0x0000003294c1ed5d in __libc_start_main () from /lib64/libc.so.6
> #17 0x0000000000400649 in _start ()
>
>
> -----Original Message-----
> From: shifter-users [mailto:shifter-users-bounces at lists.devloop.org.uk] On Behalf Of Antoine Martin
> Sent: Wednesday, September 23, 2015 5:42 AM
> To: shifter-users at lists.devloop.org.uk
> Subject: Re: [winswitch] winswitch uses 100% CPU
>
> On 22/09/15 03:35, McDermott, Chris Kevin (MSDU - HP Storage) wrote:
>> I'm running winswitch on RHEL 6.4.  The winswitch-server and winswitch-stdio processes are both using approximately 100% CPU (core).
>>
>> I have read the FAQ on this http://winswitch.org/trac/ticket/90.
>>
>> I have patched pygtk2-2.16.0-3 Fedora source RPM with the patches https://bugzilla.redhat.com/attachment.cgi?id=477006 and https://bugzilla.redhat.com/attachment.cgi?id=477007 (more or less) and did an rpmbuild to produce a new binary RPM for pygtk2-2.16.0-3.el6.
>>
>> I've installed the new binary RPM and restarted winswitch.  The high CPU usage did not change.
>>
>> strace of winswitch_server shows
>>
>> poll([{fd=7, events=POLLIN}, {fd=3, events=POLLIN}, {fd=15, 
>> events=POLLIN}, {fd=11, events=POLLIN}, {fd=5, events=POLLIN}, {fd=13, 
>> events=POLLIN}, {fd=10, events=POLLIN}], 7, 38) = 1 ([{fd=3, 
>> revents=POLLIN}]) poll([{fd=7, events=POLLIN}, {fd=3, events=POLLIN}, 
>> {fd=15, events=POLLIN}, {fd=11, events=POLLIN}, {fd=5, events=POLLIN}, 
>> {fd=13, events=POLLIN}, {fd=10, events=POLLIN}], 7, 38) = 1 ([{fd=3, 
>> revents=POLLIN}]) poll([{fd=7, events=POLLIN}, {fd=3, events=POLLIN}, 
>> {fd=15, events=POLLIN}, {fd=11, events=POLLIN}, {fd=5, events=POLLIN}, 
>> {fd=13, events=POLLIN}, {fd=10, events=POLLIN}], 7, 36) = 1 ([{fd=3, 
>> revents=POLLIN}]) poll([{fd=7, events=POLLIN}, {fd=3, events=POLLIN}, 
>> {fd=15, events=POLLIN}, {fd=11, events=POLLIN}, {fd=5, events=POLLIN}, 
>> {fd=13, events=POLLIN}, {fd=10, events=POLLIN}], 7, 35) = 1 ([{fd=3, 
>> revents=POLLIN}])
>>
>> ad infinitum
>>
>> lsof shows this for fd 3
>>
>>     winswitch 16617  mcdermoc    3r     FIFO                0,8      0t0   93100 pipe
>>
>> strace of stdio is basically the same pattern - nothing but calls to poll(3).
>>
>> I am out of ideas.  Any help on a new direction which I could pursue would be greatly appreciated.
> Have you verified that your patched libraries are being used and that they do fix the problem they are meant to fix?
> There is a test case here (requires sending it a SIGCHLD):
> https://bugzilla.gnome.org/show_bug.cgi?id=640738#c4
> And another one here (requires Twisted):
> http://twistedmatrix.com/trac/ticket/4658
>
> The only alternative that I can think of is to upgrade to a newer CentOS release.
> (those have the pygtk patches included - I believe)
>
> Cheers
> Antoine
>> Thanks,
>> Chris
>> _______________________________________________
>> shifter-users mailing list
>> shifter-users at lists.devloop.org.uk
>> http://lists.devloop.org.uk/mailman/listinfo/shifter-users
> _______________________________________________
> shifter-users mailing list
> shifter-users at lists.devloop.org.uk
> http://lists.devloop.org.uk/mailman/listinfo/shifter-users




More information about the shifter-users mailing list