[issue1893] Firefox consumes 100% CPU while polling

Sepherosa Ziehau sepherosa at gmail.com
Sun Sep 25 07:34:47 PDT 2011


On Sun, Sep 25, 2011 at 8:34 PM, Sepherosa Ziehau <sepherosa at gmail.com> wrote:
> On Sun, Sep 25, 2011 at 8:21 PM, Sepherosa Ziehau <sepherosa at gmail.com> wrote:
>> On Sun, Sep 25, 2011 at 1:26 AM, Francois Tigeot (via DragonFly issue
>> tracker) <sinknull at leaf.dragonflybsd.org> wrote:
>>>
>>> Francois Tigeot <ftigeot at wolfpond.org> added the comment:
>>>
>>> Seamonkey 2.3.1 also burns 100% cpu. The pattern is a bit different:
>>>
>>>  973:3    seamonkey-bin CALL  poll(0x7fffff7fcbc0,0x9,0x3e7fc18)
>>>  973:3    seamonkey-bin RET   poll 8
>>>  973:3    seamonkey-bin CALL  gettimeofday(0x7fffff7fcdf0,0)
>>>  973:3    seamonkey-bin RET   gettimeofday 0
>>>  973:3    seamonkey-bin CALL  gettimeofday(0x7fffff7fcdf0,0)
>>>  973:3    seamonkey-bin RET   gettimeofday 0
>>>  973:3    seamonkey-bin CALL  getpeername(0x42,0x7fffff7fcaa0,0x7fffff7fca5c)
>>>  973:3    seamonkey-bin RET   getpeername -1 errno 57 Socket is not connected
>>>  973:3    seamonkey-bin CALL  getpeername(0x44,0x7fffff7fcaa0,0x7fffff7fca5c)
>>>  973:3    seamonkey-bin RET   getpeername -1 errno 57 Socket is not connected
>>>  973:3    seamonkey-bin CALL  getpeername(0x3d,0x7fffff7fcaa0,0x7fffff7fca5c)
>>>  973:3    seamonkey-bin RET   getpeername -1 errno 57 Socket is not connected
>>>  973:3    seamonkey-bin CALL  getpeername(0x38,0x7fffff7fcaa0,0x7fffff7fca5c)
>>>  973:3    seamonkey-bin RET   getpeername -1 errno 57 Socket is not connected
>>>  973:3    seamonkey-bin CALL  getpeername(0x23,0x7fffff7fcaa0,0x7fffff7fca5c)
>>>  973:3    seamonkey-bin RET   getpeername -1 errno 57 Socket is not connected
>>>  973:3    seamonkey-bin CALL  getpeername(0x45,0x7fffff7fcaa0,0x7fffff7fca5c)
>>>  973:3    seamonkey-bin RET   getpeername -1 errno 57 Socket is not connected
>>>  973:3    seamonkey-bin CALL  getpeername(0x43,0x7fffff7fcaa0,0x7fffff7fca5c)
>>>  973:3    seamonkey-bin RET   getpeername -1 errno 57 Socket is not connected
>>>  973:3    seamonkey-bin CALL  getpeername(0x47,0x7fffff7fcaa0,0x7fffff7fca5c)
>>>  973:3    seamonkey-bin RET   getpeername -1 errno 57 Socket is not connected
>>>  973:3    seamonkey-bin CALL  gettimeofday(0x7fffff7fcb60,0)
>>>  973:3    seamonkey-bin RET   gettimeofday 0
>>>  973:3    seamonkey-bin CALL  poll(0x7fffff7fcbc0,0x9,0x3e7fc18)
>>>  973:3    seamonkey-bin RET   poll 8
>>>  973:3    seamonkey-bin CALL  gettimeofday(0x7fffff7fcdf0,0)
>>>  973:3    seamonkey-bin RET   gettimeofday 0
>>>  973:3    seamonkey-bin CALL  gettimeofday(0x7fffff7fcdf0,0)
>>>  973:3    seamonkey-bin RET   gettimeofday 0
>>>  973:3    seamonkey-bin CALL  getpeername(0x42,0x7fffff7fcaa0,0x7fffff7fca5c)
>>>
>>> fstat output is available in this file:
>>> http://leaf.dragonflybsd.org/~ftigeot/fstat_seamonkey.txt
>>
>> Hmm, could you also post the sockstat for the seamonkey?
>>
>> Currently it looks like mis-notified "socket is connected" events.
>
> Well, I don't think its our kernel problem, please test the patch posted at:
> http://www.freebsd.org/cgi/query-pr.cgi?pr=156889

Hmm, even though the above patch is correct, but we probably should
set POLLERR if errors happened on the connection, please test the
latest master:
aa622c3d0448dbcf9cad62ea40234b9b01173663

I believe even without the patching firefox, the bug should have been fixed.

Best Regards,
sephe

-- 
Tomorrow Will Never Die






More information about the Bugs mailing list