Bug 13912 - SIGABRT when building a project/solution in Xamarin Studio.
Summary: SIGABRT when building a project/solution in Xamarin Studio.
Status: RESOLVED INVALID
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: General ()
Version: Trunk
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: master
Assignee: Cody Russell
URL:
Depends on:
Blocks:
 
Reported: 2013-08-11 18:57 UTC by Brian Berry
Modified: 2013-08-12 23:58 UTC (History)
2 users (show)

Tags: gtk
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED INVALID

Description Brian Berry 2013-08-11 18:57:04 UTC
Found:  A SIGABRT when building an iOS project within a larger solution, with the following partial crash log contents:

Process:         XamarinStudio [49085]
Path:            /Applications/Xamarin Studio.app/Contents/MacOS/XamarinStudio
Identifier:      com.xamarin.monodevelop
Version:         4.1.9.6 (4.1.9.6)
Code Type:       X86 (Native)
Parent Process:  launchd [144]
User ID:         501

Date/Time:       2013-08-11 15:40:55.587 -0700
OS Version:      Mac OS X 10.8.4 (12E55)
Report Version:  10

Interval Since Last Report:          59943 sec
Crashes Since Last Report:           3985
Per-App Interval Since Last Report:  74869 sec
Per-App Crashes Since Last Report:   7
Anonymous UUID:                      6D8DD91F-52EA-EC2B-2F27-10859374AE87

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_BAD_ACCESS (SIGABRT)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000000004dd

VM Regions Near 0x4dd:
--> __PAGEZERO             0000000000000000-0000000000001000 [    4K] ---/--- SM=NUL  /Applications/Xamarin Studio.app/Contents/MacOS/XamarinStudio
    __TEXT                 0000000000001000-0000000000004000 [   12K] r-x/rwx SM=COW  /Applications/Xamarin Studio.app/Contents/MacOS/XamarinStudio

