[vlc-devel] [MACOSX] vlc-cache-gen segfault on x86_64-darwin10

Rafaël Carré rafael.carre at gmail.com
Thu Aug 26 15:36:13 CEST 2010


Buildbot segfaults on:
  GEN    stamp-cache
/bin/sh: line 1: 72507 Segmentation fault      ../bin/vlc-cache-gen .

Running vlc-cache-gen through gdb & valgrind shows that it crashes on
unloading macosx_dialog_provider, removing this .dylib and running
vlc-cache-gen again (after removing the plugins*.dat) works fine.

I built with:
--prefix=/Users/videolan/funman/build-vlc/inst --enable-debug
--with-macosx-sdk=/Developer/SDKs/MacOSX10.5.sdk --disable-visual
--disable-sdl-image --disable-sdl --disable-xcb --disable-xvideo
--disable-glx --disable-skins2 --disable-vlm --disable-httpd
--disable-ncurses --enable-asademux --enable-libass --enable-realrtsp
--enable-twolame --enable-vcdx --enable-caca --enable-shout
--enable-theora --enable-flac --enable-faad
--with-macosx-version-min=10.5 --disable-macosx-vlc-app
--disable-macosx --disable-macosx-defaults --disable-nls

which is exactly what the buildbot does, and I edited vlc-config.in to
use -O0

==59602== Invalid read of size 8
==59602==    at 0x10091299A: _unload_image (in /usr/lib/libobjc.A.dylib)
==59602==    by 0x100909AF7: unmap_image (in /usr/lib/libobjc.A.dylib)
==59602==    by 0x7FFF5FC02B66: dyld::removeImage(ImageLoader*) (in /usr/lib/dyld)
==59602==    by 0x7FFF5FC02D6E: dyld::garbageCollectImages() (in /usr/lib/dyld)
==59602==    by 0x7FFF5FC0AC55: dlclose (in /usr/lib/dyld)
==59602==    by 0x1001F8754: dlclose (in /usr/lib/libSystem.B.dylib)
==59602==    by 0x1000E3A50: module_Unload (os.c:236)
==59602==    by 0x1000DC4CD: DeleteModule (modules.c:1163)
==59602==    by 0x1000DA2E3: module_EndBank (modules.c:188)
==59602==    by 0x100053666: libvlc_InternalCleanup (libvlc.c:1041)
==59602==    by 0x10002862B: libvlc_release (core.c:107)
==59602==    by 0x100002CA6: main (cachegen.c:113)
==59602==  Address 0x800000033 is not stack'd, malloc'd or (recently)

#7  0x00000001000bb4ce in DeleteModule (p_bank=0x1003026b0, p_module=0x100373bf0) at ../../vlc/src/modules/modules.c:1163
1163	            module_Unload( p_module->handle );
(gdb) print *p_module
$1 = {
  psz_object_name = 0x100373d00 "macosx_dialog_provider", 
  vlc_gc_data = {
    refs = {
      u = 1, 
      s = 1
    pf_destructor = 0x1000c07b6 <vlc_module_destruct>
  next = 0x100371fc0, 
  parent = 0x0, 
  submodule = 0x0, 
  submodule_count = 0, 
  i_shortcuts = 3, 
  pp_shortcuts = 0x100373d20, 
  psz_shortname = 0x100373e50 "Mac OS X Dialogs", 
  psz_longname = 0x100373e70 "Minimal Mac OS X Dialog Provider", 
  psz_help = 0x0, 
  psz_capability = 0x100373e40 "interface", 
  i_score = 0, 
  b_builtin = false, 
  b_loaded = true, 
  b_unloadable = true, 
  b_submodule = false, 
  pf_activate = 0x1042d12ce <OpenIntf>, 
  pf_deactivate = 0x1042d15f1 <CloseIntf>, 
  p_config = 0x10087fe00, 
  confsize = 3, 
  i_config_items = 1, 
  i_bool_items = 1, 
  handle = 0x1003738a0, 
  psz_filename = 0x100373cb0 "./gui/macosx_dialog_provider/.libs/libmacosx_dialog_provider_plugin.dylib", 
  domain = 0x0

The handle pointer looks alright to me but I know not much about OSX

I attach gdb/valgrind outputs (edited a bit to remove a gazillion of messages related to loading shared libraries)

✍ Rafaël Carré ☺
-------------- next part --------------
A non-text attachment was scrubbed...
Name: valgrind
Type: application/octet-stream
Size: 12828 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20100826/dfcf294f/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gdb
Type: application/octet-stream
Size: 3118 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20100826/dfcf294f/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20100826/dfcf294f/attachment.sig>

More information about the vlc-devel mailing list