Bug#751634: /usr/lib/xbmc/xbmc.bin: XBMC aborts when scrolling over some directory

Sjors Gielen sjors at cacofonix.sjorsgielen.nl
Fri May 30 23:40:10 UTC 2014


Package: xbmc-bin
Version: 2:11.0~git20120510.82388d5-1+b1
Severity: important
File: /usr/lib/xbmc/xbmc.bin

Since upgrading from Wheezy to Jessie, xbmc has started to crash (sometimes
SIGABRT, sometimes SIGSEGV) while scrolling through a directory of videos that
previously worked fine. The specific directory it crashes on tends to change a
bit, but there is one that has always made XBMC crash until now. Next to the
crash itself, this also means I cannot scroll past the directory in question,
unless I connect a mouse, therefore filing as important.

I've tried to gather as much information as I could without rebuilding the
package with debugging symbols and checking the source. The steps to reproduce
are not very helpful, but including them for completeness as follows:

1. Start Xbmc and control it through the API (I use 'xbmc_control' for this).
I doubt this matters, but noting anyway.
2. From the Home screen, use "right" and "left" inputs to go to Movies.
3. Press Down, go right to Files, press Select.
4. Scroll through the list of movies. In my case, I scroll 2 down, select, 3
down, select, 5 down, select.
5. At the moment I start scrolling through this list (by pressing "down"), Xbmc
aborts.

I've enabled Xbmc's debug logging and connected a Gdb instance. The moment I
press the down key, Gdb reports SIGABRT or SIGSEGV (it differs). One stack
trace I captured looks like pasted below. Considering the symptoms I think
chances are high this is some generic memory corruption and if this bug is not
already fixed in newer versions of xbmc, it probably needs to be upstreamed.

(gdb) bt
#0  0x00007fecbe130064 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fecbe131c00 in malloc () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007fecbe6bb07d in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007fecbe6bb179 in operator new[](unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00000000008d7fbb in CBaseTexture::Allocate(unsigned int, unsigned int, unsigned int) ()
#5  0x00000000008d86ec in CBaseTexture::LoadFromFile(CStdStr<char> const&, unsigned int, unsigned int, bool, unsigned int*, unsigned int*) ()
#6  0x0000000000d9f35c in CImageLoader::DoWork() ()
#7  0x0000000000714649 in CJobWorker::Process() ()
#8  0x0000000000d204e2 in CThread::staticThread(void*) ()
#9  0x00007fecc4908b50 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#10 0x00007fecbe1920ed in clone () from /lib/x86_64-linux-gnu/libc.so.6
#11 0x0000000000000000 in ?? ()
(gdb) info threads
  Id   Target Id         Frame 
* 23   Thread 0x7feca2a76700 (LWP 3046) "xbmc.bin" 0x00007fecbe130064 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
  11   Thread 0x7fecae6ae700 (LWP 2543) "xbmc.bin" 0x00007fecbe1874a3 in poll () from /lib/x86_64-linux-gnu/libc.so.6
  10   Thread 0x7fecadead700 (LWP 2547) "xbmc.bin" 0x00007fecbe187571 in ppoll () from /lib/x86_64-linux-gnu/libc.so.6
  9    Thread 0x7fecacc92700 (LWP 2549) "xbmc.bin" 0x00007fecc31c2201 in ?? () from /usr/lib/x86_64-linux-gnu/libsqlite3.so.0
  8    Thread 0x7feca3ffe700 (LWP 2550) "xbmc.bin" 0x00007fecbe18bbe3 in select () from /lib/x86_64-linux-gnu/libc.so.6
  7    Thread 0x7fecad6ac700 (LWP 2555) "xbmc.bin" 0x00007fecbe18bbe3 in select () from /lib/x86_64-linux-gnu/libc.so.6
  6    Thread 0x7feca2275700 (LWP 2556) "xbmc.bin" 0x00007fecbe1874a3 in poll () from /lib/x86_64-linux-gnu/libc.so.6
  5    Thread 0x7feca1a74700 (LWP 2557) "xbmc.bin" 0x00007fecbe18bbe3 in select () from /lib/x86_64-linux-gnu/libc.so.6
  4    Thread 0x7feca1273700 (LWP 2558) "xbmc.bin" 0x00007fecbe18bbe3 in select () from /lib/x86_64-linux-gnu/libc.so.6
  3    Thread 0x7fec9bfff700 (LWP 2560) "xbmc.bin" 0x00007fecbe18bbe3 in select () from /lib/x86_64-linux-gnu/libc.so.6
  2    Thread 0x7fec9b7fe700 (LWP 2561) "xbmc.bin" 0x00007fecbe18bbe3 in select () from /lib/x86_64-linux-gnu/libc.so.6
  1    Thread 0x7fecc89637a0 (LWP 2529) "xbmc.bin" 0x00007fecbe1874a3 in poll () from /lib/x86_64-linux-gnu/libc.so.6

