Menu

#774 [lxmusic]segfault on quit from taskbar when playing

None
open
nobody
lxmusic (18)
7
2015-10-31
2015-08-09
No

Downstream bug: https://bugzilla.redhat.com/show_bug.cgi?id=1250738
lxmusic 0.4.6 segfaults with

* launch lxmusic, GUI appears and also icon appears on lxpanel taskbar
* play the (xmms's) default music with "right arrow" button
* while lxmusic is playing the music, go to lxpanel taskbar and quit lxmusic from taskbar

Valgrind shows the below

** (lxmusic:2267): WARNING **: Server Quit
==2267== Invalid read of size 8
==2267==    at 0x672FE74: g_type_check_instance_cast (gtype.c:4055)
==2267==    by 0x1151EB: on_playback_status_changed (lxmusic.c:1803)
==2267==    by 0x738F8C0: xmmsc_result_run (result.c:432)
==2267==    by 0x7389BEA: xmmsc_ipc_exec_msg (ipc.c:399)
==2267==    by 0x7389BEA: xmmsc_ipc_io_in_callback (ipc.c:80)
==2267==    by 0x708CF29: g_main_dispatch (gmain.c:3122)
==2267==    by 0x708CF29: g_main_context_dispatch (gmain.c:3737)
==2267==    by 0x708D2BF: g_main_context_iterate.isra.29 (gmain.c:3808)
==2267==    by 0x708D5E1: g_main_loop_run (gmain.c:4002)
==2267==    by 0x4D81F36: gtk_main (gtkmain.c:1268)
==2267==    by 0x1118F4: main (lxmusic.c:2509)
==2267==  Address 0xee0def0 is 32 bytes inside a block of size 224 free'd
==2267==    at 0x4A07D6A: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==2267==    by 0x7092C3E: g_free (gmem.c:192)
==2267==    by 0x70AA95C: g_slice_free1 (gslice.c:1112)
==2267==    by 0x672EBE6: g_type_free_instance (gtype.c:1941)
==2267==    by 0x4CC1D21: gtk_box_forall (gtkbox.c:1251)
==2267==    by 0x4CFC6A6: gtk_container_destroy (gtkcontainer.c:1073)
==2267==    by 0x670B00E: g_closure_invoke (gclosure.c:801)
==2267==    by 0x671DC25: signal_emit_unlocked_R (gsignal.c:3697)
==2267==    by 0x672619F: g_signal_emit_valist (gsignal.c:3337)
==2267==    by 0x672654E: g_signal_emit (gsignal.c:3393)
==2267==    by 0x4DAF87E: gtk_object_dispose (gtkobject.c:421)
==2267==    by 0x6711AF8: g_object_run_dispose (gobject.c:1076)
==2267== 
==2267== Invalid read of size 8
==2267==    at 0x672FE80: g_type_check_instance_cast (gtype.c:4060)
==2267==    by 0x1151EB: on_playback_status_changed (lxmusic.c:1803)
==2267==    by 0x738F8C0: xmmsc_result_run (result.c:432)
==2267==    by 0x7389BEA: xmmsc_ipc_exec_msg (ipc.c:399)
==2267==    by 0x7389BEA: xmmsc_ipc_io_in_callback (ipc.c:80)
==2267==    by 0x708CF29: g_main_dispatch (gmain.c:3122)
==2267==    by 0x708CF29: g_main_context_dispatch (gmain.c:3737)
==2267==    by 0x708D2BF: g_main_context_iterate.isra.29 (gmain.c:3808)
==2267==    by 0x708D5E1: g_main_loop_run (gmain.c:4002)
==2267==    by 0x4D81F36: gtk_main (gtkmain.c:1268)
==2267==    by 0x1118F4: main (lxmusic.c:2509)
==2267==  Address 0xaaaaaaaaaaaaaaaa is not stack'd, malloc'd or (recently) free'd
==2267== 
==2267== 
==2267== Process terminating with default action of signal 11 (SIGSEGV)
==2267==  General Protection Fault
==2267==    at 0x672FE80: g_type_check_instance_cast (gtype.c:4060)
==2267==    by 0x1151EB: on_playback_status_changed (lxmusic.c:1803)
==2267==    by 0x738F8C0: xmmsc_result_run (result.c:432)
==2267==    by 0x7389BEA: xmmsc_ipc_exec_msg (ipc.c:399)
==2267==    by 0x7389BEA: xmmsc_ipc_io_in_callback (ipc.c:80)
==2267==    by 0x708CF29: g_main_dispatch (gmain.c:3122)
==2267==    by 0x708CF29: g_main_context_dispatch (gmain.c:3737)
==2267==    by 0x708D2BF: g_main_context_iterate.isra.29 (gmain.c:3808)
==2267==    by 0x708D5E1: g_main_loop_run (gmain.c:4002)
==2267==    by 0x4D81F36: gtk_main (gtkmain.c:1268)
==2267==    by 0x1118F4: main (lxmusic.c:2509)

Discussion

  • Mamoru TASAKA

    Mamoru TASAKA - 2015-08-09

    So it seems that with the above procedure,

    * lxmusic firstly calls on_xmms_quit(), and main_win is gtk_widget_destroy() ed
    * and with the above, all the child of the main_win is also destroyed.
    * then on_playback_status_changed() is called, and trying to change time_label causes segfault.
    

    I wrote a workaround for this issue, please review it.

     
  • Lonely Stranger

    Lonely Stranger - 2015-10-31
    • labels: --> lxmusic
    • Group: -->
    • Priority: 5 --> 7
     

Log in to post a comment.

MongoDB Logo MongoDB