GNOME Bugzilla – Bug 738771
Pitivi crashes in AppKit on Mac OS X 10.9
Last modified: 2015-10-20 13:02:14 UTC
With various patches from bug 738622 and bug 738767 I can get pitivi built with cerbero on Mac OS X 10.9 w/ Xcode 6.0.1, but something goes awry when running: [cerbero-darwin-x86_64]:~/cerbero/sources/darwin_x86_64/pitivi-0.93$ pitivi Missing soft dependency: - pycanberra not found on the system -> enables sound notifications when rendering is complete ERROR:root:Could not find any typelib for GnomeDesktop Missing soft dependency: - GnomeDesktop not found on the system -> file thumbnails provided by GNOME's thumbnailers ERROR:root:Could not find any typelib for Notify Missing soft dependency: - Notify not found on the system -> enables visual notifications when rendering is complete 2014-10-18 09:36:42.807 python3[51928:d0f] _createMenuRef called with existing principal MenuRef already associated with menu 2014-10-18 09:36:42.810 python3[51928:d0f] ( 0 CoreFoundation 0x00007fff946dc25c __exceptionPreprocess + 172 1 libobjc.A.dylib 0x00007fff93fd1e75 objc_exception_throw + 43 2 CoreFoundation 0x00007fff946dc10c +[NSException raise:format:] + 204 3 AppKit 0x00007fff8fe28cf4 -[NSCarbonMenuImpl _createMenuRef] + 62 4 AppKit 0x00007fff8fe286ca -[NSCarbonMenuImpl _instantiateCarbonMenu] + 143 5 AppKit 0x00007fff8fe26e92 -[NSApplication finishLaunching] + 876 6 libgobject-2.0.0.dylib 0x0000000101338b62 g_closure_invoke + 306 7 libgobject-2.0.0.dylib 0x000000010134fcb1 signal_emit_unlocked_R + 1329 8 libgobject-2.0.0.dylib 0x0000000101350cfe g_signal_emit_valist + 2270 9 libgobject-2.0.0.dylib 0x00000001013513c6 g_signal_emit + 134 10 libgio-2.0.0.dylib 0x00000001011634f7 g_application_register + 215 11 libgio-2.0.0.dylib 0x0000000101164f13 g_application_real_local_command_line + 963 12 libgio-2.0.0.dylib 0x0000000101163b23 g_application_run + 307 13 libffi.6.dylib 0x00000001013a2314 ffi_call_unix64 + 76 14 ??? 0x00007fff5fbfe100 0x0 + 140734799798528 ) /Users/brion/cerbero/dist/darwin_x86_64/bin/pitivi:127: Warning: Source ID 27 was not found when attempting to remove it app.run(sys.argv) Segmentation fault: 11 Not sure yet if this is a bug in pitivi proper or the Gtk+3 backend. Kinda looks like something's double-initializing the Mac application runtime?
That is weird, why would it just crash if the app runtime is registered twice? Does not make much sense to me :) Anyway, I have a mac here, do you think you could find a way to distribute all the binaries so I can help you debugging that without having to recompile everything?
Unfortunately the build doesn't seem to be relocatable yet and has hardcoded paths in binaries and such... will have to work that out. But if you can create a /Users/brion/cerbero/dist/darwin_x86_64 directory and drop it in, it may run: https://brionv.com/misc/pitivi/pitivi-darwin_x86_64-2014-10-18.tgz [168MB] That's built on 10.9. May need the various paths overridden as with 'cerbero shell'
Created attachment 288872 [details] full crash report Hmm, I'm not sure whether the exception trace above is actually fatal; Apple's crash reporter captures a different backtrace in the crash report (full file attached): This looks like it's dying in the run loop, which is scary-looking mixture of glib and AppKit bits: Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 libobjc.A.dylib 0x00007fff8cdf4097 objc_msgSend + 23 1 com.apple.AppKit 0x00007fff88c5e7be _DPSNextEvent + 2826 2 com.apple.AppKit 0x00007fff88c5d89b -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122 3 libclutter-1.0.0.dylib 0x0000000102d2ab9c poll_func + 172 (clutter-event-loop-osx.c:756) 4 libglib-2.0.0.dylib 0x00000001013d605d g_main_context_iterate + 429 (gmain.c:4076) 5 libglib-2.0.0.dylib 0x00000001013d6134 g_main_context_iteration + 100 (gmain.c:3842) 6 libgio-2.0.0.dylib 0x0000000101163b0c g_application_run + 444 (gapplication.c:2283) 7 libffi.6.dylib 0x000000010139c314 ffi_call_unix64 + 76 (darwin64.S:78) 8 libffi.6.dylib 0x000000010139b858 ffi_call + 920 (ffi64.c:522) 9 _gi.so 0x00000001010651fb pygi_callable_info_invoke + 2923 (pygi-invoke.c:41) 10 _gi.so 0x00000001010570d8 _callable_info_call + 152 (pygi-info.c:556) 11 libpython3.3m.dylib 0x0000000100011837 PyObject_Call + 103 (abstract.c:2035) 12 libpython3.3m.dylib 0x00000001000bcbd0 PyEval_EvalFrameEx + 21216 (ceval.c:4286) 13 libpython3.3m.dylib 0x00000001000c10ef fast_function + 207 (ceval.c:4154) 14 libpython3.3m.dylib 0x00000001000bc811 PyEval_EvalFrameEx + 20257 (ceval.c:4087) 15 libpython3.3m.dylib 0x00000001000b7730 PyEval_EvalCodeEx + 2128 (ceval.c:3436) 16 libpython3.3m.dylib 0x00000001000b6ecf PyEval_EvalCode + 63 (ceval.c:771) 17 libpython3.3m.dylib 0x00000001000e251c PyRun_FileExFlags + 172 (pythonrun.c:1996) 18 libpython3.3m.dylib 0x00000001000e1dd6 PyRun_SimpleFileExFlags + 902 (pythonrun.c:1452) 19 libpython3.3m.dylib 0x00000001000f7643 Py_Main + 3123 (main.c:307) 20 python3 0x0000000100001db8 main + 216 (python.c:62) 21 python3 0x0000000100001cd4 start + 52
Created attachment 288873 [details] [review] Patch to clutter's runloop to fix the immediate crash This patch to clutter's OS X run loop fixes the immediate crash, and I'm able to poke around for at least a few seconds at the UI before it encounters yet another crash (will report separately). Here's a patch for cerbero to update clutter/cogl and apply this patch: https://github.com/brion/cerbero/commit/72df58e009ac233c49324dc876169e09aefbcf84
Great you figured that out, do you think you could propose that patch for clutter upstream see if they could merge it directly there? Meanwhile I think we could just have it in cerbero but we should avoid to have to maintain it in here.
Bug on clutter w/ patch filed as bug 738832.
This bug has been migrated to https://phabricator.freedesktop.org/T3239. Please use the Phabricator interface to report further bugs by creating a task and associating it with Project: Pitivi. See http://wiki.pitivi.org/wiki/Bug_reporting for details.