I am using parole to play long mp3 files. On some files I experience crashes when pausing and then resuming after some time. The crash is because of too many open files: ****** (parole:18369): parole-WARNING **: Unable to load icon : gtk-media-pause : Fehler beim Öffnen der Datei: Zu viele offene Dateien ... (parole:18369): Gtk-CRITICAL **: IA__gtk_widget_render_icon: assertion `size > GTK_ICON_SIZE_INVALID || size == -1' failed (parole:18369): Gtk-WARNING **: Attempting to store changes into `/home/me/.local/share/recently-used.xbel', but failed: Datei »/home/me/.local/share/recently-used.xbel.7WJ9QW« konnte nicht angelegt werden: Zu viele offene Dateien ** Gtk:ERROR:gtkrecentmanager.c:2112:get_icon_fallback: assertion failed: (retval != NULL) ****** If I check for open files with lsof | grep parole I get some obvious ones like /usr/bin/parole or /usr/share/locale/de/LC_MESSAGES/parole.mo and over 2000 instances of the currently playing mp3 file. This bug was introduced when moving from 0.3.0.2 to 0.4.0. I am using archlinux if it matters at all.
Sorry, I've never been able to confirm this bug. I tried with >1000 open files myself with current Parole from git. Could you try again with the latest changes?
Strangely the crash only happens on some mp3 files. Most mp3 files I tried work just fine. I haven't been able to narrow down what makes a file work or not work. I'll try with the current git, but I haven't been able to make my autotools output a makefile for parole yet (autogen.sh does not work out of the box).
Even though your debug-output doesn't suggest it, it could be related to the fact that until recently, our auto-saved-playlist was not using UTF8, so files with Umlauts or other special characters got borked.
No, that's not it. This is the mp3info of a file that causes crashes: $ mp3info -x 01-annie_mac_-_bbc_radio1-sat-11-18-2013-talion.mp3 File: 01-annie_mac_-_bbc_radio1-sat-11-18-2013-talion.mp3 Title: BBC Radio1-SAT-11-18-2013 - ww Track: 1 Artist: Annie Mac Album: www.mixing.dj Year: 2013 Comment: www.mixing.dj Genre: Electronic [52] Media Type: MPEG 1.0 Layer III Audio: Variable KB/s, 48KHz (joint stereo) Emphasis: none CRC: No Copyright: No Original: Yes Padding: No Length: 118:56 So no special characters.
So does this file only cause the crash in combination with 1999 other files in the playlist on pause/resume, or does it cause a crash on its own too?
Only the single file is in the playlist. Directly called from the console (parole <filename>). After about 30 seconds of playtime I get lots of this messages on the calling terminal: (parole:32329): Gtk-WARNING **: Unknown property: GtkMenu.ubuntu-local (parole:32329): Gtk-CRITICAL **: IA__gtk_widget_render_icon: assertion `size > GTK_ICON_SIZE_INVALID || size == -1' failed After this messages appear the crash can be provoked by pausing the playback and continuing it again.
That really seems to be a different bug than what you originally described. You could send me/us one of the mp3 files in question via email.
Contrary to what I've said up to now I was able now to at least confirm the warning message about not being able to write to recently-used.xbel. However, parole does not crash here.
I was able to reproduce the crash with current parole-git. Here is a backtrace of a crash (seems not very helpful): (gdb) bt #0 0x00007ffff26d42c5 in raise () from /usr/lib/libc.so.6 #1 0x00007ffff26d5748 in abort () from /usr/lib/libc.so.6 #2 0x00007ffff398f8d7 in g_assertion_message () from /usr/lib/libglib-2.0.so.0 #3 0x00007ffff398fdf4 in g_assertion_message_expr () from /usr/lib/libglib-2.0.so.0 #4 0x00007ffff7096b6e in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #5 0x00007ffff70915cb in ?? () from /usr/lib/libgtk-x11-2.0.so.0 #6 0x00007ffff6c77637 in ?? () from /usr/lib/libgdk-x11-2.0.so.0 #7 0x00007ffff396d845 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #8 0x00007ffff396db78 in ?? () from /usr/lib/libglib-2.0.so.0 #9 0x00007ffff396df72 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #10 0x00007ffff703d5d7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #11 0x000000000041478f in main (argc=1, argv=0x7fffffffe2b8) at main.c:436 Any suggestions what I could do to further investigate this behaviour?
As parole it quite quick to compile I did a git bisect with the following result: $ git bisect bad 27150b0f60966778020e742eff6860477277a1fd is the first bad commit commit 27150b0f60966778020e742eff6860477277a1fd Author: Sean Davis <smd.seandavis@gmail.com> Date: Sat Dec 1 00:18:49 2012 -0500 Initial recent files menu. :040000 040000 352814ae2db116fab30fd490ecc61a1f545f55a9 34fa270c4e9ec1a7246000193282f76218cef0ad M data :040000 040000 ce0bda4acd4d8989d7bb61a31778ccf903e85b23 a5e9c92b1c168530d53f1db1dbab8ad77685bdfd M src The console messages (parole:32329): Gtk-WARNING **: Unknown property: GtkMenu.ubuntu-local (parole:32329): Gtk-CRITICAL **: IA__gtk_widget_render_icon: assertion `size > GTK_ICON_SIZE_INVALID || size == -1' failed appear some revisions before without causing a crash. I didn't do a seperate bisect on this issue but a revision where the messages appear but no crash happens is e.g. 949d5e8567888610168f50e3168a49d9326bad05 Hope this helps in some way to track down the problem.
I believe we managed to resolve this with our recent move to gtk3. The parole git-master (0.5.90 -> 0.6) no longer seems to crash. We found the file that was originally causing the crash, let it run for a bit, then let it run all day while pausing/playing every 3 seconds with automation. I'm going to close this bug, but if you find that you are still having an issue, feel free to re-open it and we can debug further. Cheers!