[Opera-Linux] What's with all the "pipe" FDs in Opera?

Eirik Byrkjeflot Anonsen eirik at opera.com
Fri Jun 26 09:05:28 UTC 2009


Eirik Byrkjeflot Anonsen <eirik at opera.com> writes:

> Kenneth Crudup <kenny at panix.com> writes:
>
>> Every now and then, Opera gets into a state where it won't load pages.
>> When this happens (pages across multiple tabs gets stuck in "Sending
>> request to <site>" or "Compeleted request to <site>") I do an "lsof"
>> and either see a large number of FDs of cache pages, or lately, a huge
>> number of pipes:
>>
>> ----
>> opera   22871 kenny    1w  FIFO                0,6             2483416 pipe
>> opera   22871 kenny    2w  FIFO                0,6             2483416 pipe
>> opera   22871 kenny    5r  FIFO                0,6             4795120 pipe
>> opera   22871 kenny    6w  FIFO                0,6             4795120 pipe
>> opera   22871 kenny   67w  FIFO                0,6             4798071 pipe
>> opera   22871 kenny   73r  FIFO                0,6             4795129 pipe
>> opera   22871 kenny   74w  FIFO                0,6             4795129 pipe
>> opera   22871 kenny   75r  FIFO                0,6             4795133 pipe
>> opera   22871 kenny  135r  FIFO                0,6             4798072 pipe
>> opera   22871 kenny  182w  FIFO                0,6             4798073 pipe
>> opera   22871 kenny  891r  FIFO                0,6             5737187 pipe
>> opera   22871 kenny 1024r  FIFO                0,6             5731322 pipe
>> opera   22871 kenny 1025w  FIFO                0,6             5731322 pipe
>> opera   22871 kenny 1026r  FIFO                0,6             5731458 pipe
>> opera   22871 kenny 1027w  FIFO                0,6             5731458 pipe
>> opera   22871 kenny 1028r  FIFO                0,6             5731326 pipe
>> opera   22871 kenny 1029w  FIFO                0,6             5731326 pipe
>> opera   22871 kenny 1030r  FIFO                0,6             5731413 pipe
>> opera   22871 kenny 1031w  FIFO                0,6             5731413 pipe
>> opera   22871 kenny 1032r  FIFO                0,6             5731330 pipe
>> opera   22871 kenny 1033w  FIFO                0,6             5731330 pipe
>> <about 118 more of these>
>> ----
>>
>> In any case, I think I can't browse 'cause I'm out of FDs again (currently
>> up to 1350 FDs) So, if plugins are turned off, what's Opera pipe()ing to?
>
> Ouch.
>
> Even with plug-ins active (which your next post may indicate they are
> after all...) it's hard to see any reason to create so many of them.
>
> Maybe if we are spawning new pluginwrappers and fail to kill off the old
> pipes.  That would create two new pipes every time, I guess.
>
> Open files is even harder to understand.  Even if we fail to set
> CLOEXEC, the file descriptor in the origin process should be closed and
> gone when we close the file.  So that sounds like we're not closing the
> files properly.  Which is really strange.

Then again, when I look at my own opera (ls -la /proc/<pid>/fd), which
has only been running for about 2 weeks and have never had plug-ins
enabled, there's 194 open file descriptors, 124 of them pointing into
cache and 50 into vps.  And I've even got the mail database open (6 file
descriptors in total), even though I've never activated mail in this
opera.

None of that seems good to me.

eirik


More information about the Opera-Linux mailing list