Bug#366294: rhythmbox: crash (segfault) when incremental searching past song titled "Never"

Tim timwatt+drafite at gmail.com
Sun May 7 01:32:19 UTC 2006


Package: rhythmbox
Version: 0.9.3.1-1
Severity: normal
Tags: patch

If you have a song in your list entitled 'Never', attempts to use
incremental search will crash when it passes over this file (the search
string is irrelevant, just the entries traversed by the search code).

Steps to reproduce the crash:
1. Add a song whose title metadata is "Never" (exactly) to your library
2. In the library view, starting from the first song, try to
incremental-search past the newly-added song (typing a number of 'z's
works for me)
3. It will crash

I can reproduce this problem consistently (as long as a song entitled
"Never" is in my playlist).

I filed this against upstream, and they had already fixed it in the next
version. - http://bugzilla.gnome.org/show_bug.cgi?id=340854
Since unstable is still on 0.9.3, I figure a vendor patch may alleviate
this in the mean time.

The relevant portion of the stack trace is:
#3  <signal handler called>
#4  0xa700a6e2 in strstr () from /lib/tls/i686/cmov/libc.so.6
#5  0x080d8335 in type_ahead_search_func (model=0x84a2150, column=1,
key=0x87c7f58 "zzz", iter=0xaf86a6f8, search_data=0x0)
    at rb-entry-view.c:201
#6  0xa7699421 in gtk_tree_view_set_search_equal_func () from
    /usr/lib/libgtk-x11-2.0.so.0
#7  0xa7699bb1 in gtk_tree_view_set_search_equal_func () from
    /usr/lib/libgtk-x11-2.0.so.0
#8  0xa71daa2b in g_cclosure_marshal_VOID__VOID () from
    /usr/lib/libgobject-2.0.so.0

The whole thing is 64 frames and is mostly event handler goodness.
Details are in the bug I linked to. It boils down to passing a null
to strstr: rb_refstring_get_folded(entry->title) returns null.

The flaw is exposed in widgets/rb-entry-view.c (type_ahead_search_func).
It really occurs in rhythmdb/rb-refstring.c (rb_refstring_new_full).

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16-1-686
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)

