-
Notifications
You must be signed in to change notification settings - Fork 508
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[mono2018-02] Unittest fail to launch on 32 bit device #3826
Comments
@GouriKumari can you attach the crash reports please ? thanks! |
Crash Report for mini: https://gist.github.com/GouriKumari/36dc0e05f0c1939b57e746dfba6c3063. |
means it's the watchdog that killed it but something crashed
and was trying to write in the device logs @GouriKumari can you attach the device logs too ? thanks! |
/cc @lewurm |
I can reproduce this:
|
clang fails to properly align 64bit members of the `MonoPerfCounters` struct on 32bit builds: ``` * thread #1, name = 'tid_403', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_ARM_DA_ALIGN, address=0x16933124) frame #0: 0x0066f4b2 mini`mono_atomic_cas_i64(dest=0x16933124, exch=<unavailable>, comp=<unavailable>) at atomic.c:519 [opt] 516 gint64 517 mono_atomic_cas_i64(volatile gint64 *dest, gint64 exch, gint64 comp) 518 { -> 519 return __sync_val_compare_and_swap (dest, comp, exch); 520 } 521 522 #elif defined (TARGET_ANDROID) (lldb) up frame #1: 0x006292ea mini`ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued [inlined] mono_atomic_inc_i64 at atomic.h:397 [opt] 394 do { 395 get = *val; 396 set = get + 1; -> 397 } while (mono_atomic_cas_i64 (val, set, get) != get); 398 return set; 399 } 400 (lldb) up frame #2: 0x006292d6 mini`ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued at threadpool.c:743 [opt] 740 ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued (void) 741 { 742 #ifndef DISABLE_PERFCOUNTERS -> 743 mono_atomic_inc_i64 (&mono_perfcounters->threadpool_workitems); 744 #endif 745 } 746 ``` Note that the member `threadpool_workitems` is on an unnatural alignment (`0x16933124`) regarding to its type `gint64`. related xamarin/xamarin-macios#3826
clang fails to properly align 64bit members of the `MonoPerfCounters` struct on 32bit builds: ``` * thread #1, name = 'tid_403', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_ARM_DA_ALIGN, address=0x16933124) frame #0: 0x0066f4b2 mini`mono_atomic_cas_i64(dest=0x16933124, exch=<unavailable>, comp=<unavailable>) at atomic.c:519 [opt] 516 gint64 517 mono_atomic_cas_i64(volatile gint64 *dest, gint64 exch, gint64 comp) 518 { -> 519 return __sync_val_compare_and_swap (dest, comp, exch); 520 } 521 522 #elif defined (TARGET_ANDROID) (lldb) up frame #1: 0x006292ea mini`ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued [inlined] mono_atomic_inc_i64 at atomic.h:397 [opt] 394 do { 395 get = *val; 396 set = get + 1; -> 397 } while (mono_atomic_cas_i64 (val, set, get) != get); 398 return set; 399 } 400 (lldb) up frame #2: 0x006292d6 mini`ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued at threadpool.c:743 [opt] 740 ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued (void) 741 { 742 #ifndef DISABLE_PERFCOUNTERS -> 743 mono_atomic_inc_i64 (&mono_perfcounters->threadpool_workitems); 744 #endif 745 } 746 ``` Note that the member `threadpool_workitems` is on an unnatural alignment (`0x16933124`) regarding to its type `gint64`. related xamarin/xamarin-macios#3826
clang fails to properly align 64bit members of the `MonoPerfCounters` struct on 32bit builds: ``` * thread mono#1, name = 'tid_403', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_ARM_DA_ALIGN, address=0x16933124) frame #0: 0x0066f4b2 mini`mono_atomic_cas_i64(dest=0x16933124, exch=<unavailable>, comp=<unavailable>) at atomic.c:519 [opt] 516 gint64 517 mono_atomic_cas_i64(volatile gint64 *dest, gint64 exch, gint64 comp) 518 { -> 519 return __sync_val_compare_and_swap (dest, comp, exch); 520 } 521 522 #elif defined (TARGET_ANDROID) (lldb) up frame mono#1: 0x006292ea mini`ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued [inlined] mono_atomic_inc_i64 at atomic.h:397 [opt] 394 do { 395 get = *val; 396 set = get + 1; -> 397 } while (mono_atomic_cas_i64 (val, set, get) != get); 398 return set; 399 } 400 (lldb) up frame mono#2: 0x006292d6 mini`ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued at threadpool.c:743 [opt] 740 ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued (void) 741 { 742 #ifndef DISABLE_PERFCOUNTERS -> 743 mono_atomic_inc_i64 (&mono_perfcounters->threadpool_workitems); 744 #endif 745 } 746 ``` Note that the member `threadpool_workitems` is on an unnatural alignment (`0x16933124`) regarding to its type `gint64`. related xamarin/xamarin-macios#3826
clang fails to properly align 64bit members of the `MonoPerfCounters` struct on 32bit builds: ``` * thread #1, name = 'tid_403', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_ARM_DA_ALIGN, address=0x16933124) frame #0: 0x0066f4b2 mini`mono_atomic_cas_i64(dest=0x16933124, exch=<unavailable>, comp=<unavailable>) at atomic.c:519 [opt] 516 gint64 517 mono_atomic_cas_i64(volatile gint64 *dest, gint64 exch, gint64 comp) 518 { -> 519 return __sync_val_compare_and_swap (dest, comp, exch); 520 } 521 522 #elif defined (TARGET_ANDROID) (lldb) up frame #1: 0x006292ea mini`ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued [inlined] mono_atomic_inc_i64 at atomic.h:397 [opt] 394 do { 395 get = *val; 396 set = get + 1; -> 397 } while (mono_atomic_cas_i64 (val, set, get) != get); 398 return set; 399 } 400 (lldb) up frame #2: 0x006292d6 mini`ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued at threadpool.c:743 [opt] 740 ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued (void) 741 { 742 #ifndef DISABLE_PERFCOUNTERS -> 743 mono_atomic_inc_i64 (&mono_perfcounters->threadpool_workitems); 744 #endif 745 } 746 ``` Note that the member `threadpool_workitems` is on an unnatural alignment (`0x16933124`) regarding to its type `gint64`. related xamarin/xamarin-macios#3826
should be fixed by 4aa8444 |
Verified with XI build Version: 11.11.0.317 (Visual Studio Community) Hash: f45440b. Apps are launching and executing successfully on 32 bit device. Logs:Build log: https://gist.github.com/GouriKumari/0b34927fd30db3565d2944e68a9bfd95 |
Closing this issue. |
clang fails to properly align 64bit members of the `MonoPerfCounters` struct on 32bit builds: ``` * thread mono/mono#1, name = 'tid_403', queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_ARM_DA_ALIGN, address=0x16933124) frame mono/mono#0: 0x0066f4b2 mini`mono_atomic_cas_i64(dest=0x16933124, exch=<unavailable>, comp=<unavailable>) at atomic.c:519 [opt] 516 gint64 517 mono_atomic_cas_i64(volatile gint64 *dest, gint64 exch, gint64 comp) 518 { -> 519 return __sync_val_compare_and_swap (dest, comp, exch); 520 } 521 522 #elif defined (TARGET_ANDROID) (lldb) up frame mono/mono#1: 0x006292ea mini`ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued [inlined] mono_atomic_inc_i64 at atomic.h:397 [opt] 394 do { 395 get = *val; 396 set = get + 1; -> 397 } while (mono_atomic_cas_i64 (val, set, get) != get); 398 return set; 399 } 400 (lldb) up frame mono/mono#2: 0x006292d6 mini`ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued at threadpool.c:743 [opt] 740 ves_icall_System_Threading_ThreadPool_NotifyWorkItemQueued (void) 741 { 742 #ifndef DISABLE_PERFCOUNTERS -> 743 mono_atomic_inc_i64 (&mono_perfcounters->threadpool_workitems); 744 #endif 745 } 746 ``` Note that the member `threadpool_workitems` is on an unnatural alignment (`0x16933124`) regarding to its type `gint64`. related xamarin/xamarin-macios#3826 Commit migrated from mono/mono@a36d08a
Steps to Reproduce
Expected Behavior
App launches and runs successfully
Actual Behavior
App launches with a black screen but fails with a stacktrace
Environment
Xamarin.iOS
Version: 11.11.0.155 (Visual Studio Community)
Hash: d458533
Build Logs
Build log: https://gist.github.com/GouriKumari/b1743a8dca173cf3db14cfc2e22f2369
Stacktrace:
monotouch-test: http://xqa.blob.core.windows.net/gist/report-627b3c1e82c44a6882e7d3c31da80d9f.txt
linksdk test: http://xqa.blob.core.windows.net/gist/report-2739bbe2fc744e75a436a2a44dd5b7d7.txt
linkalltest: http://xqa.blob.core.windows.net/gist/report-8d7550e89664400b83604c729b6eb063.txt
mini
The text was updated successfully, but these errors were encountered: