Open lhaussknecht opened 8 years ago
Hmm getting the same exception.... Been trying to hunt down random app crashes that started happening about a month ago after a Xamarin upgrade and finally was able to boil it down to this one as well...
I took a tombstone file and did an NDK-STACK against it and came up with what I pasted below... The tombstone file also has the same exception that @lhaussknecht posted
I'm a bit new to using ndk-stack so hopefully I did it correctly :-/
It's odd because I setup an empty project with ModernHttpclient and it works fine when the network is disconnected but on my main project it crashes... I removed ModernHttpclient completely from my main project and now it's not crashing at all..
Still trying to track down the difference between the fresh project and my own to see why one works with Modern and the other doesn't
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Stack frame #00 pc 0003bc96 /system/lib/libc.so (tgkill+22)
Stack frame #01 pc 00000005 <unknown>
Stack frame #00 pc 0003c426 /system/lib/libc.so (__ioctl+22)
Stack frame #01 pc ffffffff <unknown>
Stack frame #02 pc 00000bb6 <unknown>
Stack frame #03 pc 00000008 <unknown>
Stack frame #04 pc 0003bfaf /system/lib/libbinder.so
Stack frame #05 pc 00012eaf /system/lib/libutils.so
Stack frame #06 pc 00012ebf /system/lib/libutils.so
Stack frame #07 pc ffffffff <unknown>
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 0000845f [heap]
Stack frame #00 pc 0003d66b /system/lib/libc.so (__rt_sigtimedwait+27)
Stack frame #01 pc 000fcc97 [stack:3003]
Stack frame #00 pc 0003c610 /system/lib/libc.so (select+32)
Stack frame #01 pc 00000028 <unknown>
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 00072193 /system/lib/libdvm.so
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 0000162f [heap]
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 00001f8f [heap]
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 000028ef [heap]
Stack frame #00 pc 0003c426 /system/lib/libc.so (__ioctl+22)
Stack frame #01 pc 0000413f [heap]
Stack frame #00 pc 0003c426 /system/lib/libc.so (__ioctl+22)
Stack frame #01 pc 00004f3f [heap]
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 00008ebb <unknown>
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #00 pc 0003d8c3 /system/lib/libc.so (recvfrom+19)
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 00549c0f [heap]
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 005703df [heap]
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 0001dd4b [heap]
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 0000947b <unknown>
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 00f3493b [heap]
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 0001e71f [heap]
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 0001e6db [heap]
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 023f513f [heap]
Stack frame #00 pc 0003e179 /system/lib/libc.so (__futex_syscall4+25)
Stack frame #01 pc 00f3493b [heap]
I opened an issue in Xamarin's bugtracker, because this error only appears in Xamarin cycle 8. https://bugzilla.xamarin.com/show_bug.cgi?id=45003
Downgrading to latest cycle 7 (Xamarin.VisualStudio_4.1.2.18.msi in my case) fixed the problem. I'm not sure that someone from ModernHttpClient can do much about it.
Yea I saw that and the response of NEEDINFO :-/ That's what I was trying to create a sample for but so far I haven't been successful.. I think the issue might more be with OkHttp but that's just a wild guess... The only way I've been able to sort of simulate the issue is if I create lots of overlapping requests if the network is disconnected
So just kicking off a bunch of these
Task.Run(async () =>
{
try
{
await theClient.GetAsync("");
}
catch (Exception exc)
{
}
});
Task.Run(async () =>
{
try
{
await theClient.GetAsync("");
}
catch (Exception exc)
{
}
});
If I'm connected to wifi or I don't use Modern then it just trucks along. But if I disconnect from my network eventually I get things like this...
[mono-rt] Stacktrace:
[mono-rt]
[mono-rt] at <unknown> <0xffffffff>
[mono-rt] at (wrapper managed-to-native) object.__icall_wrapper_mono_gc_alloc_vector (intptr,intptr,intptr) <0x00043>
[mono-rt] at (wrapper alloc) object.AllocVector (intptr,intptr) <IL 0x0008a, 0x001cf>
[mono-rt] at System.Text.StringBuilder.ExpandByABlock (int) [0x00080] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/text/stringbuilder.cs:1992
[mono-rt] at System.Text.StringBuilder.Append (char*,int) [0x0008e] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/text/stringbuilder.cs:1693
[mono-rt] at System.Text.StringBuilder.AppendHelper (string) [0x0000b] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/text/stringbuilder.cs:678
[mono-rt] at System.Text.StringBuilder.Append (string) [0x0008c] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/text/stringbuilder.cs:666
[mono-rt] at string.Join (string,System.Collections.Generic.IEnumerable`1<string>) [0x0004e] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/string.cs:177
[mono-rt] at ModernHttpClient.NativeMessageHandler/<SendAsync>c__async0.MoveNext () [0x00218] in /Users/paul/code/paulcbetts/modernhttpclient/src/ModernHttpClient/Android/OkHttpNetworkHandler.cs:109
[mono-rt] at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<System.Net.Http.HttpResponseMessage>.Start<ModernHttpClient.NativeMessageHandler/<SendAsync>c__async0> (ModernHttpClient.NativeMessageHandler/<SendAsync>c__async0&) [0x00031] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:471
[mono-rt] at ModernHttpClient.NativeMessageHandler.SendAsync (System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken) <IL 0x0002e, 0x00197>
[mono-rt] at System.Net.Http.HttpMessageInvoker.SendAsync (System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken) [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpMessageInvoker.cs:68
[mono-rt] at System.Net.Http.HttpClient.<SendAsync>__BaseCallProxy0 (System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken) <IL 0x00003, 0x00067>
[mono-rt] at System.Net.Http.HttpClient/<SendAsyncWorker>c__async0.MoveNext () [0x00071] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClient.cs:272
[mono-rt] at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1<System.Net.Http.HttpResponseMessage>.Start<System.Net.Http.HttpClient/<SendAsyncWorker>c__async0> (System.Net.Http.HttpClient/<SendAsyncWorker>c__async0&) [0x00031] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:471
[mono-rt] at System.Net.Http.HttpClient.SendAsyncWorker (System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken) <IL 0x00036, 0x001af>
[mono-rt] at System.Net.Http.HttpClient.SendAsync (System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken) [0x000e7] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClient.cs:264
[mono-rt] at System.Net.Http.HttpClient.SendAsync (System.Net.Http.HttpRequestMessage) [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClient.cs:226
[mono-rt] at System.Net.Http.HttpClient.GetAsync (string) [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClient.cs:146
[mono-rt] at ALoadTestXamFormss.MyPage/<>c__DisplayClass0_0/<<-ctor>b__3>d.MoveNext () [0x00018] in D:\Documents\SkyDrive\Xamarin2\ALoadTestXamFormss\ALoadTestXamFormss\MyPage.xaml.cs:45
[mono-rt] at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<TStateMachine_REF> (TStateMachine_REF&) [0x00031] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:316
[mono-rt] at ALoadTestXamFormss.MyPage/<>c__DisplayClass0_0.<.ctor>b__3 () <IL 0x0002a, 0x001bf>
[mono-rt] at System.Threading.Tasks.Task`1<TResult_REF>.InnerInvoke () [0x00012] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Future.cs:680
[mono-rt] at System.Threading.Tasks.Task.Execute () [0x00016] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2502
[mono-rt] at System.Threading.Tasks.Task.ExecutionContextCallback (object) [0x00007] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2865
[mono-rt] at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) [0x0008d] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:957
[mono-rt] at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:904
[mono-rt] at System.Threading.Tasks.Task.ExecuteWithThreadLocal (System.Threading.Tasks.Task&) [0x0005f] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2827
[mono-rt] at System.Threading.Tasks.Task.ExecuteEntry (bool) [0x0006f] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2760
[mono-rt] at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2707
[mono-rt] at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00096] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/threadpool.cs:854
[mono-rt] at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/threadpool.cs:1209
[mono-rt] at (wrapper runtime-invoke) <Module>.runtime_invoke_bool (object,intptr,intptr,intptr) <IL 0x0001f, 0x0007b>
[mono-rt]
[mono-rt] Attempting native Android stacktrace:
[mono-rt]
[libc] Fatal signal 7 (SIGBUS), code 2, fault addr 0x9afbd000 in tid 10145 (Thread-24446)
[Mono] GC_BRIDGE waiting for bridge processing to finish
or this
10-07 12:52:09.770 8735-8868/com.companyname.aloadtestxamformss D/Mono: GC_BRIDGE waiting for bridge processing to finish
10-07 12:52:09.773 8735-9579/com.companyname.aloadtestxamformss E/mono-rt: Stacktrace:
10-07 12:52:09.773 8735-9579/com.companyname.aloadtestxamformss E/mono-rt: Attempting native Android stacktrace:
10-07 12:52:09.787 8735-9579/com.companyname.aloadtestxamformss E/mono-rt: at ???+0 [0x70c4ef50]
10-07 12:52:09.844 8735-9579/com.companyname.aloadtestxamformss E/mono-rt: at ???+0 [0xdead431f]
10-07 12:52:09.856 8735-9579/com.companyname.aloadtestxamformss E/mono-rt: =================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
10-07 12:52:09.857 8735-9579/com.companyname.aloadtestxamformss A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xdead4321 in tid 9579 (Thread-24384)
For now I've removed Modern and we are seeing no more app crashes.
Unfortunately Modern currently can't be compiled against the latest Mono https://github.com/paulcbetts/ModernHttpClient/issues/216
so not sure if something else more sinister has also fallen out of sync
The version you said is working for you has Mono Framework 4.4 where as the versions after have 4.6 ... There were some changes to TLS in 4.6 http://www.mono-project.com/docs/about-mono/releases/4.6.0/
Not sure if that relates :-)
I'm currently on vacation and had no chance to supply something for NEEDINFO...
We need to use mordern, because of the lack of TLS 1.2 support in the Mono implementation.
When I'm back I'll try to run some tests in my environment.
2016-10-07 21:17 GMT+02:00 Shane Neuville notifications@github.com:
Yea I saw that and the response of NEEDINFO :-/ That's what I was trying to create a sample for but so far I haven't been successful.. I think the issue might more be with OkHttp but that's just a wild guess... The only way I've been able to sort of simulate the issue is if I create lots of overlapping requests if the network is disconnected
So just kicking off a bunch of these
Task.Run(async () => { try { await theClient.GetAsync(""); } catch (Exception exc) { } }); Task.Run(async () => { try { await theClient.GetAsync(""); } catch (Exception exc) { } });
If I'm connected to wifi or I don't use Modern then it just trucks along. But if I disconnect from my network eventually I get things like this...
[mono-rt] Stacktrace: [mono-rt] [mono-rt] at
<0xffffffff> [mono-rt] at (wrapper managed-to-native) object.icall_wrapper_mono_gc_alloc_vector (intptr,intptr,intptr) <0x00043> [mono-rt] at (wrapper alloc) object.AllocVector (intptr,intptr) <IL 0x0008a, 0x001cf> [mono-rt] at System.Text.StringBuilder.ExpandByABlock (int) [0x00080] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/text/stringbuilder.cs:1992 [mono-rt] at System.Text.StringBuilder.Append (char*,int) [0x0008e] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/text/stringbuilder.cs:1693 [mono-rt] at System.Text.StringBuilder.AppendHelper (string) [0x0000b] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/text/stringbuilder.cs:678 [mono-rt] at System.Text.StringBuilder.Append (string) [0x0008c] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/text/stringbuilder.cs:666 [mono-rt] at string.Join (string,System.Collections.Generic.IEnumerable 1<string>) [0x0004e] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/string.cs:177 [mono-rt] at ModernHttpClient.NativeMessageHandler/<SendAsync>c__async0.MoveNext () [0x00218] in /Users/paul/code/paulcbetts/modernhttpclient/src/ModernHttpClient/Android/OkHttpNetworkHandler.cs:109 [mono-rt] at System.Runtime.CompilerServices.AsyncTaskMethodBuilder
1.Start<ModernHttpClient.NativeMessageHandler/ 3>d.MoveNext () [0x00018] in D:\Documents\SkyDrive\Xamarin2\ALoadTestXamFormss\ALoadTestXamFormss\MyPage.xaml.cs:45 [mono-rt] at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Startcasync0> (ModernHttpClient.NativeMessageHandler/ c async0&) [0x00031] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:471 [mono-rt] at ModernHttpClient.NativeMessageHandler.SendAsync (System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken) <IL 0x0002e, 0x00197> [mono-rt] at System.Net.Http.HttpMessageInvoker.SendAsync (System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken) [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpMessageInvoker.cs:68 [mono-rt] at System.Net.Http.HttpClient.BaseCallProxy0 (System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken) <IL 0x00003, 0x00067> [mono-rt] at System.Net.Http.HttpClient/ c async0.MoveNext () [0x00071] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClient.cs:272 [mono-rt] at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.Start<System.Net.Http.HttpClient/ casync0> (System.Net.Http.HttpClient/ c async0&) [0x00031] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:471 [mono-rt] at System.Net.Http.HttpClient.SendAsyncWorker (System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken) <IL 0x00036, 0x001af> [mono-rt] at System.Net.Http.HttpClient.SendAsync (System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken) [0x000e7] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClient.cs:264 [mono-rt] at System.Net.Http.HttpClient.SendAsync (System.Net.Http.HttpRequestMessage) [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClient.cs:226 [mono-rt] at System.Net.Http.HttpClient.GetAsync (string) [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/System.Net.Http/System.Net.Http/HttpClient.cs:146 [mono-rt] at ALoadTestXamFormss.MyPage/<>c__DisplayClass0_0/<<-ctor>b(TStateMachine_REF&) [0x00031] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:316 [mono-rt] at ALoadTestXamFormss.MyPage/<>c__DisplayClass0_0.<.ctor>b__3 () <IL 0x0002a, 0x001bf> [mono-rt] at System.Threading.Tasks.Task`1 .InnerInvoke () [0x00012] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Future.cs:680 [mono-rt] at System.Threading.Tasks.Task.Execute () [0x00016] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2502 [mono-rt] at System.Threading.Tasks.Task.ExecutionContextCallback (object) [0x00007] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2865 [mono-rt] at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) [0x0008d] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:957 [mono-rt] at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/executioncontext.cs:904 [mono-rt] at System.Threading.Tasks.Task.ExecuteWithThreadLocal (System.Threading.Tasks.Task&) [0x0005f] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2827 [mono-rt] at System.Threading.Tasks.Task.ExecuteEntry (bool) [0x0006f] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2760 [mono-rt] at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2707 [mono-rt] at System.Threading.ThreadPoolWorkQueue.Dispatch () [0x00096] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/threadpool.cs:854 [mono-rt] at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () [0x00000] in /Users/builder/data/lanes/3819/96c7ba6c/source/mono/mcs/class/referencesource/mscorlib/system/threading/threadpool.cs:1209 [mono-rt] at (wrapper runtime-invoke) .runtime_invoke_bool (object,intptr,intptr,intptr) <IL 0x0001f, 0x0007b> [mono-rt] [mono-rt] Attempting native Android stacktrace: [mono-rt] [libc] Fatal signal 7 (SIGBUS), code 2, fault addr 0x9afbd000 in tid 10145 (Thread-24446) [Mono] GC_BRIDGE waiting for bridge processing to finish or this
10-07 12:52:09.770 8735-8868/com.companyname.aloadtestxamformss D/Mono: GC_BRIDGE waiting for bridge processing to finish 10-07 12:52:09.773 8735-9579/com.companyname.aloadtestxamformss E/mono-rt: Stacktrace: 10-07 12:52:09.773 8735-9579/com.companyname.aloadtestxamformss E/mono-rt: Attempting native Android stacktrace: 10-07 12:52:09.787 8735-9579/com.companyname.aloadtestxamformss E/mono-rt: at ???+0 [0x70c4ef50] 10-07 12:52:09.844 8735-9579/com.companyname.aloadtestxamformss E/mono-rt: at ???+0 [0xdead431f] 10-07 12:52:09.856 8735-9579/com.companyname.aloadtestxamformss E/mono-rt: ================================================================= Got a SIGSEGV while executing native code. This usually indicates a fatal error in the mono runtime or one of the native libraries used by your application.
10-07 12:52:09.857 8735-9579/com.companyname.aloadtestxamformss A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xdead4321 in tid 9579 (Thread-24384)
For now I've removed Modern and we are seeing no more app crashes.
Unfortunately Modern currently can't be compiled against the latest Mono
216 https://github.com/paulcbetts/ModernHttpClient/issues/216
so not sure if something else more sinister has also fallen out of sync
The version you said is working for you has Mono Framework 4.4 where as the versions after have 4.6 ... There were some changes to TLS in 4.6 http://www.mono-project.com/docs/about-mono/releases/4.6.0/
Not sure if that relates :-)
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/paulcbetts/ModernHttpClient/issues/229#issuecomment-252338171, or mute the thread https://github.com/notifications/unsubscribe-auth/AAIjc1xwGqkGEqk7jCM3H2FD_2Wsm9svks5qxprPgaJpZM4KKG4z .
Aw ok
It looks like recent mono has brought TLS 1.2 to the table http://tirania.org/blog/archive/2016/Sep-30.html
http://www.mono-project.com/docs/about-mono/releases/4.6.0/
And through android you can use var client = new HttpClient ( new Xamarin.Android.Net.AndroidClientHandler ());
to Get TLS 1.2 https://developer.xamarin.com/releases/android/xamarin.android_6/xamarin.android_6.1/
Hey !
I found why we have crash when okhttp throw exception : It starts here https://github.com/paulcbetts/ModernHttpClient/blob/master/src/ModernHttpClient/Android/OkHttpNetworkHandler.cs#L184
When an exception occurs, it is set on the task. Then this exception is catch here : https://github.com/paulcbetts/ModernHttpClient/blob/master/src/ModernHttpClient/Android/OkHttpNetworkHandler.cs#L130
And when accessing the Java exception, it fails with sigsev. I think the Java collector collected the exception and we are accessing a part of the memory that we souldn't.
What I did ; As I don't need the typed exception, I've replace the tcs.TrySetException(p1) with tcs.TrySetException(new WebException(p1.Message));
I'm gonna put my version on a fork and provide a nuget package
Hotfix branch https://github.com/Youscribe/ModernHttpClient/tree/hotfix/cycle8-issue
Nupkg is attached (rename to .nupkg) modernhttpclient.2.4.3.2.zip
I'm so sick of xamarin :'(
I confirm that this fix solves a number of random crashes I experienced in my app. A network exception thrown by modern would eventually crash the app somewhere else. Any chance somebody can merge the fix?
I also am experiencing this problem. I am using VS Xamarin 4.2.1.64..
Youscribe hotfix branch seems to address the crashes. Development of ModernHttpClient seems to be pretty stagnant. Is anybody going to merge the branch with the source?
Xamarin does some things really well... but the added level and number of poorly maintained projects/bindings is really sad. Thanks @kYann for this fix, I'm trying now and hoping it fixes my issue.
Hopefully it will be merged into this soon?
+1. I'd really like to see this being merged as well. The solution is seemingly quite simple and straight forward.
Unfortunately, we can not downgrade to Cycle 7, as others have suggested, as we depend on Android Nougat (SDK 24) as our Target Platform which consequently requires Cycle 8.
Does anyone who are involved in this ticket know who we need to reach out to before this issue retrieves some attention?
We are using this fork, where a patch is implemented.
See: https://github.com/paulcbetts/ModernHttpClient/issues/229#issuecomment-253240817
2017-02-15 11:27 GMT+01:00 David Laundav notifications@github.com:
+1. I'd really like to see this being merged as well. The solution is seemingly quite simple and straight forward.
Unfortunately, we can not downgrade to Cycle 7, as others have suggested, as we depend on Android Nougat (SDK 24) as our Target Platform which consequently requires Cycle 8.
Does anyone who are involved in this ticket know who we need to reach out to before this issue retrieves some attention?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/paulcbetts/ModernHttpClient/issues/229#issuecomment-279973474, or mute the thread https://github.com/notifications/unsubscribe-auth/AAIjcxKUxJVUdwk-ymTDfjaSMJnkXdO4ks5rctL2gaJpZM4KKG4z .
We are using this fork, where a patch is implemented.
See:
229 (comment)
This is unfortunately not a viable solution for us either due to maintainability. We have to use official resources (i.e. the NuGet Package Manager) as we're shipping an application which is utilised by million of users.
Does anyone know when an official update will be provided through the NuGet Package Manager?
After making an http a call while network is disconnected, I get an UnknownHostException (which can be catched). Now turning on wifi and making the second call results in a app crash, which cannot be catched.
09-29 16:53:42.741: W/dalvikvm(14941): Invalid indirect reference 0xa2590e20 in decodeIndirectRef 09-29 16:53:42.741: I/dalvikvm(14941): "OkHttp https://*****/token" prio=5 tid=14 RUNNABLE 09-29 16:53:42.741: I/dalvikvm(14941): | group="main" sCount=0 dsCount=0 obj=0xb30f97f8 self=0xb8ff6130 09-29 16:53:42.741: I/dalvikvm(14941): | sysTid=15173 nice=0 sched=0/0 cgrp=apps handle=-1179120768 09-29 16:53:42.741: I/dalvikvm(14941): | state=R schedstat=( 49673122 22762814 2813 ) utm=4 stm=0 core=0 09-29 16:53:42.741: I/dalvikvm(14941): at md595f4b8ab717b9da13f11267a86077f20.AwaitableOkHttp_OkTaskCallback.monodroidAddReference(AwaitableOkHttp_OkTaskCallback.java:-1) 09-29 16:53:42.741: I/dalvikvm(14941): at md595f4b8ab717b9da13f11267a86077f20.AwaitableOkHttp_OkTaskCallback.n_onResponse(Native Method) 09-29 16:53:42.741: I/dalvikvm(14941): at md595f4b8ab717b9da13f11267a86077f20.AwaitableOkHttp_OkTaskCallback.onResponse(AwaitableOkHttp_OkTaskCallback.java:39) 09-29 16:53:42.741: I/dalvikvm(14941): at com.squareup.okhttp.Call$AsyncCall.execute(Call.java:168) 09-29 16:53:42.741: I/dalvikvm(14941): at com.squareup.okhttp.internal.NamedRunnable.run(NamedRunnable.java:33) 09-29 16:53:42.741: I/dalvikvm(14941): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 09-29 16:53:42.741: I/dalvikvm(14941): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 09-29 16:53:42.741: I/dalvikvm(14941): at java.lang.Thread.run(Thread.java:841) 09-29 16:53:42.741: E/dalvikvm(14941): VM aborting 09-29 16:53:42.741: A/libc(14941): Fatal signal 6 (SIGABRT) at 0x00003a5d (code=-6), thread 15173 (OkHttp Dispatch)