Bug#453076: vlc: dies with "corrupted double-linked list" when scanning SAP sources

Vincent McIntyre Vince.McIntyre at atnf.csiro.au
Tue Nov 27 07:26:11 UTC 2007


Package: vlc
Version: 0.8.6-svn20061012.debian-5etch1
Severity: normal

*** Please type your report below this line ***

This system is running pure etch, with no backports.

$ strace -o /tmp/vlc.strace vlc

    View->Playlist
       Manage->Services Discovery ->Manage Playlists->SAP Announcements

The application updates the count of sources in the lower left of the
Playlist window, and icons start appearing. But then the application
crashes, with the on-screen error message

** (.:22406): CRITICAL **: gtk_pizza_set_size: assertion `pizza != NULL' failed
*** glibc detected *** free(): invalid next size (normal): 0x08373888 ***


in the strace, I see this:
$ tail /tmp/vlc.strace
gettimeofday({1196138552, 947365}, NULL) = 0
poll([{fd=4, events=POLLIN, revents=POLLIN}, {fd=6, events=POLLIN}], 2, 100) = 1
read(4, "A", 1)                         = 1
gettimeofday({1196138553, 13120}, NULL) = 0
open("/dev/tty", O_RDWR|O_NONBLOCK|O_NOCTTY) = 23
writev(23, [{"*** glibc detected *** ", 23}, {"corrupted double-linked list", 28}, {": 0x", 4}, {"0839cbf8", 8}, {" ***\n", 5}], 5) = 68
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
tgkill(21006, 21006, SIGABRT)           = 0
--- SIGABRT (Aborted) @ 0 (0) ---
+++ killed by SIGABRT +++



I tried the G_SLICE trick mentioned in one of the other bugs
It appears this allowed the list compilation to get farther but it dies
in a similar fashion.

$ G_SLICE=always-malloc strace -o /tmp/vlc.strace.2  vlc

** (.:22518): CRITICAL **: gtk_pizza_set_size: assertion `pizza != NULL' failed