The debug log mentions, apart from the import that it is doing at the same
time, only the incoming JSONRPC request to press "Input.down" and that the
"down" (f081) key was indeed pressed. Also, some "Thread Jobworker start,
auto detete: 1" but I don't know if this is related to the key press or to
the import step. It's worth noting I saw this crash happen also when the
importer was not running at the same time.

I'll see if I have time to update to the newest version of Xbmc in unstable,
and build it with debugging symbols and maybe the address sanitizer to see if
I can gather more information about this bug to triage it upstream.

-- System Information:
Debian Release: 7.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

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

Versions of packages xbmc-bin depends on:
ii  libasound2                1.0.25-4
ii  libavahi-client3          0.6.31-2
ii  libavahi-common3          0.6.31-2
ii  libavcodec53              6:0.8.10-1
ii  libavfilter2              6:0.8.10-1
ii  libavformat53             6:0.8.10-1
ii  libavutil51               6:0.8.10-1
ii  libbluetooth3             4.99-2
ii  libbz2-1.0                1.0.6-4
ii  libc6                     2.13-38+deb7u1
ii  libcdio13                 0.83-4
ii  libcurl3-gnutls           7.26.0-1+wheezy9
ii  libdbus-1-3               1.6.8-1+deb7u1
ii  libexpat1                 2.1.0-1+deb7u1
ii  libfontconfig1            2.9.0-7.1
ii  libfreetype6              2.4.9-1.1
ii  libfribidi0               0.19.2-3
ii  libgcc1                   1:4.7.2-5
ii  libgcrypt11               1.5.0-5+deb7u1
ii  libgl1-mesa-glx [libgl1]  8.0.5-4+deb7u2
ii  libglew1.7                1.7.0-3
ii  libglu1-mesa [libglu1]    8.0.5-4+deb7u2
ii  libhal-storage1           0.5.14-8
ii  libhal1                   0.5.14-8
ii  libjasper1                1.900.1-13
ii  libjpeg8                  8d-1
ii  liblzo2-2                 2.06-1
ii  libmicrohttpd10           0.9.20-1+deb7u1
ii  libmysqlclient18          5.5.37-0+wheezy1
ii  libpcre3                  1:8.30-5
ii  libpcrecpp0               1:8.30-5
ii  libplist1                 1.8-1
ii  libpng12-0                1.2.49-1
ii  libpostproc52             6:0.8.10-1
ii  libpulse0                 2.0-6.1
ii  libpython2.7              2.7.3-6+deb7u2
ii  libsamplerate0            0.1.8-5
ii  libsdl-image1.2           1.2.12-2
ii  libsdl-mixer1.2           1.2.12-3
ii  libsdl1.2debian           1.2.15-5
ii  libshairport1             1.2.1~git20120110.aeb4987-2
ii  libsmbclient              2:3.6.6-6+deb7u3
ii  libsqlite3-0              3.7.13-1+deb7u1
ii  libssl1.0.0               1.0.1e-2+deb7u9
ii  libstdc++6                4.7.2-5
ii  libswscale2               6:0.8.10-1
ii  libtiff4                  3.9.6-11
ii  libtinyxml2.6.2           2.6.2-1
ii  libudev0                  175-7.2
ii  libva-glx1                1.0.15-4
ii  libva1                    1.0.15-4
ii  libx11-6                  2:1.5.0-1+deb7u1
ii  libxext6                  2:1.3.1-2+deb7u1
ii  libxmu6                   2:1.1.1-1
ii  libxrandr2                2:1.3.2-2+deb7u1
ii  libxt6                    1:1.1.3-1+deb7u1
ii  libyajl2                  2.0.4-2
ii  zlib1g                    1:1.2.7.dfsg-13

Versions of packages xbmc-bin recommends:
ii  libass4         0.10.0-3
ii  libbluray1      1:0.2.2-1
ii  libcec1         1.6.2-1.1
ii  libcrystalhd3   1:0.0~git20110715.fdd2f19-9
ii  libflac8        1.2.1-6
ii  libmad0         0.15.1b-7
ii  libmodplug1     1:0.8.8.4-3+deb7u1+git20130828
ii  libmp3lame0     3.99.5+repack1-3
ii  libmpeg2-4      0.4.1-3
ii  libnfs1         1.3.0-2
ii  libogg0         1.3.0-4
ii  librtmp0        2.4+20111222.git4e06e21-1
ii  libvdpau1       0.4.1-7
ii  libvorbis0a     1.3.2-1.3
ii  libvorbisenc2   1.3.2-1.3
ii  libvorbisfile3  1.3.2-1.3

xbmc-bin suggests no packages.

-- no debconf information



More information about the pkg-multimedia-maintainers mailing list