After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 738771 - Pitivi crashes in AppKit on Mac OS X 10.9
Pitivi crashes in AppKit on Mac OS X 10.9
Status: RESOLVED OBSOLETE
Product: pitivi
Classification: Other
Component: User interface
Git
Other Mac OS
: High critical
: Git
Assigned To: Pitivi maintainers
Pitivi maintainers
Depends on: 738622 738767 738832
Blocks: 738833
 
 
Reported: 2014-10-18 16:45 UTC by Brion Vibber
Modified: 2015-10-20 13:02 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
full crash report (52.91 KB, text/plain)
2014-10-19 22:15 UTC, Brion Vibber
  Details
Patch to clutter's runloop to fix the immediate crash (1.08 KB, patch)
2014-10-19 23:16 UTC, Brion Vibber
none Details | Review

Description Brion Vibber 2014-10-18 16:45:54 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?
Comment 1 Thibault Saunier 2014-10-19 09:25:59 UTC
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?
Comment 2 Brion Vibber 2014-10-19 15:57:25 UTC
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'
Comment 3 Brion Vibber 2014-10-19 22:15:39 UTC
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
Comment 4 Brion Vibber 2014-10-19 23:16:45 UTC
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
Comment 5 Thibault Saunier 2014-10-20 08:36:47 UTC
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.
Comment 6 Brion Vibber 2014-10-20 08:38:49 UTC
Bug on clutter w/ patch filed as bug 738832.
Comment 7 Thibault Saunier 2015-10-20 13:02:14 UTC
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.