Application Specific Information:
abort() called

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x9824fa6a __pthread_kill + 10
1   libsystem_c.dylib             	0x941e5b2f pthread_kill + 101
2   libsystem_c.dylib             	0x9421c4ec abort + 168
3   libmonosgen-2.0.dylib         	0x010a7980 mono_handle_native_sigsegv + 592
4   libmonosgen-2.0.dylib         	0x010f7245 mono_arch_handle_altstack_exception + 149
5   libmonosgen-2.0.dylib         	0x01003c61 mono_sigsegv_signal_handler + 369
6   libsystem_c.dylib             	0x941d08cb _sigtramp + 43
7   ???                           	0xffffffff 0 + 4294967295
8   libmonosgen-2.0.dylib         	0x01003af0 mono_sigill_signal_handler + 48
9   libgtk-quartz-2.0.0.dylib     	0x041305cd gtk_tree_view_expose + 61
10  libgtk-quartz-2.0.0.dylib     	0x03fb840e _gtk_marshal_BOOLEAN__BOXED + 286
11  libgobject-2.0.0.dylib        	0x04d7519e g_type_class_meta_marshal + 142
12  libgobject-2.0.0.dylib        	0x04d74918 g_closure_invoke + 504
13  libgobject-2.0.0.dylib        	0x04d95a28 signal_emit_unlocked_R + 1992
14  libgobject-2.0.0.dylib        	0x04d94af1 g_signal_emit_valist + 4913
15  libgobject-2.0.0.dylib        	0x04d950f1 g_signal_emit + 65
16  libgtk-quartz-2.0.0.dylib     	0x0416b74d gtk_widget_event_internal + 749
17  libgtk-quartz-2.0.0.dylib     	0x0416b351 gtk_widget_send_expose + 369
18  libgtk-quartz-2.0.0.dylib     	0x03fb4256 gtk_main_do_event + 630
19  libgdk-quartz-2.0.0.dylib     	0x044053ff _gdk_window_process_updates_recurse + 799
20  libgdk-quartz-2.0.0.dylib     	0x044052ea _gdk_window_process_updates_recurse + 522
21  libgdk-quartz-2.0.0.dylib     	0x044052ea _gdk_window_process_updates_recurse + 522
22  libgdk-quartz-2.0.0.dylib     	0x044052ea _gdk_window_process_updates_recurse + 522
23  libgdk-quartz-2.0.0.dylib     	0x044052ea _gdk_window_process_updates_recurse + 522
24  libgdk-quartz-2.0.0.dylib     	0x044052ea _gdk_window_process_updates_recurse + 522
25  libgdk-quartz-2.0.0.dylib     	0x044052ea _gdk_window_process_updates_recurse + 522
26  libgdk-quartz-2.0.0.dylib     	0x04414094 -[GdkQuartzView drawRect:] + 628
27  com.apple.AppKit              	0x9373a334 -[NSView _drawRect:clip:] + 3706
28  com.apple.AppKit              	0x93737899 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 2156
29  com.apple.AppKit              	0x93732b83 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 4425
30  com.apple.AppKit              	0x936fb311 -[NSView displayIfNeeded] + 1356
31  libgdk-quartz-2.0.0.dylib     	0x0442ef41 _gdk_windowing_after_process_all_updates + 113
32  libgdk-quartz-2.0.0.dylib     	0x0440594f gdk_window_process_all_updates + 319
33  libgtk-quartz-2.0.0.dylib     	0x03ef5742 gtk_container_idle_sizer + 114
34  libgdk-quartz-2.0.0.dylib     	0x043cdb1e gdk_threads_dispatch + 94
35  libglib-2.0.0.dylib           	0x03d4a8d0 g_idle_dispatch + 96
36  libglib-2.0.0.dylib           	0x03d479b9 g_main_dispatch + 409
37  libglib-2.0.0.dylib           	0x03d48780 g_main_context_dispatch + 48
38  libglib-2.0.0.dylib           	0x03d48975 g_main_context_iterate + 485
39  libglib-2.0.0.dylib           	0x03d48eaf g_main_loop_run + 527
40  libgtk-quartz-2.0.0.dylib     	0x03fb38d0 gtk_main + 240
41  ???                           	0x101577e8 0 + 269842408
42  ???                           	0x101577ac 0 + 269842348
43  ???                           	0x1015778c 0 + 269842316
44  ???                           	0x03becad0 0 + 62835408
45  ???                           	0x000ef064 0 + 979044
46  ???                           	0x000eedfc 0 + 978428
47  ???                           	0x000eeec2 0 + 978626
48  libmonosgen-2.0.dylib         	0x0100d805 mono_jit_runtime_invoke + 741
49  libmonosgen-2.0.dylib         	0x011c4a2e mono_runtime_invoke + 126
50  libmonosgen-2.0.dylib         	0x011c8fa4 mono_runtime_exec_main + 420
51  libmonosgen-2.0.dylib         	0x011c9315 mono_runtime_run_main + 725
52  libmonosgen-2.0.dylib         	0x01078285 mono_jit_exec + 149
53  libmonosgen-2.0.dylib         	0x0107a7bf mono_main + 9519
54  com.xamarin.monodevelop       	0x00003817 main + 2503
55  com.xamarin.monodevelop       	0x00001ce5 start + 53


Note:
   * I often see another crash signature when building (https://bugzilla.xamarin.com/show_bug.cgi?id=13911)---in attempting to further repro that issue and get more insight, I ran into this condition as well.

Many thanks!
Comment 1 Mikayla Hutchinson [MSFT] 2013-08-11 20:21:03 UTC
Are there GTK symbols in any of the other threads?
Comment 4 Brian Berry 2013-08-12 21:17:47 UTC
NOTE:  This could actually be the result of GTK access from the wrong thread within an add-in that's in the mix.   Suggest no time spent on your end until we've ruled that out.  I will update asap.
Comment 5 Cody Russell 2013-08-12 22:29:08 UTC
Do you mean a different addin other than Xamarin's provided ones?

It does look like GTK+ is being called from different threads in a way that looks dangerous.  Thread 28 is expanding a treeview row while thread 0 is exposing a treeview.
Comment 6 Brian Berry 2013-08-12 23:06:08 UTC
Yes, my own.    Disabling the addin does on the surface seem to clear the issue, but doing so also disrupts the build process sufficiently to exercise far less.  I am operating on the assumption that it is at fault at this point---just working to confirm now.
Comment 7 Brian Berry 2013-08-12 23:58:46 UTC
Confirmed.   Temporary project modifications (intended, part of adding purpose) were occurring off the gui thread, in fact.  These are now invoked via delegate blocks to DispatchService.GuiSyncDispatch() and (fingers crossed) so far so good.

Apologies for the false alarm, folks.