Re: vlc: free(): invalid pointer

Martin Blank <[email protected]>
Newsgroups gmane.linux.suse.multimedia.german
Message-ID <[email protected]>
Martin Blank schrieb:
> Manfred Tremmel schrieb:
>> Am Samstag, 10. Oktober 2009 schrieb Martin Blank:
>>> Hallo zusammen,
>>>
>>> Ich habe heute via smart mein System (openSuSE 11.1) aktualisiert.
>>>  Dabei wurde auch vlc auf die gerade einmal 11 Stunden alte Version
>>>  vlc-1.0.2-0.pm.5.7 gedreht. Seither bekomme ich beim Start von vlc
>>>  folgende Meldung:
>>>
>>> VLC media player 1.0.2 Goldeneye
>>> *** glibc detected *** vlc: free(): invalid pointer: 0xb64f6748 ***
>>>
>>> Danach nichts! vlc hängt und muß mit kill -9 abgeschossen werden.
>>>
>>> Wie kann das Problem behoben werden?
>> Wir hatten kürzlich einen ähnlichen Fall, da war ffmpeg nicht auf dem 
>> aktuellen Stand, schau doch mal nach, ob die Pakete dem aktuellen Stand 
>> bei Packman entsprechen.
>>
> 
> Nach erneutem Upgrade auf die vor sechs Stunden bereitgestellte Version
> vlc-1.0.2-0.pm.5.9 leider keine Änderung.
> 
> Beim Starten von vlc erscheint die Fehlermeldung:
> *** glibc detected *** vlc: free(): invalid pointer: 0xb646c748 ***
> Die GUI erscheint nicht und der Prozess kann nur mittels "kill -9"
> beendet werden.
> 
> Die ffmpeg-Version ist: ffmpeg-0.5.20024svn-20090925.pm.20090925.10
> (ebenfalls auf den Stand vor ungegfähr sechs Stunden aktualisiert).
> 
> Der Start mit "vlc -vvv" ergibt folgende Ausgabe:
> VLC media player 1.0.2 Goldeneye
> [0x804f530] main libvlc debug: VLC media player - version 1.0.2
> Goldeneye - (c) 1996-2009 the VideoLAN team
> [0x804f530] main libvlc debug: libvlc was configured with ./configure
> '--host=i686-suse-linux-gnu' '--build=i686-suse-linux-gnu'
> '--target=i586-suse-linux' '--program-prefix=' '--prefix=/usr'
> '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin'
> '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include'
> '--libdir=/usr/lib' '--libexecdir=/usr/lib' '--localstatedir=/var'
> '--sharedstatedir=/usr/com' '--mandir=/usr/share/man'
> '--infodir=/usr/share/info' '--enable-aa' '--enable-asademux'
> '--enable-caca' '--enable-cddax' '--enable-cyberlink' '--enable-dc1394'
> '--enable-dirac' '--enable-directfb' '--enable-dv' '--enable-dvbpsi'
> '--enable-dvdread' '--enable-faad' '--enable-flac' '--enable-galaktos'
> '--enable-ggi' '--enable-gnomevfs' '--enable-goom' '--enable-id3tag'
> '--enable-jack' '--enable-libass' '--enable-lirc' '--enable-mozilla'
> '--enable-opencv' '--enable-portaudio' '--enable-pvr' '--enable-real'
> '--enable-realrtsp' '--enable-shine' '--enable-shout'
> '--enable-snapshot' '--enable-switcher' '--enable-svg' '--enable-theora'
> '--enable-twolame' '--enable-v4l' '--enable-vcdx' '--enable-wma-fixed'
> '--enable-xosd' '--enable-xvmc' '--with-live555-tree=/usr/lib/live'
> '--enable-debug' '--enable-libtool' '--enable-release'
> 'build_alias=i686-suse-linux-gnu' 'host_alias=i686-suse-linux-gnu'
> 'target_alias=i586-suse-linux' 'CFLAGS=-march=i586 -mtune=i686
> -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector
> -funwind-tables -fasynchronous-unwind-tables' 'CXXFLAGS=-march=i586
> -mtune=i686 -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2
> -fstack-protector -funwind-tables -fasynchronous-unwind-tables'
> [0x804f530] main libvlc debug: translation test: code is "de"
> [0x804f530] main libvlc debug: checking plugin modules
> [0x804f530] main libvlc debug: loading plugins cache file
> /home/joerg/.cache/vlc/plugins-04041e.dat
> [0x804f530] main libvlc debug: recursively browsing `/usr/lib/vlc'
> *** glibc detected *** vlc: free(): invalid pointer: 0xb641e748 ***
> 
> 

Inzwischen konnte ich für die Version vlc-1.0.2-0.pm.5.9 den Fehler
genauer eingrenzen:

Beim Starten wird offenbar der Verzeichnisbaum /usr/lib/vlc rekursiv
nach ladbaren Modulen durchsucht. Sobald er an die Shared Library

/usr/lib/vlc/meta_engine/libtaglib_plugin.so

kommt und in der Funktion module_Load (Datei ./src/modules/os.c) mittels
dlopen zu laden versucht, kommt es zu dem beschriebenen Problem. In
dlopen wird aus mir nicht ersichtlichen Gründen ein free() mit dem
ungültigen Zeiger ausgeführt.

Entfernt man die Datei libtaglib_plugin.so aus dem Verzeichnis
/usr/lib/vlc, so kann man vlc ohne Probleme starten. Das kann aber ja
wohl nicht wirklich so gewollt sein.

Für Hinweise, woran das hier beschriebene Verhalten bzgl. dieses Plugins
 liegen könnte, wäre ich sehr dankbar.


-- 
Mit freundlichen Grüßen

Martin Blank
-- 
To unsubscribe, e-mail: opensuse-multimedia-de+unsubscribe-stAJ6ESoqRxg9hUCZPvPmw@public.gmane.org
For additional commands, e-mail: opensuse-multimedia-de+help-stAJ6ESoqRxg9hUCZPvPmw@public.gmane.org
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.