I also may confirm this issue with lua.
I faced it trying to play a video from public web-cam.
===================
$ gdb --args vlc http://83.64.164.6/mjpg/video.mjpg
GNU gdb (GDB) 7.5-ubuntu
Reading symbols from /usr/bin/vlc...Reading symbols from 
/usr/lib/debug/usr/bin/vlc...done.
done.
(gdb) run
Starting program: /usr/bin/vlc http://83.64.164.6/mjpg/video.mjpg
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
VLC media player 2.0.5 Twoflower (revision 2.0.5-0-g1661b7d)

Program received signal SIGSEGV, Segmentation fault.
0xb7b4425d in __GI___uflow (fp=0x80dc9c0) at genops.c:394
394     genops.c: No such file or directory.
(gdb) bt
#0  0xb7b4425d in __GI___uflow (fp=0x80dc9c0) at genops.c:394
#1  0xb7b3a772 in _IO_getc (fp=0x80dc9c0) at getc.c:41
#2  0xb4e4cd8c in luaL_loadfile (L=L@entry=0x81905a0, 
    filename=filename@entry=0x81904e0 
"/usr/lib/vlc/lua/meta/reader/filename.luac") at lauxlib.c:577
#3  0xb4e8c055 in run (p_this=p_this@entry=0x8188cc0, 
    psz_filename=psz_filename@entry=0x81904e0 
"/usr/lib/vlc/lua/meta/reader/filename.luac", 
    L=L@entry=0x81905a0, luafunction=luafunction@entry=0xb4ea3f61 "read_meta") 
at meta.c:100
#4  0xb4e8c2a0 in read_meta (p_this=p_this@entry=0x8188cc0, 
    psz_filename=0x81904e0 "/usr/lib/vlc/lua/meta/reader/filename.luac", 
    user_data=user_data@entry=0x81c8dd8) at meta.c:192
#5  0xb4e8f689 in vlclua_scripts_batch_execute (p_this=p_this@entry=0x8188cc0, 
    luadirname=luadirname@entry=0xb4ea3fa6 "meta/reader", 
func=func@entry=0xb4e8c250 <read_meta>, 
    user_data=0x81c8dd8) at vlc.c:317
#6  0xb4e8c506 in ReadMeta (p_this=0x8188cc0) at meta.c:227
#7  0xb7d2c6a0 in generic_start (func=0xb4e8c4d0 <ReadMeta>, ap=0xbfffe2c8 
"\350\342\377\277", 
    ap@entry=0xbfffe2c4 "\300\214\030\b\350\342\377\277") at 
modules/modules.c:422
#8  0xb7d2cde3 in vlc_module_load (p_this=p_this@entry=0x8188cc0, 
    psz_capability=psz_capability@entry=0xb7d7067f "meta reader", 
psz_name=<optimized out>, 
    psz_name@entry=0x0, b_strict=b_strict@entry=false, 
probe=probe@entry=0xb7d2c690 <generic_start>)
    at modules/modules.c:347
#9  0xb7d2d302 in module_need (obj=obj@entry=0x8188cc0, 
cap=cap@entry=0xb7d7067f "meta reader", 
    name=name@entry=0x0, strict=strict@entry=false) at modules/modules.c:437
#10 0xb7ce679b in InputSourceMeta (p_input=p_input@entry=0x80d7188, 
p_meta=p_meta@entry=0x818c8d0, 
    p_source=<optimized out>, p_source=<optimized out>) at input/input.c:2741
#11 0xb7ce9b5d in Init (p_input=p_input@entry=0x80d7188) at input/input.c:1315
#12 0xb7cedd5b in input_Read (p_parent=p_parent@entry=0x818af40, 
p_item=p_item@entry=0x81c8dd8)
    at input/input.c:175
#13 0xb7cc6c05 in playlist_MLLoad (p_playlist=p_playlist@entry=0x818af40) at 
playlist/loadsave.c:171
#14 0xb7cc21a9 in playlist_Create (p_parent=p_parent@entry=0x804db78) at 
playlist/engine.c:271
#15 0xb7ca9fb5 in libvlc_InternalInit (p_libvlc=p_libvlc@entry=0x804db78, 
i_argc=4, 
    ppsz_argv=ppsz_argv@entry=0xbfffe77c) at libvlc.c:557
