Sometimes xfmedia randomly crashes, got a bt after a crash (happened twice after ~1 sec playing the same file) ** (xfmedia:20835): WARNING **: Xfmedia: Unable to convert string to UTF-8 using default method (1): Invalid byte sequence in conversion input [Thread 393241 (LWP 20933) exited] [New Thread 409626 (LWP 20934)] (xfmedia:20848): Gtk-CRITICAL **: gtk_tree_model_get_iter: assertion `path != NULL' failed [Thread 409626 (LWP 20934) exited] [New Thread 426011 (LWP 20935)] ** (xfmedia:20835): WARNING **: Xfmedia: Unable to convert string to UTF-8 using default method (1): Invalid byte sequence in conversion input Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 20835)] 0x404a4430 in g_markup_parse_context_get_position () from /usr/lib/libglib-2.0.so.0 (gdb) bt #0 0x404a4430 in g_markup_parse_context_get_position () from /usr/lib/libglib-2.0.so.0 #1 0x404a4515 in g_markup_escape_text () from /usr/lib/libglib-2.0.so.0 #2 0x08064034 in xfmedia_mainwin_set_song_label () #3 0x0806d094 in xfmedia_playlist_play_file_at_path () #4 0x0806d66a in xfmedia_playlist_play_file_at_path_persistent () #5 0x08070ed6 in xfmedia_playlist_treeview_buttonpress_cb () #6 0x40198e66 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0 #7 0x4044a6b6 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #8 0x4045bec8 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #9 0x4045ad3a in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #10 0x4045b1e6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #11 0x4027a8ea in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0 #12 0x40197a6b in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #13 0x40196a48 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #14 0x403998f8 in _gdk_events_queue () from /usr/lib/libgdk-x11-2.0.so.0 #15 0x4049e632 in g_main_depth () from /usr/lib/libglib-2.0.so.0 #16 0x4049f6b8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #17 0x4049f9f0 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #18 0x4049ff93 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #19 0x4019639c in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #20 0x080610e4 in main ()
I should have mentioned i'm using gtk 2.6, but crashes were with 2.4 also.
yeah, i doubt this has anything to do with gtk version. i committed something that might fix it; give it a try.
OK, got it crashing right this time, see if you can figure this out. (xfmedia:26138): Gtk-CRITICAL **: _gtk_mnemonic_hash_remove: assertion `targets && g_slist_find (targets, target) != NULL' failed Gtk-ERROR **: file gtksequence.c: line 595 (_gtk_sequence_node_rotate): assertion failed: (node->parent) aborting... Program received signal SIGABRT, Aborted. [Switching to Thread 196621 (LWP 26151)] 0x406bb741 in kill () from /lib/libc.so.6 (gdb) bt #0 0x406bb741 in kill () from /lib/libc.so.6 #1 0x40649771 in pthread_kill () from /lib/libpthread.so.0 #2 0x40649a7b in raise () from /lib/libpthread.so.0 #3 0x406bb4d4 in raise () from /lib/libc.so.6 #4 0x406bca08 in abort () from /lib/libc.so.6 #5 0x404a6fad in g_logv () from /usr/lib/libglib-2.0.so.0 #6 0x404a6fd6 in g_log () from /usr/lib/libglib-2.0.so.0 #7 0x404a70c1 in g_assert_warning () from /usr/lib/libglib-2.0.so.0 #8 0x401d619a in _gtk_sequence_search () from /usr/lib/libgtk-x11-2.0.so.0 #9 0x401d6234 in _gtk_sequence_search () from /usr/lib/libgtk-x11-2.0.so.0 #10 0x401d66ab in _gtk_sequence_search () from /usr/lib/libgtk-x11-2.0.so.0 #11 0x401d5b9f in _gtk_sequence_get_length () from /usr/lib/libgtk-x11-2.0.so.0 #12 0x4019314c in gtk_list_store_set_column_types () from /usr/lib/libgtk-x11-2.0.so.0 #13 0x4024037c in gtk_tree_model_iter_n_children () from /usr/lib/libgtk-x11-2.0.so.0 #14 0x0807e16a in xfmedia_playlist_get_length () #15 0x410d7b3d in pipe_write_data () from /usr/local/lib/xfmedia/plugins/xfmedia-infopipe.so #16 0x410d7dbd in pipe_thread () from /usr/local/lib/xfmedia/plugins/xfmedia-infopipe.so #17 0x404b965d in g_static_private_free () from /usr/lib/libglib-2.0.so.0 #18 0x40646e51 in pthread_start_thread () from /lib/libpthread.so.0 #19 0x40646ecf in pthread_start_thread_event () from /lib/libpthread.so.0 #20 0x407696ea in clone () from /lib/libc.so.6
er, this is a separate crash, nothing to do with the first one. are you using the infopipe plugin at all?
using? it is working AFAIK, can't find any place to disable it..
no, what i meant was, did the crash possibly occur while catting the pipe in /tmp? notice in the stack trace that it's the plugin that's causing the crash (assuming the stack isn't corrupted). (yeah, there's currently no way to enable/disable plugins without removing the .so file. i'll get to that eventually...)
no, i wasn't cat'ting
i'm not sure why it was in pipe_write_data() then. weird. anyway, i think the problem might have something to do with not locking GDK in that function, since we're in a separate thread from the main thread. this should be fixed in current CVS; please reopen if it crops up again. note that i just mean a segfault with reference to _gtk_sequence functions in them. anything else is a new bug.