Bug#635724: vlc: FTBFS (kfreebsd-i386) Segmentation fault (core dumped) ../bin/vlc-cache-gen .

Rémi Denis-Courmont remi at remlab.net
Tue Aug 2 18:14:21 UTC 2011


	Hello,

Le mardi 2 août 2011 19:26:15 Reinhard Tartler, vous avez écrit :
> I managed to reproduce the segmentation fault on io.debian.net, and got
> this backtrace:
> 
> (gdb) bt full
> #0  0x2c04225a in QVariantAnimation::registerInterpolator(QVariant (*)(void
> const*, void const*, double), int) () from /usr/lib/libQtCore.so.4
> No symbol table info available.
> #1  0x2b67c5e3 in ?? () from /usr/lib/libQtGui.so.4
> No symbol table info available.
> #2  0x281e0f88 in __cxa_finalize () from /lib/i386-kfreebsd-gnu/libc.so.0.1
> No symbol table info available.
> #3  0x2b6726b4 in ?? () from /usr/lib/libQtGui.so.4
> No symbol table info available.
> #4  0x2bda33c0 in _fini () from /usr/lib/libQtGui.so.4
> No symbol table info available.
> #5  0x2805af5e in ?? () from /lib/ld.so.1
> No symbol table info available.
> #6  0x2805ba07 in ?? () from /lib/ld.so.1
> No symbol table info available.
> #7  0x28337c44 in ?? () from /lib/i386-kfreebsd-gnu/libdl.so.2
> No symbol table info available.
> #8  0x2805602b in ?? () from /lib/ld.so.1
> No symbol table info available.
> #9  0x2833803c in ?? () from /lib/i386-kfreebsd-gnu/libdl.so.2
> No symbol table info available.
> #10 0x28337c7a in dlclose () from /lib/i386-kfreebsd-gnu/libdl.so.2
> No symbol table info available.
> #11 0x281249cb in module_Unload (handle=0x812da78) at modules/os.c:236
> No locals.
> #12 0x2811ee25 in DeleteModule (p_bank=<value optimized out>,
> p_module=0x111) at modules/modules.c:1167 pp_self = <value optimized out>
> #13 0x2811f0e7 in module_EndBank (p_this=0x804a004, b_plugins=true) at
> modules/modules.c:191 p_bank = <value optimized out>
> #14 0x2809a636 in libvlc_InternalCleanup (p_libvlc=0x804a004) at
> libvlc.c:1060 p_playlist = <value optimized out>
>         psz_pidfile = <value optimized out>
> #15 0x2806ef46 in libvlc_release (p_instance=0x8049f08) at
> control/core.c:107 lock = 0x8049f20
>         refs = 0
> #16 0x08048861 in main (argc=2, argv=0xbfbfe720) at cachegen.c:113
>         vlc_argv = {0x8048afd "--ignore-config", 0x8048b0d "--quiet",
> 0x8048b15 "--no-media-library", 0x8049f70 "--plugin-path=.", 0x8048b3e
> "--", 0x0,
>           0xbfbfe72c
> "\374\350\277\277\f\351\277\277\030\351\277\277)\351\277\277\064\351\277\2
> 77B\351\277\277\062\356\277\277B\356\277\277W\356\277\277m\356\277\277\232\
> 356\277\277\275\356\277\277\311\356\277\277\340\356\277\277\364\356\277\277
> \374\356\277\277\023\357\277\277$\357\277\277D\357\277\277Z\357\277\277"}
> vlc = <value optimized out>
>         path = 0xbfbfe8fa "."
>         arg = 0x8049f70 "--plugin-path=."
>         vlc_argc = <value optimized out>
>         i = 1
>         opts = {{name = 0x8048b53 "force", has_arg = 0, flag = 0x0, val =
> 102}, {name = 0x8048b59 "help", has_arg = 0, flag = 0x0, val = 104}, {name
> = 0x8048b5e "version", has_arg = 0, flag = 0x0, val = 86}, {name = 0x0,
> has_arg = 0, flag = 0x0, val = 0}}
>         c = <value optimized out>
>         force = <value optimized out>
> 
> note that in frame #12, the parameter p_module is set to 0x1111, which
> looks suspicious. The code in modules/modules.c:191  looks like this:

I rather suspect the debug information are corrupted by compiler optimizations 
at this point. Otherwise, DeleteModule() would crash before module_Unload() 
gets to invoke dlclose(), as it dereferences p_module.

To me, it looks more like Qt4 has (yet another) bug in its static object 
destructors, which makes it crash dlclose(). VLC may be the only application 
dlopen()'ing -a shared object that links with- Qt4. And if it's not, it might 
still well be the only one that does so during as part of its build process.

-- 
Rémi Denis-Courmont
http://www.remlab.net/
http://fi.linkedin.com/in/remidenis





More information about the pkg-multimedia-maintainers mailing list