#16 0xb7d9c1d8 in libvlc_new (argc=argc@entry=3, argv=argv@entry=0xbfffe7e4) at 
core.c:59
#17 0x08048f68 in main (i_argc=2, ppsz_argv=0xbfffea04) at vlc.c:217
===================

So from this back-trace I made an assumption that lua falls in segfault 
processing "/usr/lib/vlc/lua/meta/reader/filename.luac".
And indeed:
===================
$ gdb --args lua /usr/lib/vlc/lua/meta/reader/filename.luac
GNU gdb (GDB) 7.5-ubuntu
Reading symbols from /usr/bin/lua...Reading symbols from 
/usr/lib/debug/.build-id/fc/b9cc5f5115c7a1dab4b5544c40751cb9ecdf4b.debug...done.
done.
(gdb) run
Starting program: /usr/bin/lua /usr/lib/vlc/lua/meta/reader/filename.luac
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0xb7c1025d in __GI___uflow (fp=0x8078188) at genops.c:394
394     genops.c: No such file or directory.
(gdb) bt
#0  0xb7c1025d in __GI___uflow (fp=0x8078188) at genops.c:394
#1  0xb7c06772 in _IO_getc (fp=0x8078188) at getc.c:41
#2  0x0805a32c in luaL_loadfile (L=L@entry=0x8073278, 
    filename=0xbfffec02 "/usr/lib/vlc/lua/meta/reader/filename.luac") at 
lauxlib.c:577
#3  0x0804ba47 in handle_script (n=<optimized out>, argv=<optimized out>, 
L=<optimized out>)
    at lua.c:247
#4  pmain (L=0x8073278) at lua.c:362
#5  0x0804f343 in luaD_precall (L=L@entry=0x8073278, func=<optimized out>, 
func@entry=0x80734ac, 
    nresults=nresults@entry=0) at ldo.c:320
#6  0x0804f718 in luaD_call (L=L@entry=0x8073278, func=0x80734ac, 
nResults=nResults@entry=0)
    at ldo.c:377
#7  0x0804bbb8 in f_Ccall (L=L@entry=0x8073278, ud=ud@entry=0xbfffe928) at 
lapi.c:846
#8  0x0804ea74 in luaD_rawrunprotected (L=L@entry=0x8073278, 
f=f@entry=0x804bb40 <f_Ccall>, 
    ud=ud@entry=0xbfffe928) at ldo.c:116
#9  0x0804f8ff in luaD_pcall (L=L@entry=0x8073278, func=func@entry=0x804bb40 
<f_Ccall>, 
    u=u@entry=0xbfffe928, old_top=12, ef=ef@entry=0) at ldo.c:464
#10 0x0804d151 in lua_cpcall (L=L@entry=0x8073278, func=func@entry=0x804b590 
<pmain>, 
    ud=ud@entry=0xbfffe954) at lapi.c:856
#11 0x0804ac9c in main (argc=2, argv=0xbfffea04) at lua.c:387
===================

So to reproduce this we need:
===================
1. Lua script (I'll attach it later as well): 
http://git.videolan.org/?p=vlc.git;a=blob_plain;f=share/lua/meta/reader/filename.lua;hb=HEAD
2. Compile script:
luac filename.lua
3. Run compiled lua script:
lua luac.out
===================

Also I noticed if lua-5.0 (/usr/bin/luac50) is used for compilation then
lua-5.0 (/usr/bin/lua50) may as well correctly execute compiled script.

Lua 5.2 crashes the same way as 5.1 does.
===================
/usr/bin/lua5.2 -v
Lua 5.2.1  Copyright (C) 1994-2012 Lua.org, PUC-Rio
===================

So seems like regression introduced in 5.1 and still existing in 5.2.1

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1136432

Title:
  luaL_loadfile segfault in _IO_file_underflow

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/lua5.1/+bug/1136432/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to