[Opera-Linux] What's with all the "pipe" FDs in Opera?
Daniel Eckl
daniel.eckl at gmx.de
Fri Jun 26 14:03:23 UTC 2009
2009/6/26 Eirik Byrkjeflot Anonsen <eirik at opera.com>:
> 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
I really feel these two things, the FDs and the memory consumption,
are connected somehow. I bet solving one solves the other.
I know this isn't particularly helpful, but I had to say it, I
couldn't resist, sorry ;)
Daniel
More information about the Opera-Linux
mailing list