Versions of packages rhythmbox depends on:
ii  dbus                       0.61-5        simple interprocess messaging syst
ii  gconf2                     2.14.0-1      GNOME configuration database syste
ii  gstreamer0.10-alsa [gstrea 0.10.6-1      GStreamer plugin for ALSA
ii  gstreamer0.10-gnomevfs     0.10.6-1      GStreamer plugin for GnomeVFS
ii  gstreamer0.10-plugins-base 0.10.6-1      GStreamer plugins from the "base" 
ii  gstreamer0.10-plugins-good 0.10.2-1      GStreamer plugins from the "good" 
ii  gstreamer0.10-plugins-ugly 0.10.3-1      GStreamer plugins from the "ugly" 
ii  libart-2.0-2               2.3.17-1      Library of functions for 2D graphi
ii  libatk1.0-0                1.11.4-2      The ATK accessibility toolkit
ii  libaudiofile0              0.2.6-6       Open-source version of SGI's audio
ii  libavahi-client3           0.6.9-8+b1    Avahi client library
ii  libavahi-common3           0.6.9-8+b1    Avahi common library
ii  libavahi-glib1             0.6.9-8+b1    Avahi glib integration library
ii  libbonobo2-0               2.14.0-1      Bonobo CORBA interfaces library
ii  libbonoboui2-0             2.14.0-2      The Bonobo UI library
ii  libc6                      2.3.6-7       GNU C Library: Shared libraries
ii  libcairo2                  1.0.4-2       The Cairo 2D vector graphics libra
ii  libdbus-1-2                0.61-5        simple interprocess messaging syst
ii  libdbus-glib-1-2           0.61-5        simple interprocess messaging syst
ii  libesd0                    0.2.36-3      Enlightened Sound Daemon - Shared 
ii  libexpat1                  1.95.8-3.2    XML parsing C library - runtime li
ii  libfontconfig1             2.3.2-5.1     generic font configuration library
ii  libfreetype6               2.1.10-3      FreeType 2 font engine, shared lib
ii  libgconf2-4                2.14.0-1      GNOME configuration database syste
ii  libgcrypt11                1.2.2-1       LGPL Crypto library - runtime libr
ii  libglade2-0                1:2.5.1-2     library to load .glade files at ru
ii  libglib2.0-0               2.10.2-2      The GLib library of C routines
ii  libgnome-keyring0          0.4.9-1       GNOME keyring services library
ii  libgnome2-0                2.14.1-1      The GNOME 2 library - runtime file
ii  libgnomecanvas2-0          2.14.0-2      A powerful object-oriented display
ii  libgnomeui-0               2.14.1-1      The GNOME 2 libraries (User Interf
ii  libgnomevfs2-0             2.14.1-1      GNOME virtual file-system (runtime
ii  libgnutls13                1.3.5-1+b1    the GNU TLS library - runtime libr
ii  libgpg-error0              1.2-1         library for common error values an
ii  libgpod0                   0.3.2-1       a library to read and write songs 
ii  libgstreamer0.10-0         0.10.5-1      Core GStreamer libraries and eleme
ii  libgtk2.0-0                2.8.17-2      The GTK+ graphical user interface 
ii  libhal1                    0.5.7-2       Hardware Abstraction Layer - share
ii  libice6                    1:1.0.0-3     X11 Inter-Client Exchange library
ii  libjpeg62                  6b-12         The Independent JPEG Group's JPEG 
ii  libmusicbrainz4c2a         2.1.2-4       Second generation incarnation of t
ii  libnautilus-burn2          2.12.3-2      Nautilus Burn Library - runtime ve
ii  libnotify1                 0.3.2-4       sends desktop notifications to a n
ii  liborbit2                  1:2.14.0-1    libraries for ORBit2 - a CORBA ORB
ii  libpango1.0-0              1.12.1-2      Layout and rendering of internatio
ii  libpng12-0                 1.2.8rel-5.1  PNG library - runtime
ii  libpopt0                   1.7-5         lib for parsing cmdline parameters
ii  libsm6                     1:1.0.0-4     X11 Session Management library
ii  libsoup2.2-8               2.2.92-1      an HTTP library implementation in 
ii  libtasn1-2                 1:0.2.17-2    Manage ASN.1 structures (runtime)
ii  libtotem-plparser0         1.2.1-4       Totem Playlist Parser library - ru
ii  libx11-6                   2:1.0.0-6     X11 client-side library
ii  libxcursor1                1.1.5.2-5     X cursor management library
ii  libxext6                   1:1.0.0-4     X11 miscellaneous extension librar
ii  libxfixes3                 1:3.0.1.2-4   X11 miscellaneous 'fixes' extensio
ii  libxi6                     1:1.0.0-5     X11 Input extension library
ii  libxinerama1               1:1.0.1-4     X11 Xinerama extension library
ii  libxml2                    2.6.24.dfsg-1 GNOME XML library
ii  libxrandr2                 2:1.1.0.2-4   X11 RandR extension library
ii  libxrender1                1:0.9.0.2-4   X Rendering Extension client libra
ii  zlib1g                     1:1.2.3-11    compression library - runtime

Versions of packages rhythmbox recommends:
ii  avahi-daemon                  0.6.9-8+b1 Avahi mDNS/DNS-SD daemon
ii  scrollkeeper                  0.3.14-11  A free electronic cataloging syste
ii  yelp                          2.14.1-1   Help browser for GNOME 2

-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rhy.patch
Type: text/x-c
Size: 621 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/pkg-gnome-maintainers/attachments/20060506/f2fdf53c/rhy.bin


More information about the Pkg-gnome-maintainers mailing list