Subject: Bug#924496: 'realloc(): invalid next size: 0x000055a779ef2170' crash when opening iPod w/ ~12000 tracks

From: Fred Korz <[email-masked]>
Date: Wed, 13 Mar 2019 12:34:29 -0400

Package: rhythmbox
Version: 3.4.3-2
Severity: important

Dear Maintainer,

   * What led up to the situation?

Plugged in a "classic" iPod with ~12000 tracks
Selected it in Rhythmbox's interface
It began reading the tracks ("syncing" appearing on the iPod's display)
Sometime after ~7000 tracks, rhythmbox aborted.

   * What exactly did you do (or not do) that was effective (or
     ineffective)?

After 2 attempts when started in the GUI, started it from commandline to be able to capture stdout & stderr.

   * What was the outcome of this action?

Fault message, backtrace, and memory map, excerpt below:

$ type rhythmbox
rhythmbox is /usr/bin/rhythmbox
$ rhythmbox

(rhythmbox:27828): Rhythmbox-WARNING **: 11:43:48.028: Unable to grab media player keys: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SettingsDaemon.MediaKeys was not provided by any .service files
*** Error in `rhythmbox': realloc(): invalid next size: 0x000055a779ef2170 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x70bcb)[0x7fe1b5391bcb]
/lib/x86_64-linux-gnu/libc.so.6(+0x76f96)[0x7fe1b5397f96]
/lib/x86_64-linux-gnu/libc.so.6(+0x7a10c)[0x7fe1b539b10c]
/lib/x86_64-linux-gnu/libc.so.6(realloc+0x159)[0x7fe1b539c6e9]
/usr/lib/x86_64-linux-gnu/libtdb.so.1(+0x6caa)[0x7fe1b2e1ecaa]
/usr/lib/x86_64-linux-gnu/libtdb.so.1(+0x6fab)[0x7fe1b2e1efab]
/usr/lib/x86_64-linux-gnu/libtdb.so.1(tdb_store+0x4e)[0x7fe1b2e1d36e]
/usr/lib/x86_64-linux-gnu/librhythmbox-core.so.10(+0xcfc3a)[0x7fe1b6b93c3a]
/usr/lib/x86_64-linux-gnu/librhythmbox-core.so.10(rhythmdb_metadata_cache_store+0x129)[0x7fe1b6b946f9]
/usr/lib/x86_64-linux-gnu/librhythmbox-core.so.10(+0xc15fb)[0x7fe1b6b855fb]
/usr/lib/x86_64-linux-gnu/librhythmbox-core.so.10(+0xec2da)[0x7fe1b6bb02da]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x155)[0x7fe1b5929395]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4c760)[0x7fe1b5929760]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x2c)[0x7fe1b59297ec]
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0(g_application_run+0x1fd)[0x7fe1b28f4cad]
/usr/lib/x86_64-linux-gnu/librhythmbox-core.so.10(rb_application_run+0x349)[0x7fe1b6b079b9]
rhythmbox(main+0xb7)[0x55a773a06d97]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1)[0x7fe1b53412b1]
rhythmbox(_start+0x2a)[0x55a773a06dfa]
======= Memory map: ========
55a773a06000-55a773a08000 r-xp 00000000 fe:01 16646749                   /usr/bin/rhythmbox
55a773c07000-55a773c08000 r--p 00001000 fe:01 16646749                   /usr/bin/rhythmbox
55a773c08000-55a773c09000 rw-p 00002000 fe:01 16646749                   /usr/bin/rhythmbox
55a775807000-55a779ff6000 rw-p 00000000 00:00 0                          [heap]
7fe1796de000-7fe17a02a000 rw-s 00000000 fe:01 25821306                   /usr/local/google/home/korz/.cache/rhythmbox/metadata/generic-player.tdb
7fe17a02a000-7fe17a02b000 ---p 00000000 00:00 0
7fe17a02b000-7fe17a82b000 rw-p 00000000 00:00 0
7fe17ae1e000-7fe17c000000 r--p 00000000 fe:01 20451083                   /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc
7fe17c000000-7fe17c022000 rw-p 00000000 00:00 0
7fe17c022000-7fe180000000 ---p 00000000 00:00 0
7fe180000000-7fe180022000 rw-p 00000000 00:00 0
7fe180022000-7fe184000000 ---p 00000000 00:00 0
7fe18447f000-7fe184480000 ---p 00000000 00:00 0
7fe184480000-7fe184c80000 rw-p 00000000 00:00 0

   * What outcome did you expect instead?

Previous versions of rhythmbox had been able to sync with and play content from this iPod.  Since last used rhythmbox with this iPod sometime in 2018 I've not changed the contents of the iPod.

-- System Information:
Debian Release: rodete
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.20-1rodete1-amd64 (SMP w/12 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages rhythmbox depends on:
ii  dbus                            1.12.2-1
ii  gstreamer1.0-plugins-base       1.14.0-1
ii  gstreamer1.0-plugins-good       1.14.0-4
ii  gstreamer1.0-x                  1.14.0-1
ii  libc6                           2.24-12
ii  libglib2.0-0                    2.56.0-4
ii  libgstreamer-plugins-base1.0-0  1.14.0-1
ii  libgstreamer1.0-0               1.14.0-1
ii  libgtk-3-0                      3.24.2-3
ii  libpeas-1.0-0                   1.22.0-1
ii  librhythmbox-core10             3.4.3-2
ii  libx11-6                        2:1.6.7-1
ii  media-player-info               23-1
ii  rhythmbox-data                  3.4.3-2

Versions of packages rhythmbox recommends:
ii  avahi-daemon                    0.6.32-2
ii  cinnamon [notification-daemon]  3.6.7-8
ii  gstreamer1.0-plugins-ugly       1.14.0-1
ii  gstreamer1.0-pulseaudio         1.14.0-4
ii  gvfs-backends                   1.30.4-1
ii  rhythmbox-plugins               3.4.3-2
ii  yelp                            3.22.0-1

Versions of packages rhythmbox suggests:
pn  gnome-codec-install          <none>
ii  gnome-control-center         1:3.22.2-3
ii  gstreamer1.0-plugins-bad     1.14.0-1
pn  rhythmbox-plugin-cdrecorder  <none>

-- no debconf information