** (.:22518): CRITICAL **: gtk_pizza_set_size: assertion `pizza != NULL' failed
*** glibc detected *** free(): invalid next size (fast): 0x08364548 ***

The strace is slightly different though:
$ tail /tmp/vlc.strace.2
gettimeofday({1196147051, 460409}, NULL) = 0
poll([{fd=4, events=POLLIN, revents=POLLIN}, {fd=6, events=POLLIN}], 2, 99) = 1
read(4, "A", 1)                         = 1
gettimeofday({1196147051, 533148}, NULL) = 0
open("/dev/tty", O_RDWR|O_NONBLOCK|O_NOCTTY) = 23
writev(23, [{"*** glibc detected *** ", 23}, {"free(): invalid next size (fast)", 32}, {": 0x", 4}, {"08364548", 8}, {" ***\n", 5}], 5) = 72
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
tgkill(22518, 22518, SIGABRT)           = 0
--- SIGABRT (Aborted) @ 0 (0) ---
+++ killed by SIGABRT +++


One more attempt with -v yeilded another wrinkle

    $ strace -o /tmp/vlc.strace.3 vlc -v
    VLC media player 0.8.6a Janus

    ** (.:22661): CRITICAL **: gtk_pizza_set_size: assertion `pizza != NULL' failed

    ** (.:22661): CRITICAL **: gtk_pizza_set_size: assertion `pizza != NULL' failed
    [00000288] sap private warning: too short SAP packet

    [00000288] sap private warning: too short SAP packet

    [00000288] sap private warning: too short SAP packet

    [00000288] sap private warning: too short SAP packet

    [00000288] sap private warning: too short SAP packet

    *** glibc detected *** free(): invalid next size (normal): 0x08365758 ***

The messages about "gtk_pizza" are sent to the tty well before the failure.
    $ tail /tmp/vlc.strace.3
    write(6, "8\30\5\0\207\1 \4\4\0\10\0\0\0\0\0\0\0\0\0008\0\4\0\210"..., 68) = 68
    ioctl(6, FIONREAD, [0])                 = 0
    gettimeofday({1196147728, 621895}, NULL) = 0
    poll([{fd=4, events=POLLIN}, {fd=6, events=POLLIN}], 2, 0) = 0
    open("/dev/tty", O_RDWR|O_NONBLOCK|O_NOCTTY) = 23
    writev(23, [{"*** glibc detected *** ", 23}, {"free(): invalid next size (norma"..., 34}, {": 0x", 4}, {"08365758", 8}, {" ***\n", 5}], 5) = 74
    rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
    tgkill(22661, 22661, SIGABRT)           = 0
    --- SIGABRT (Aborted) @ 0 (0) ---
    +++ killed by SIGABRT +++


On the second attempt
    $ strace -o /tmp/vlc.strace.4 vlc -v

    VLC media player 0.8.6a Janus

    ** (.:22675): CRITICAL **: gtk_pizza_set_size: assertion `pizza != NULL' failed

    ** (.:22675): CRITICAL **: gtk_pizza_set_size: assertion `pizza != NULL' failed
    [00000288] sap private warning: too short SAP packet

    [00000288] sap private warning: too short SAP packet

    [00000288] sap private warning: too short SAP packet

    [00000288] sap private warning: too short SAP packet

    [00000288] sap private warning: too short SAP packet

    [00000288] sap private warning: too short SAP packet

    [00000288] sap private warning: too short SAP packet

    [00000288] sap private warning: too short SAP packet


    signal 2 received, terminating vlc - do it again in case it gets stuck
    user insisted too much, dying badly

The application wedged itself and required multiple ^c's to kill it.

    $ tail -20 /tmp/vlc.strace.4
    time(NULL)                              = 1196147792
    write(2, "signal 2 received, terminating v"..., 71) = 71
    sigreturn()                             = ? (mask now [])
    futex(0xb7d374c0, FUTEX_WAIT, 2, NULL)  = -1 EINTR (Interrupted system call)
    --- SIGINT (Interrupt) @ 0 (0) ---
    time(NULL)                              = 1196147794
    sigreturn()                             = ? (mask now [])
    futex(0xb7d374c0, FUTEX_WAIT, 2, NULL)  = -1 EINTR (Interrupted system call)
    --- SIGINT (Interrupt) @ 0 (0) ---
    time(NULL)                              = 1196147798
    rt_sigaction(SIGINT, {SIG_DFL}, {0x8048950, [INT], SA_RESTART}, 8) = 0
    rt_sigaction(SIGHUP, {SIG_DFL}, {0x8048950, [HUP], SA_RESTART}, 8) = 0
    rt_sigaction(SIGQUIT, {SIG_DFL}, {0x8048950, [QUIT], SA_RESTART}, 8) = 0
    rt_sigaction(SIGALRM, {SIG_DFL}, {SIG_IGN}, 8) = 0
    rt_sigaction(SIGPIPE, {SIG_DFL}, {SIG_IGN}, 8) = 0
    write(2, "user insisted too much, dying ba"..., 36) = 36
    rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
    tgkill(22675, 22675, SIGABRT)           = 0
    --- SIGABRT (Aborted) @ 0 (0) ---
    +++ killed by SIGABRT +++



This might be related to bug 444300, I'm not sure.

I have kept the straces and xorg.conf, let me know if you need to see them.

Cheers
Vince


-- System Information:
Debian Release: 4.0
    APT prefers stable
    APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-4-686
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)

Versions of packages vlc depends on:
ii  libaa1   1.4p5-30                        ascii art library
ii  libatk1. 1.12.4-3                        The ATK accessibility toolkit
ii  libc6    2.3.6.ds1-13etch2               GNU C Library: Shared libraries
ii  libcaca0 0.99.beta11.debian-2            colour ASCII art library
ii  libcairo 1.2.4-4                         The Cairo 2D vector graphics libra
ii  libcdio6 0.76-1                          library to read and control CD-ROM
ii  libcucul 0.99.beta11.debian-2            low-level Unicode character drawin
ii  libdbus- 1.0.2-1                         simple interprocess messaging syst
ii  libdbus- 0.71-3                          simple interprocess messaging syst
ii  libfontc 2.4.2-1.2                       generic font configuration library
ii  libfreet 2.2.1-5+etch1                   FreeType 2 font engine, shared lib
ii  libfribi 0.10.7-4                        Free Implementation of the Unicode
ii  libgcc1  1:4.1.1-21                      GCC support library
ii  libgl1-m 6.5.1-0.6                       A free implementation of the OpenG
ii  libglib2 2.12.4-2                        The GLib library of C routines
ii  libglu1- 6.5.1-0.6                       The OpenGL utility library (GLU)
ii  libgtk2. 2.8.20-7                        The GTK+ graphical user interface 
ii  libice6  1:1.0.1-2                       X11 Inter-Client Exchange library
ii  libiso96 0.76-1                          library to work with ISO9660 files
ii  libjpeg6 6b-13                           The Independent JPEG Group's JPEG 
ii  libnotif 0.4.3-1                         sends desktop notifications to a n
ii  libpango 1.14.8-5                        Layout and rendering of internatio
ii  libpng12 1.2.15~beta5-1                  PNG library - runtime
ii  libsdl-i 1.2.5-2+b1                      image loading library for Simple D
ii  libsdl1. 1.2.11-8                        Simple DirectMedia Layer
ii  libsm6   1:1.0.1-3                       X11 Session Management library
ii  libstdc+ 4.1.1-21                        The GNU Standard C++ Library v3
ii  libtar   1.2.11-4                        C library for manipulating tar arc
ii  libtiff4 3.8.2-7                         Tag Image File Format (TIFF) libra
ii  libvcdin 0.7.23-3                        library to extract information fro
ii  libvlc0  0.8.6-svn20061012.debian-5etch1 multimedia player and streamer lib
ii  libwxbas 2.6.3.2.1.5                     wxBase library (runtime) - non-GUI
ii  libwxgtk 2.6.3.2.1.5                     wxWidgets Cross-platform C++ GUI t
ii  libx11-6 2:1.0.3-7                       X11 client-side library
ii  libxcurs 1.1.7-4                         X cursor management library
ii  libxext6 1:1.0.1-2                       X11 miscellaneous extension librar
ii  libxfixe 1:4.0.1-5                       X11 miscellaneous 'fixes' extensio
ii  libxi6   1:1.0.1-4                       X11 Input extension library
ii  libxiner 1:1.0.1-4.1                     X11 Xinerama extension library
ii  libxosd2 2.2.14-1.3                      X On-Screen Display library - runt
ii  libxrand 2:1.1.0.2-5                     X11 RandR extension library
ii  libxrend 1:0.9.1-3                       X Rendering Extension client libra
ii  libxv1   1:1.0.2-1                       X11 Video extension library
ii  libxxf86 1:1.0.1-2                       X11 XFree86 video mode extension l
ii  ttf-deja 2.15-1                          Vera font family derivate with add
ii  vlc-nox  0.8.6-svn20061012.debian-5etch1 multimedia player and streamer (wi
ii  zlib1g   1:1.2.3-13                      compression library - runtime

Versions of packages vlc recommends:
pn  videolan-doc                  <none>     (no description available)

-- no debconf information





More information about the pkg-multimedia-maintainers mailing list