Mozilla plugin consumes X connections
Posted: 24 Sep 2010 10:36
I am running 1.1.4 in Firefox 3.6.10 on Ubuntu.
I've noticed that VLC gradually consumes connections to the X server to a point where X refuses any more connections and VLC cannot run properly. This is solved only when Firefox is closed.
It seems that when VLC is unloaded from a web page (ie, the user navigates away) a socket connection to the X server gets left behind. Over time, if you keep navigating away and coming back, the number of sockets reaches 256. At this point VLC will use the Color ASCii Art engine since it cannot connect to the X server.
Here are the steps to reproduce the problem:
1) Load test.html from projects/activex in Firefox [note there was a stray curly brace in the onPlaying() function that broke the page]
2) Play a video file (I used a DVB stream over UDP, but local files should also work)
3) Run the following command to see how many sockets are connected to X:
4) Leave the test.html webpage (go somewhere else, do not close Firefox)
5) Run the command from step 3
6) Go back to test.html and load the video again
7) Run the command from step 3
Keep going back and forth, like this. You will notice the number of X connections creeps up every time the VLC plugin is loaded.
9) If you have patience, get the number of connections to 256
10) Enjoy Color ASCii art
11) Close Firefox and notice that the X connections have now been freed.
I have captured a log file from the Mozilla plugin output and filed a bug report at: http://trac.videolan.org/vlc/ticket/4201
PS: I have also reproduced this bug on multiple machines and under VLC 1.1.2
I've noticed that VLC gradually consumes connections to the X server to a point where X refuses any more connections and VLC cannot run properly. This is solved only when Firefox is closed.
It seems that when VLC is unloaded from a web page (ie, the user navigates away) a socket connection to the X server gets left behind. Over time, if you keep navigating away and coming back, the number of sockets reaches 256. At this point VLC will use the Color ASCii Art engine since it cannot connect to the X server.
Here are the steps to reproduce the problem:
1) Load test.html from projects/activex in Firefox [note there was a stray curly brace in the onPlaying() function that broke the page]
2) Play a video file (I used a DVB stream over UDP, but local files should also work)
3) Run the following command to see how many sockets are connected to X:
Code: Select all
ls -1 /proc/`pidof X`/fd | wc -l
5) Run the command from step 3
6) Go back to test.html and load the video again
7) Run the command from step 3
Keep going back and forth, like this. You will notice the number of X connections creeps up every time the VLC plugin is loaded.
9) If you have patience, get the number of connections to 256
10) Enjoy Color ASCii art
11) Close Firefox and notice that the X connections have now been freed.
I have captured a log file from the Mozilla plugin output and filed a bug report at: http://trac.videolan.org/vlc/ticket/4201
PS: I have also reproduced this bug on multiple machines and under VLC 1.1.2