DragonFly BSD
DragonFly bugs List (threaded) for 2011-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: [issue1893] Firefox consumes 100% CPU while polling


From: Sepherosa Ziehau <sepherosa@xxxxxxxxx>
Date: Sun, 25 Sep 2011 22:33:40 +0800

On Sun, Sep 25, 2011 at 8:34 PM, Sepherosa Ziehau <sepherosa@gmail.com> wrote:
> On Sun, Sep 25, 2011 at 8:21 PM, Sepherosa Ziehau <sepherosa@gmail.com> wrote:
>> On Sun, Sep 25, 2011 at 1:26 AM, Francois Tigeot (via DragonFly issue
>> tracker) <sinknull@leaf.dragonflybsd.org> wrote:
>>>
>>> Francois Tigeot <ftigeot@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




[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]