vlc segmentation fault on linux 64 bit. happens when loading certain file types
VLC gives a segmentation fault when loading certain video file types. I've noticed mp4s, and some avis for certain. It's from a git build uname -a for my system: Linux hostname 3.2.0-2-amd64 #1 (closed) SMP Mon Jun 11 17:24:18 UTC 2012 x86_64 GNU/Linux
configure for the build: ../configure --enable-xvideo --enable-sdl --enable-avcodec --enable-avformat --enable-swscale --enable-mad --enable-a52 --enable-libmpeg2 --enable-dvdnav --enable-faad --enable-vorbis --enable-ogg --enable-theora --enable-mkv --enable-freetype --enable-fribidi --enable-speex --enable-flac --enable-live555 --enable-caca --enable-skins --enable-skins2 --enable-alsa --enable-qt4 --enable-ncurses --enable-x264 --enable-libva --enable-dxva2 --enable-libmpeg2 --enable-vorbis
stacktrace below as per instructions from IRC channel
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/john/workspace/src/vlc/build/vlc...done.
(gdb) run -vvv
Starting program: /home/john/workspace/src/vlc/build/vlc -vvv
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
VLC media player 2.1.0-git Rincewind (revision 1.3.0-git-2859-g21614a2)
[0x604358] main libvlc debug: VLC media player - 2.1.0-git Rincewind
[0x604358] main libvlc debug: Copyright © 1996-2012 the VideoLAN team
[0x604358] main libvlc debug: revision 1.3.0-git-2859-g21614a2
[0x604358] main libvlc debug: configured with ../configure '--enable-xvideo' '--enable-sdl' '--enable-avcodec' '--enable-avformat' '--enable-swscale' '--enable-mad' '--enable-a52' '--enable-dvdnav' '--enable-faad' '--enable-ogg' '--enable-theora' '--enable-mkv' '--enable-freetype' '--enable-fribidi' '--enable-speex' '--enable-flac' '--enable-live555' '--enable-caca' '--enable-skins' '--enable-skins2' '--enable-alsa' '--enable-qt4' '--enable-ncurses' '--enable-x264' '--enable-libva' '--enable-dxva2' '--enable-libmpeg2' '--enable-vorbis' '--enable-pulse'
[0x604358] main libvlc debug: searching plug-in modules
[0x604358] main libvlc debug: loading plugins cache file /home/john/workspace/src/vlc/build/src/.libs/vlc/plugins/plugins.dat
[0x604358] main libvlc warning: cannot read /home/john/workspace/src/vlc/build/src/.libs/vlc/plugins/plugins.dat (No such file or directory)
[0x604358] main libvlc debug: recursively browsing `/home/john/workspace/src/vlc/build/src/.libs/vlc/plugins'
[0x604358] main libvlc debug: saving plugins cache /home/john/workspace/src/vlc/build/src/.libs/vlc/plugins/plugins.dat
[0x604358] main libvlc debug: loading plugins cache file /home/john/workspace/src/vlc/build/modules/plugins.dat
[0x604358] main libvlc debug: recursively browsing `/home/john/workspace/src/vlc/build/modules'
[0x604358] main libvlc debug: saving plugins cache /home/john/workspace/src/vlc/build/modules/plugins.dat
[0x604358] main libvlc debug: plug-ins loaded: 420 modules
[0x604358] main libvlc debug: opening config file (/home/john/.config/vlc/vlcrc)
[0x604358] main libvlc debug: translation test: code is "C"
[0x604358] main libvlc debug: CPU has capabilities MMX 3DNow! MMXEXT SSE SSE2 SSE3 SSE4A FPU
[0x604358] main libvlc debug: looking for memcpy module: 4 candidates
[0x604358] main libvlc debug: using memcpy module "memcpymmxext"
[0x6e4698] main input debug: Creating an input for 'Media Library'
[0x6e4698] main input debug: Input is a meta file: disabling unneeded options
[0x6e4698] main input debug: using timeshift granularity of 50 MiB, in path '/tmp'
[0x6e4698] main input debug: `file/xspf-open:///home/john/.local/share/vlc/ml.xspf' gives access `file' demux `xspf-open' path `/home/john/.local/share/vlc/ml.xspf'
[0x6e4698] main input debug: creating demux: access='file' demux='xspf-open' location='/home/john/.local/share/vlc/ml.xspf' file='/home/john/.local/share/vlc/ml.xspf'
[0x6d0518] main demux debug: looking for access_demux module: 3 candidates
[0x6d0518] main demux debug: no access_demux module matching "file" could be loaded
[0x6e4698] main input debug: creating access 'file' location='/home/john/.local/share/vlc/ml.xspf', path='/home/john/.local/share/vlc/ml.xspf'
[0x6d13e8] main access debug: looking for access module: 2 candidates
[0x6d13e8] filesystem access debug: opening file `/home/john/.local/share/vlc/ml.xspf'
[0x6d13e8] main access debug: using access module "filesystem"
[0x6d2538] main stream debug: Using stream method for AStream*
[0x6d2538] main stream debug: starting pre-buffering
[0x6d2538] main stream debug: received first data after 0 ms
[0x6d2538] main stream debug: pre-buffering done 296 bytes in 0s - 5454 KiB/s
[0x6d2378] main stream debug: looking for stream_filter module: 7 candidates
[0x6d2378] main stream debug: no stream_filter module matching "any" could be loaded
[0x6d2378] main stream debug: looking for stream_filter module: 1 candidate
[0x6d2378] main stream debug: using stream_filter module "stream_filter_record"
[0x6e4698] main input debug: creating demux: access='file' demux='xspf-open' location='/home/john/.local/share/vlc/ml.xspf' file='/home/john/.local/share/vlc/ml.xspf'
[0x6d4e88] main demux debug: looking for demux module: 1 candidate
[0x6d4e88] playlist demux debug: using XSPF playlist reader
[0x6d4e88] main demux debug: using demux module "playlist"
[0x6d57a8] main demux meta debug: looking for meta reader module: 2 candidates
[0x6d57a8] lua demux meta debug: Trying Lua scripts in /home/john/.local/share/vlc/lua/meta/reader
[0x6d57a8] lua demux meta debug: Trying Lua scripts in /home/john/workspace/src/vlc/build/src/.libs/vlc/lua/meta/reader
[0x6d57a8] lua demux meta debug: Trying Lua scripts in /home/john/workspace/src/vlc/share/lua/meta/reader
[0x6d57a8] lua demux meta debug: Trying Lua playlist script /home/john/workspace/src/vlc/share/lua/meta/reader/filename.lua
[0x6d57a8] main demux meta debug: no meta reader module matching "any" could be loaded
[0x6e4698] main input debug: `file/xspf-open:///home/john/.local/share/vlc/ml.xspf' successfully opened
[0x701d78] main xml reader debug: looking for xml reader module: 1 candidate
[0x701d78] main xml reader debug: using xml reader module "xml"
[0x6d4e88] playlist demux debug: parsed 0 tracks successfully
[0x6e4698] main input debug: EOF reached
[0x6d4e88] main demux debug: removing module "playlist"
[0x6d2378] main stream debug: removing module "stream_filter_record"
[0x6d13e8] main access debug: removing module "filesystem"
[0x6d0078] main interface debug: looking for interface module: 1 candidate
[0x6d0078] main interface debug: using interface module "hotkeys"
[0x6e7858] main interface debug: looking for interface module: 1 candidate
[0x6e7858] main interface debug: using interface module "globalhotkeys"
[0x6d05b8] main interface debug: looking for interface module: 1 candidate
[0x6d05b8] dbus interface debug: listening on dbus as: org.mpris.MediaPlayer2.vlc.instance29200
[New Thread 0x7ffff48a5700 (LWP 29203)]
[0x6f0288] main playlist debug: rebuilding array of current - root Playlist
[0x6f0288] main playlist debug: playlist threads correctly activated
[0x6f0288] main playlist debug: rebuild done - 0 items, index -1
[0x6d05b8] main interface debug: using interface module "dbus"
[New Thread 0x7ffff1836700 (LWP 29204)]
[0x6cf248] main interface debug: looking for interface module: 1 candidate
[0x6cf248] main interface debug: using interface module "inhibit"
[0x604358] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[0x6f9838] main interface debug: looking for interface module: 5 candidates
[New Thread 0x7fffe9828700 (LWP 29205)]
[0x923788] main generic debug: looking for extension module: 1 candidate
[0x923788] lua generic debug: Opening Lua Extension module
[0x923788] lua generic debug: Trying Lua scripts in /home/john/.local/share/vlc/lua/extensions
[0x923788] lua generic debug: Trying Lua scripts in /home/john/workspace/src/vlc/build/src/.libs/vlc/lua/extensions
[0x923788] lua generic debug: Trying Lua scripts in /home/john/workspace/src/vlc/share/lua/extensions
[0x923788] main generic debug: using extension module "lua"
[0x6f9838] main interface debug: using interface module "qt4"
[New Thread 0x7fffd843a700 (LWP 29208)]
[New Thread 0x7fffd7c39700 (LWP 29209)]
[New Thread 0x7fffd7438700 (LWP 29210)]
[New Thread 0x7fffd6c37700 (LWP 29211)]
[Thread 0x7fffd7c39700 (LWP 29209) exited]
[Thread 0x7fffd843a700 (LWP 29208) exited]
[Thread 0x7fffd7438700 (LWP 29210) exited]
[New Thread 0x7fffd7438700 (LWP 29213)]
[Thread 0x7fffd7438700 (LWP 29213) exited]
[New Thread 0x7fffd7438700 (LWP 29214)]
[New Thread 0x7fffd843a700 (LWP 29215)]
[Thread 0x7fffd7438700 (LWP 29214) exited]
[Thread 0x7fffd6c37700 (LWP 29211) exited]
[New Thread 0x7fffd6c37700 (LWP 29216)]
[New Thread 0x7fffd7438700 (LWP 29217)]
[Thread 0x7fffd843a700 (LWP 29215) exited]
[Thread 0x7fffd7438700 (LWP 29217) exited]
[0x6f0288] main playlist debug: adding item `*.avi' ( file:///home/john/Videos/shows/*.avi )
[New Thread 0x7fffd612b700 (LWP 29218)]
[0x6f9838] qt4 interface debug: Adding a new MRL to recent ones: file:///home/john/Videos/shows/*.avi
[0x6f0288] main playlist debug: rebuilding array of current - root Playlist
[0x6f0288] main playlist debug: rebuild done - 1 items, index -1
[0x6f0288] main playlist debug: processing request item: *.avi, node: null, skip: 0
[0x6f0288] main playlist debug: resyncing on *.avi
[0x6f0288] main playlist debug: *.avi is at 0
[0x6f0288] main playlist debug: starting playback of the new playlist item
[0x6f0288] main playlist debug: resyncing on *.avi
[0x6f0288] main playlist debug: *.avi is at 0
[0x6f0288] main playlist debug: creating new input thread
[0x7fffec003b88] main input debug: Creating an input for '*.avi'
[0xb190e8] main input debug: Creating an input for '*.avi'
[New Thread 0x7fffd602a700 (LWP 29219)]
[0x7fffec003b88] main input debug: using timeshift granularity of 50 MiB, in path '/tmp'
[0x7fffec003b88] main input debug: `file:///home/john/Videos/shows/*.avi' gives access `file' demux `' path `/home/john/Videos/shows/*.avi'
[0x7fffec003b88] main input debug: creating demux: access='file' demux='' location='/home/john/Videos/shows/*.avi' file='/home/john/Videos/shows/*.avi'
[0x7fffd000b2f8] main demux debug: looking for access_demux module: 3 candidates
[0x6f9838] qt4 interface debug: IM: Setting an input
[0x7fffd000b2f8] main demux debug: no access_demux module matching "file" could be loaded
[0x7fffec003b88] main input debug: creating access 'file' location='/home/john/Videos/shows/*.avi', path='/home/john/Videos/shows/*.avi'
[0x7fffd000dc68] main access debug: looking for access module: 2 candidates
[0x7fffd000dc68] filesystem access debug: opening file `/home/john/Videos/shows/*.avi'
[0x7fffd000dc68] main access debug: using access module "filesystem"
[0x7fffec00ef08] main stream debug: Using stream method for AStream*
[0x7fffec00ef08] main stream debug: starting pre-buffering
[0x7fffec00ef08] main stream debug: received first data after 0 ms
[0x7fffec00ef08] main stream debug: pre-buffering done 1024 bytes in 0s - 16393 KiB/s
[0x7fffecc0f278] main stream debug: looking for stream_filter module: 7 candidates
[0x7fffecc0f278] main stream debug: no stream_filter module matching "any" could be loaded
[0x7fffecc0f278] main stream debug: looking for stream_filter module: 1 candidate
[0x7fffecc0f278] main stream debug: using stream_filter module "stream_filter_record"
[0x7fffec003b88] main input debug: creating demux: access='file' demux='' location='/home/john/Videos/shows/*.avi' file='/home/john/Videos/shows/*.avi'
[0x7fffec00e9c8] main demux debug: looking for demux module: 54 candidates
[0x7fffecc0f278] avi stream debug: <list 'AVI '>
[0x7fffecc0f278] avi stream debug: <list 'hdrl'>
[0x7fffecc0f278] avi stream debug: <list 'strl'>
[0x7fffecc0f278] avi stream debug: </list 'strl'>
[0x7fffecc0f278] avi stream debug: <list 'strl'>
[0x7fffecc0f278] avi stream debug: </list 'strl'>
[0x7fffecc0f278] avi stream debug: </list 'hdrl'>
[0x7fffecc0f278] avi stream debug: <list 'INFO'>
[0x7fffecc0f278] avi stream debug: </list 'INFO'>
[0x7fffecc0f278] avi stream debug: skipping movi chunk
[0x7fffecc0f278] avi stream debug: </list 'AVI '>
[0x7fffecc0f278] avi stream debug: * LIST-root size:183771620 pos:0
[0x7fffecc0f278] avi stream debug: + RIFF-AVI size:183771612 pos:0
[0x7fffecc0f278] avi stream debug: | + LIST-hdrl size:306 pos:12
[0x7fffecc0f278] avi stream debug: | | + avih size:56 pos:24
[0x7fffecc0f278] avi stream debug: | | + LIST-strl size:116 pos:88
[0x7fffecc0f278] avi stream debug: | | | + strh size:56 pos:100
[0x7fffecc0f278] avi stream debug: | | | + strf size:40 pos:164
[0x7fffecc0f278] avi stream debug: | | + LIST-strl size:106 pos:212
[0x7fffecc0f278] avi stream debug: | | | + strh size:56 pos:224
[0x7fffecc0f278] avi stream debug: | | | + strf size:30 pos:288
[0x7fffecc0f278] avi stream debug: | + LIST-INFO size:28 pos:326
[0x7fffecc0f278] avi stream debug: | | + ISFT size:16 pos:338
[0x7fffecc0f278] avi stream debug: | + JUNK size:1666 pos:362
[0x7fffecc0f278] avi stream debug: | + LIST-movi size:182421088 pos:2036
[0x7fffecc0f278] avi stream debug: | + idx1 size:1348480 pos:182423132
[0x7fffec00e9c8] avi demux debug: AVIH: 2 stream, flags HAS_INDEX IS_INTERLEAVED
[0x7fffec00e9c8] avi demux debug: stream[0] rate:23976024 scale:1000000 samplesize:0
[0x7fffec00e9c8] avi demux debug: stream[0] video(XVID) 624x352 24bpp 23.976025fps
[0x7fffec003b88] main input debug: selecting program id=0
[0x7fffec00e9c8] avi demux debug: stream[1] rate:48000 scale:1152 samplesize:0
[0x7fffec00e9c8] avi demux debug: stream[1] audio(0x55 - MPEG Audio layer 1/2/3) 2 channels 48000Hz 16bits
[0x7fffec00e9c8] avi demux debug: selected standard index for stream[0]
[0x7fffec00e9c8] avi demux debug: selected standard index for stream[1]
[0x7fffec00e9c8] avi demux debug: stream[0] created 30783 index entries
[0x7fffec00e9c8] avi demux debug: stream[1] created 53497 index entries
[0x7fffec00e9c8] avi demux debug: stream[0] length:1283 (based on index)
[0x7fffec00e9c8] avi demux debug: stream[1] length:1283 (based on index)
[0x7fffec00e9c8] main demux debug: using demux module "avi"
[0x7fffec003b88] main input debug: looking for a subtitle file in /home/john/Videos/shows/
[0x7fffecc103a8] main decoder debug: looking for decoder module: 33 candidates
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffd612b700 (LWP 29218)]
0x00007ffff6ae66f9 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0x00007ffff6ae66f9 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0x00007ffff261469d in vlclua_input_item_set_meta (L=<optimized out>)
at ../../../modules/lua/libs/input.c:350
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0x00007ffff23dda24 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0x00007ffff23e8348 in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0x00007ffff23dde7d in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x00007ffff23dd0ca in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
[#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0x00007ffff23de02f in ?? () from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
[#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0x00007ffff23d9b41 in lua_pcall ()
from /usr/lib/x86_64-linux-gnu/liblua5.1.so.0
[#8](https://code.videolan.org/videolan/vlc/-/issues/8) 0x00007ffff260b5bc in run (p_this=p_this@entry=0x7fffd0008ef8,
psz_filename=psz_filename@entry=0x7fffd0009620 "/home/john/workspace/src/vlc/share/lua/meta/reader/filename.lua", L=L@entry=0x7fffd000bab0,
luafunction=luafunction@entry=0x7ffff261d1bd "read_meta")
at ../../../modules/lua/meta.c:116
[#9](https://code.videolan.org/videolan/vlc/-/issues/9) 0x00007ffff260b731 in read_meta (p_this=0x7fffd0008ef8,
psz_filename=0x7fffd0009620 "/home/john/workspace/src/vlc/share/lua/meta/reader/filename.lua", user_data=<optimized out>)
at ../../../modules/lua/meta.c:192
[#10](https://code.videolan.org/videolan/vlc/-/issues/10) 0x00007ffff260df9c in vlclua_scripts_batch_execute (p_this=0x7fffd0008ef8,
luadirname=<optimized out>, func=0x7ffff260b6f0 <read_meta>,
user_data=0xb26000) at ../../../modules/lua/vlc.c:301
[#11](https://code.videolan.org/videolan/vlc/-/issues/11) 0x00007ffff7962581 in vlc_module_load (p_this=p_this@entry=0x7fffd0008ef8,
---Type <return> to continue, or q <return> to quit---
psz_capability=psz_capability@entry=0x7ffff799b723 "meta reader",
psz_name=<optimized out>, psz_name@entry=0x0,
b_strict=b_strict@entry=false,
probe=probe@entry=0x7ffff7961e30 <generic_start>)
at ../../src/modules/modules.c:342
[#12](https://code.videolan.org/videolan/vlc/-/issues/12) 0x00007ffff79629b4 in module_need (obj=obj@entry=0x7fffd0008ef8,
cap=cap@entry=0x7ffff799b723 "meta reader", name=name@entry=0x0,
strict=strict@entry=false) at ../../src/modules/modules.c:428
[#13](https://code.videolan.org/videolan/vlc/-/issues/13) 0x00007ffff792adf2 in InputSourceMeta (p_input=p_input@entry=0xb190e8,
p_meta=p_meta@entry=0x7fffd0011300,
p_source=<error reading variable: Unhandled dwarf expression opcode 0xfa>,
p_source=<error reading variable: Unhandled dwarf expression opcode 0xfa>)
at ../../src/input/input.c:2732
[#14](https://code.videolan.org/videolan/vlc/-/issues/14) 0x00007ffff792d75d in Init (p_input=p_input@entry=0xb190e8)
at ../../src/input/input.c:1294
[#15](https://code.videolan.org/videolan/vlc/-/issues/15) 0x00007ffff792ee00 in input_Preparse (p_parent=p_parent@entry=0x6f0288,
p_item=p_item@entry=0xb26000) at ../../src/input/input.c:199
[#16](https://code.videolan.org/videolan/vlc/-/issues/16) 0x00007ffff790ebfd in Preparse (p_item=0xb26000,
p_playlist=<optimized out>) at ../../src/playlist/preparser.c:137
[#17](https://code.videolan.org/videolan/vlc/-/issues/17) Thread (data=0x6f1620) at ../../src/playlist/preparser.c:217
[#18](https://code.videolan.org/videolan/vlc/-/issues/18) 0x00007ffff6ff4b50 in start_thread ()
from /lib/x86_64-linux-gnu/libpthread.so.0
[#19](https://code.videolan.org/videolan/vlc/-/issues/19) 0x00007ffff6b3b6dd in clone () from /lib/x86_64-linux-gnu/libc.so.6
---Type <return> to continue, or q <return> to quit---
[#20](https://code.videolan.org/videolan/vlc/-/issues/20) 0x0000000000000000 in ?? ()
(gdb)
(gdb) frame 1
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0x00007ffff261469d in vlclua_input_item_set_meta (L=<optimized out>)
at ../../../modules/lua/libs/input.c:350
350 if( !strcasecmp( pp_meta_types[i].psz_name, psz_name ) )
(gdb) list
345 #undef META_TYPE
346
347 vlc_meta_type_t type = vlc_meta_Title;
348 for( unsigned i = 0; i < VLC_META_TYPE_COUNT; i++ )
349 {
350 if( !strcasecmp( pp_meta_types[i].psz_name, psz_name ) )
351 {
352 type = pp_meta_types[i].type;
353 input_item_SetMeta( p_item, type, psz_value );
354 return 1;
(gdb) print psz_name
$1 = 0xa23ea8 "showName"
(gdb)print pp_meta_types[i]
$2 = {psz_name = 0x0, type = vlc_meta_Title}