Package: gmpc
Version: 0.19.1-1
Severity: important

Hello,

gmpc occasionally segfaults here. Running in gdb gave the following backtrace:

Program received signal SIGSEGV, Segmentation fault.
gmpc_mpddata_model_playlist_status_changed (self=0x908050, mi=0x905950, 
    what=<value optimized out>, conn=<value optimized out>)
    at gmpc-mpddata-model-playlist.gob:243
243     gmpc-mpddata-model-playlist.gob: No such file or directory.
        in gmpc-mpddata-model-playlist.gob
(gdb) bt
#0  gmpc_mpddata_model_playlist_status_changed (self=0x908050, mi=0x905950, 
    what=<value optimized out>, conn=<value optimized out>)
    at gmpc-mpddata-model-playlist.gob:243
#1  0x00007ffff444e3ed in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#2  0x00007ffff4461cdb in ?? () from /usr/lib/libgobject-2.0.so.0
#3  0x00007ffff4463082 in g_signal_emit_valist ()
   from /usr/lib/libgobject-2.0.so.0
#4  0x00007ffff44633ba in g_signal_emit_by_name ()
   from /usr/lib/libgobject-2.0.so.0
#5  0x00007ffff77ae87c in mpd_status_update () from /usr/lib/libmpd.so.1
#6  0x000000000042acf0 in update_mpd_status () at mpdinteraction.c:417
#7  0x00007ffff3db083b in ?? () from /lib/libglib-2.0.so.0
#8  0x00007ffff3db012a in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#9  0x00007ffff3db3988 in ?? () from /lib/libglib-2.0.so.0
#10 0x00007ffff3db3e5d in g_main_loop_run () from /lib/libglib-2.0.so.0
#11 0x00007ffff5803ca7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#12 0x0000000000423ddc in main (argc=1, argv=0x7fffffffe3f8) at main.c:867
(gdb) bt full
#0  gmpc_mpddata_model_playlist_status_changed (self=0x908050, mi=0x905950, 
    what=<value optimized out>, conn=<value optimized out>)
    at gmpc-mpddata-model-playlist.gob:243
        iter = {stamp = 385438009, user_data = 0x0, user_data2 = 0x13, 
          user_data3 = 0x7ffff444caed}
        path = 0x2b359c0
        i = 20
        list_iter = 0x0
        data_iter = 0x1472c80
        data = 0x1445080
        new_length = 20
        old_length = <value optimized out>
        __PRETTY_FUNCTION__ = "gmpc_mpddata_model_playlist_status_changed"
        __FUNCTION__ = "gmpc_mpddata_model_playlist_status_changed"

Looking at the offending source line gives

240                         for(;i!= data_iter->song->pos;i++)
241                             list_iter = list_iter->next;
242 
243                         if(list_iter->song)

I guess this is caused by running https://bitbucket.org/matclab/mpdrandomd in
the background to add random songs when the playlist gets too empty (as
configured here it keeps ten songs before the current one, and makes sure at
least ten songs follow the current song), so there's a race condition where
sometimes gmpc wants to process a song mpdrandomd just removed.

Note that this is currently just speculation, I haven't found a way to provoke
the segfault at will, and during normal use it is completely unpredictable how
long it takes gmpc to crash, can be minutes or days.

Best regards,
Christian Ohm

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.30-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages gmpc depends on:
ii  libatk1.0-0            1.28.0-1          The ATK accessibility toolkit
ii  libc6                  2.10.1-1          GNU C Library: Shared libraries
ii  libcairo2              1.8.8-2           The Cairo 2D vector graphics libra
ii  libfontconfig1         2.6.0-4           generic font configuration library
ii  libfreetype6           2.3.11-1          FreeType 2 font engine, shared lib
ii  libglade2-0            1:2.6.4-1         library to load .glade files at ru
ii  libglib2.0-0           2.22.2-2          The GLib library of C routines
ii  libgtk2.0-0            2.18.3-1          The GTK+ graphical user interface 
ii  libice6                2:1.0.5-1         X11 Inter-Client Exchange library
ii  libmpd1                0.19.0-1          High-level client library for acce
ii  libpango1.0-0          1.26.0-1          Layout and rendering of internatio
ii  libsexy2               0.1.11-2+b1       collection of additional GTK+ widg
ii  libsm6                 2:1.1.1-1         X11 Session Management library
ii  libsoup2.4-1           2.28.1-1          an HTTP library implementation in 
ii  libsqlite3-0           3.6.19-1          SQLite 3 shared library
ii  libx11-6               2:1.2.2-1         X11 client-side library
ii  libxml2                2.7.6.dfsg-1      GNOME XML library
ii  zlib1g                 1:1.2.3.3.dfsg-15 compression library - runtime

gmpc recommends no packages.

Versions of packages gmpc suggests:
ii  gmpc-plugins                  0.19.0-1   Plugins for the GNOME Music Player
ii  mpd                           0.15.4-1   Music Player Daemon

-- no debconf information

-- 
Sigh.  I like to think it's just the Linux people who want to be on
the "leading edge" so bad they walk right off the precipice.
(Craig E. Groeschel)



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to