Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gstreamer Socket Leak #4663

Closed
TheUbuntuGuy opened this issue Dec 21, 2014 · 0 comments · Fixed by #4668
Closed

Gstreamer Socket Leak #4663

TheUbuntuGuy opened this issue Dec 21, 2014 · 0 comments · Fixed by #4668

Comments

@TheUbuntuGuy
Copy link
Contributor

When generating moodbars, Clementine does not free the sockets it is creating in MoodbarPipeline. After generating a lot of moodbars, Clementine will run out of file descriptors and will be killed by the OS. This didn't happen before the moodbar engine was rewritten.

The crash happens as follows:

(clementine:20962): GStreamer-CRITICAL **: gst_poll_get_read_gpollfd: assertion 'set != NULL' failed
00:11:25.418 ERROR MoodbarPipeline:133              Error processing  QUrl( "file:///mnt/Music/David Guetta/She Wolf/01 She Wolf (Falling to Pieces) [Michael Calfan Remix].mp3" )  : "Could not open file "/mnt/Music/David Guetta/She Wolf/01 She Wolf (Falling to Pieces) [Michael Calfan Remix].mp3" for reading." 
00:11:25.418 ERROR MoodbarPipeline:133              Error processing  QUrl( "file:///mnt/Music/David Guetta/She Wolf/01 She Wolf (Falling to Pieces) [Michael Calfan Remix].mp3" )  : "Could not open file "/mnt/Music/David Guetta/She Wolf/01 She Wolf (Falling to Pieces) [Michael Calfan Remix].mp3" for reading." 
00:11:27.427 WARN  unknown                          QNetworkDiskCache::prepare() unable to open temporary file  
[New Thread 0x7fff4c99b700 (LWP 21646)]
00:11:27.428 DEBUG logging:65                       Creating pipes for GWakeup: Too many open files


Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7fff4c99b700 (LWP 21646)]
0x00007ffff50c3d30 in g_logv () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
(gdb)

There are literally ~1000 sockets before Linux has had enough.

clementin 21813 mark   94u  unix 0x0000000000000000      0t0    207120 socket
clementin 21813 mark   95u  unix 0x0000000000000000      0t0    206162 socket
clementin 21813 mark   96u  unix 0x0000000000000000      0t0    207121 socket
clementin 21813 mark   97u  unix 0x0000000000000000      0t0    207122 socket
clementin 21813 mark   98u  unix 0x0000000000000000      0t0    201422 socket
clementin 21813 mark   99u  unix 0x0000000000000000      0t0    201423 socket
clementin 21813 mark  100u  unix 0x0000000000000000      0t0    204212 socket
clementin 21813 mark  101u  unix 0x0000000000000000      0t0    206160 socket
clementin 21813 mark  102u  unix 0x0000000000000000      0t0    206161 socket
clementin 21813 mark  103u  unix 0x0000000000000000      0t0    199580 socket
clementin 21813 mark  104u  unix 0x0000000000000000      0t0    199573 socket
clementin 21813 mark  105u  unix 0x0000000000000000      0t0    199574 socket
clementin 21813 mark  106u  unix 0x0000000000000000      0t0    204213 socket
clementin 21813 mark  107u  unix 0x0000000000000000      0t0    205397 socket
clementin 21813 mark  108u  unix 0x0000000000000000      0t0    205398 socket
TheUbuntuGuy added a commit to TheUbuntuGuy/Clementine that referenced this issue Dec 22, 2014
Fixes clementine-player#4663
When tearing down the pipeline, there was a leak of a GstBus which holds a socketpair open.
Eventually the OS runs out of file descriptors and terminates Clementine.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant