[Bug 786047] New: osxvideosink crashes on start, OSX 10.13 Beta (17A330h)

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Aug 9 13:00:29 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=786047

            Bug ID: 786047
           Summary: osxvideosink crashes on start, OSX 10.13 Beta
                    (17A330h)
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Mac OS
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: kirill.novichikhin at sarov-itc.ru
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 357262
  --> https://bugzilla.gnome.org/attachment.cgi?id=357262&action=edit
High Sierra crash workaround

Crash in _CFRunLoopSetCurrent when running osxvideosink on last MacOS beta

Assert "Attempting to deallocate CFRunLoop outside of thread destructor -- this
is likely an over-release of the run loop"

Apparently releasing previous runloop outside of thread destructor is now
frowned upon.

Workaround: retain previous thread runloop before switching (see patch)


$ lldb -- gst-launch-1.0 tcpserversrc port=5001 ! gdpdepay ! h264parse !
avdec_h264 ! osxvideosink
(lldb) target create "gst-launch-1.0"
ruCurrent executable set to 'gst-launch-1.0' (x86_64).
(lldb) settings set -- target.run-args  "tcpserversrc" "port=5001" "!"
"gdpdepay" "!" "h264parse" "!" "avdec_h264" "!" "osxvideosink"
(lldb) run
Process 33630 launched: '/usr/local/bin/gst-launch-1.0' (x86_64)
Setting pipeline to PAUSED ...
Process 33630 stopped
* thread #4, stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP,
subcode=0x0)
    frame #0: 0x00007fff29b73fe5 CoreFoundation`__CFRunLoopDeallocate + 485
CoreFoundation`__CFRunLoopDeallocate:
->  0x7fff29b73fe5 <+485>: ud2    
    0x7fff29b73fe7 <+487>: nopw   (%rax,%rax)

CoreFoundation`__CFRunLoopCleanseSources:
    0x7fff29b73ff0 <+0>:   pushq  %rbp
    0x7fff29b73ff1 <+1>:   movq   %rsp, %rbp
Target 0: (gst-launch-1.0) stopped.
(lldb) bt
* thread #4, stop reason = EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP,
subcode=0x0)
  * frame #0: 0x00007fff29b73fe5 CoreFoundation`__CFRunLoopDeallocate + 485
    frame #1: 0x00007fff29c08f9c CoreFoundation`_CFRelease + 300
    frame #2: 0x00007fff29b505a6 CoreFoundation`_CFRunLoopSetCurrent + 134
    frame #3: 0x00000001007de83e libgstosxvideo.so`-[GstOSXVideoSinkObject
nsAppThread] + 30
    frame #4: 0x00007fff2bc6c4f8 Foundation`__NSThread__start__ + 1197
    frame #5: 0x00007fff517ae6c1 libsystem_pthread.dylib`_pthread_body + 340
    frame #6: 0x00007fff517ae56d libsystem_pthread.dylib`_pthread_start + 377
    frame #7: 0x00007fff517adc5d libsystem_pthread.dylib`thread_start + 13


    0x7fff29b73fd7 <+471>: leaq   0x310d5e(%rip), %rax      ; "Attempting to
deallocate CFRunLoop outside of thread destructor -- this is likely an
over-release of the run loop"
    0x7fff29b73fde <+478>: movq   %rax, 0x5a372ac3(%rip)    ; gCRAnnotations +
8
->  0x7fff29b73fe5 <+485>: ud2    
    0x7fff29b73fe7 <+487>: nopw   (%rax,%rax)

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list