[vlc-devel] Regression: VLC master segfaults at startup on OSX

Devin Heitmueller dheitmueller at ltnglobal.com
Fri Jan 18 16:50:29 CET 2019


Pulled the latest master tonight, and found that VLC hits a segmentation fault on OSX, even when just running the application with no command line arguments.

Did a git bisect, and came down to the following patch:

commit e4d4a57831e75561ee7a1af3c39584803ba61794
Author: Rémi Denis-Courmont <remi at remlab.net>
Date:   Tue Jan 15 18:39:10 2019 +0200

    filesystem: fix invalid conversions in vlc_scandir()

I’m compiling on MacOS 10.13.5 with Xcode 9.4.1.

Devin

* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
    frame #0: 0x00007fff5f4606b3 libsystem_platform.dylib`_platform_strcmp + 19
libsystem_platform.dylib`_platform_strcmp:
->  0x7fff5f4606b3 <+19>: movzbq (%rdi), %rax
    0x7fff5f4606b7 <+23>: movzbq (%rsi), %r8
    0x7fff5f4606bb <+27>: incq   %rdi
    0x7fff5f4606be <+30>: incq   %rsi
Target 0: (vlc-osx-static) stopped.
(lldb) bt
error: libarclite_macosx.a(arclite.o) failed to load objfile for /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
  * frame #0: 0x00007fff5f4606b3 libsystem_platform.dylib`_platform_strcmp + 19
    frame #1: 0x00007fff5f201ea9 libsystem_c.dylib`_qsort + 728
    frame #2: 0x0000000100149697 libvlccore.dylib`vlc_loaddir(dir=0x00000001005d1d10, namelist=0x00007ffeefbfea50, select=<unavailable>, compar=(liblua_plugin.dylib`file_compare at vlc.c:195)) at filesystem.c:164 [opt]
    frame #3: 0x000000010014977f libvlccore.dylib`vlc_scandir(dirname=<unavailable>, namelist=0x00007ffeefbfea50, select=(liblua_plugin.dylib`file_select at vlc.c:181), compar=(liblua_plugin.dylib`file_compare at vlc.c:195)) at filesystem.c:195 [opt]
    frame #4: 0x0000000107c5cda8 liblua_plugin.dylib`vlc_sd_probe_Open(obj=0x00000001005cf060) at vlc.c:550 [opt]
    frame #5: 0x00000001000e3312 libvlccore.dylib`vlc_module_load at modules.c:167 [opt]
    frame #6: 0x00000001000e32bc libvlccore.dylib`vlc_module_load(obj=<unavailable>, capability="services probe", name="", strict=false, probe=(libvlccore.dylib`generic_start at modules.c:316)) at modules.c:244 [opt]
    frame #7: 0x000000010014b6cb libvlccore.dylib`vlc_probe(obj=<unavailable>, capability="services probe", pcount=0x00007ffeefbfecb8) at probe.c:43 [opt]
    frame #8: 0x000000010011fa24 libvlccore.dylib`vlc_sd_GetNames(obj=<unavailable>, pppsz_longnames=0x00007ffeefbfeda0, pp_categories=0x00007ffeefbfed98) at services_discovery.c:63 [opt]
    frame #9: 0x0000000108b1d507 libmacosx_plugin.dylib`-[VLCMainWindow reloadSidebar](self=0x00000001005a79e0, _cmd=<unavailable>) at VLCMainWindow.m:299 [opt]
    frame #10: 0x0000000108b1c647 libmacosx_plugin.dylib`-[VLCMainWindow awakeFromNib](self=0x00000001005a79e0, _cmd=<unavailable>) at VLCMainWindow.m:167 [opt]
    frame #11: 0x00007fff373472a9 CoreFoundation`-[NSSet makeObjectsPerformSelector:] + 249
    frame #12: 0x00007fff348ac7bd AppKit`-[NSIBObjectData nibInstantiateWithOwner:options:topLevelObjects:] + 1594
    frame #13: 0x00007fff348a3991 AppKit`loadNib + 435
    frame #14: 0x00007fff348a2eb5 AppKit`+[NSBundle(NSNibLoading) _loadNibFile:nameTable:options:withZone:ownerBundle:] + 696
    frame #15: 0x00007fff34ad8aba AppKit`+[NSBundle(NSNibLoadingInternal) _loadNibFile:externalNameTable:options:withZone:] + 150
    frame #16: 0x00007fff34ad8893 AppKit`-[NSWindowController loadWindow] + 322
    frame #17: 0x00007fff348ebcf5 AppKit`-[NSWindowController window] + 84
    frame #18: 0x0000000108aade88 libmacosx_plugin.dylib`OpenIntf(p_this=0x000000010043f920) at VLCMain.m:99 [opt]
    frame #19: 0x00000001000e3312 libvlccore.dylib`vlc_module_load at modules.c:167 [opt]
    frame #20: 0x00000001000e32bc libvlccore.dylib`vlc_module_load(obj=<unavailable>, capability="interface", name="", strict=true, probe=(libvlccore.dylib`generic_start at modules.c:316)) at modules.c:244 [opt]
    frame #21: 0x00000001000e97bf libvlccore.dylib`intf_Create(playlist=0x000000010043c930, chain=0x0000000000000000) at interface.c:104 [opt]
    frame #22: 0x00000001000e9ba8 libvlccore.dylib`libvlc_InternalAddIntf(libvlc=0x000000010030cdf0, name=<unavailable>) at interface.c:223 [opt]
    frame #23: 0x00000001000a87fc libvlc.dylib`libvlc_add_intf(p_instance=<unavailable>, name=0x0000000000000000) at playlist.c:43 [opt]
    frame #24: 0x0000000100003784 vlc-osx-static`main(i_argc=0, ppsz_argv=0x00007ffeefbff968) at darwinvlc.m:285 [opt]
    frame #25: 0x00007fff5f152015 libdyld.dylib`start + 1

---
Devin Heitmueller - LTN Global Communications
dheitmueller at ltnglobal.com






More information about the vlc-devel mailing list