Skip to content
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

Xamarin.iOS System.TimeoutException: Operation Timeout expired #535

Closed
craylward opened this issue Jun 22, 2018 · 6 comments
Closed

Xamarin.iOS System.TimeoutException: Operation Timeout expired #535

craylward opened this issue Jun 22, 2018 · 6 comments
Labels
IoTSDK Tracks all IoT SDK issues across the board xamarin Tracking multiple issues regarding Xamarin applications for Android, iOS and UWP.

Comments

@craylward
Copy link

craylward commented Jun 22, 2018

  • OS, version, SKU and CPU architecture used: iOS 11.1
  • Application's .NET Target Framework : Xamarin.iOS SDK 11.10.1.178
  • Device: iPhone 7

Description of the issue:

When running the Xamarin.iOS sample and calling the ReceiveCommands method, receive an uncaught System.TimeoutException after ~4-5 minutes with internet disconnected.

Code sample exhibiting the issue:

Xamarin.iOS Sample code in this repo

Console log of the issue:

2018-06-22 07:22:31.871 XamarinSample.iOS[429:85436] 
Device waiting for commands from IoTHub...
Thread started: <Thread Pool> #4
Thread started: <Thread Pool> #5
Thread started: <Thread Pool> #6
Thread started: <Thread Pool> #7
Thread finished: <Thread Pool> #4
Thread started: <Thread Pool> #8
The thread 0x4 has exited with code 0 (0x0).
Thread finished: <Thread Pool> #5
The thread 0x5 has exited with code 0 (0x0).
Thread started: <Thread Pool> #9
Thread started: <Thread Pool> #10
Thread finished: <Thread Pool> #8
Thread started: <Thread Pool> #11
The thread 0x8 has exited with code 0 (0x0).
Thread finished: <Thread Pool> #11
Thread started: <Thread Pool> #12
The thread 0xb has exited with code 0 (0x0).
Thread finished: <Thread Pool> #9
The thread 0x9 has exited with code 0 (0x0).
Thread started: <Thread Pool> #13
Unhandled Exception:

System.TimeoutException: <Timeout exceeded getting exception details>

Thread finished: <Thread Pool> #12
The thread 0xc has exited with code 0 (0x0).
Thread finished: <Thread Pool> #13
The thread 0xd has exited with code 0 (0x0).
Thread finished: <Thread Pool> #6
The thread 0x6 has exited with code 0 (0x0).
2018-06-22 07:26:43.120 XamarinSample.iOS[429:85436] 
Unhandled Exception:
System.TimeoutException: Operation timeout expired.
  at Microsoft.Azure.Devices.Client.InternalClient+<>c.<ApplyTimeoutMessage>b__63_2 (System.Threading.Tasks.Task`1[TResult] t) [0x00013] in <ac8dfeb9dc95430198e73ee4f94880c5>:0 
  at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[TAntecedentResult,TResult].InnerInvoke () [0x00024] in <b238a3153e534349ad10ed0787f2157a>:0 
  at System.Threading.Tasks.Task.Execute () [0x00010] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2509 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:152 
  at System.Runti
me.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <b238a3153e534349ad10ed0787f2157a>:0 
  at XamarinSample.MainPage+<
ReceiveCommands>d__14.MoveNext () [0x00079] in C:\Users\AylwaC01\Downloads\azure-iot-sdk-csharp-master\azure-iot-sdk-csharp-master\iothub\device\samples\XamarinSample\XamarinSample\XamarinSample\MainPage.xaml.cs:93 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:152 
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0 (System.Object state) [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1018 
  at UIKit.UIKitSynchronizationContext+<>c__DisplayClass1_0.<Post>b__0 () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/UIKit/UIKitSynchro
nizationContext.cs:24 
  at Foundation.NSAsyncActionDispatcher.Apply () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/Foundation/NSAction.cs:125 
  at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
  at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/UIKit/UIApplication.cs:79 
  at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0002c] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/UIKit/UIApplication.cs:63 
  at XamarinSample.iOS.Application.Main (System.String[] args) [0x00001] in C:\Users\AylwaC01\Downloads\azure-iot-sdk-csharp-master\azure-iot-sdk-csharp-master\iothub\device\samples\XamarinSample\XamarinSample\XamarinSample.iOS\Main.cs:17 
2018-06-22 07:26:43.127 XamarinSample.iOS[429:85436] Unhandled managed exception:
Operation timeout expired. (System.TimeoutException)
  at Microsoft.Azure.Devices.Client.InternalClient+<>c.<ApplyTimeoutMessage>b__63_2 (System.Threading.Tasks.Task`1[TResult] t) [0x00013] in <ac8dfeb9dc95430198e73ee4f94880c5>:0 
  at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2[TAntecedentResult,TResult].InnerInvoke () [0x00024] in <b238a3153e534349ad10ed0787f2157a>:0 
  at System.Threading.Tasks.Task.Execute () [0x00010] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/threading/Tasks/Task.cs:2509 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:152 
  at Syst
em.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00037] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:187 
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00028] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:156 
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00008] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/TaskAwaiter.cs:128 
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <b238a3153e534349ad10ed0787f2157a>:0 
  at XamarinSample.Ma
inPage+<ReceiveCommands>d__14.MoveNext () [0x00079] in C:\Users\AylwaC01\Downloads\azure-iot-sdk-csharp-master\azure-iot-sdk-csharp-master\iothub\device\samples\XamarinSample\XamarinSample\XamarinSample\MainPage.xaml.cs:93 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:152 
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0 (System.Object state) [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/mcs/class/referencesource/mscorlib/system/runtime/compilerservices/AsyncMethodBuilder.cs:1018 
  at UIKit.UIKitSynchronizationContext+<>c__DisplayClass1_0.<Post>b__0 () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/UIKit/UIKi
tSynchronizationContext.cs:24 
  at Foundation.NSAsyncActionDispatcher.Apply () [0x00000] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/Foundation/NSAction.cs:125 
  at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
  at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/UIKit/UIApplication.cs:79 
  at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0002c] in /Library/Frameworks/Xamarin.iOS.framework/Versions/11.12.0.4/src/Xamarin.iOS/UIKit/UIApplication.cs:63 
  at XamarinSample.iOS.Application.Main (System.String[] args) [0x00001] in C:\Users\AylwaC01\Downloads\azure-iot-sdk-csharp-master\azure-iot-sdk-csharp-master\iothub\device\samples\XamarinSample\XamarinSample\XamarinSample.iOS\Main.cs:17 
2018-06-22 07:26:43.127 Xamarin
Sample.iOS[429:85436] critical: Stacktrace:

2018-06-22 07:26:43.128 XamarinSample.iOS[429:85436] critical: 
Native stacktrace:
2018-06-22 07:26:43.134 XamarinSample.iOS[429:85436] critical: 	0   XamarinSample.iOS                   0x00000001054cb0e8 XamarinSample.iOS + 46821608
2018-06-22 07:26:43.134 XamarinSample.iOS[429:85436] critical: 	1   libsystem_platform.dylib            0x00000001850d7b44 _sigtramp + 52
2018-06-22 07:26:43.135 XamarinSample.iOS[429:85436] critical: 	2   libsystem_pthread.dylib             0x00000001850dd344 <redacted> + 396
2018-06-22 07:26:43.135 XamarinSample.iOS[429:85436] critical: 	3   libsystem_c.dylib                   0x0000000184f38fb8 abort + 140
2018-06-22 07:26:43.136 XamarinSample.iOS[429:85436] critical: 	4   XamarinSample.iOS                   0x00000001055de160 xamarin_get_block_descriptor + 8528
2018-06-22 07:26:43.137 XamarinSample.iOS[429:85436] critical: 	5   XamarinSample.iOS                   0x000000010550aee0 mono_pmip + 225460
2018-06-22 07:26:43.138 XamarinSample.iOS[429:85436] critical: 	6   XamarinSample.iOS                   0x00000001054caea8 XamarinSample.iOS + 46821032
2018-06-22 07:26:43.138 XamarinSample.iOS[429:85436] critical: 	7   XamarinSample.iOS                   0x00000001054c9bf0 XamarinSample.iOS + 46816240
Thread started: <Thread Pool> #14
2018-06-22 07:26:43.139 XamarinSample.iOS[429:85436] critical: 	8   XamarinSample.iOS                   0x00000001054c21c4 XamarinSample.iOS + 46784964
2018-06-22 07:26:43.139 XamarinSample.iOS[429:85436] critical: 	9   XamarinSample.iOS                   0x0000000102b8e7b8 XamarinSample.iOS + 3581880
2018-06-22 07:26:43.141 XamarinSample.iOS[429:85436] critical: 	11  XamarinSample.iOS                   0x0000000102a30b14 XamarinSample.iOS + 2149140
2018-06-22 07:26:43.140 XamarinSample.iOS[429:85436] critical: 	10  XamarinSample.iOS                   0x0000000102a2963c XamarinSample.iOS + 2119228
2018-06-22 07:26:43.142 XamarinSample.iOS[429:85436] critical: 	13  XamarinSample.iOS                   0x0000000102c32cb4 XamarinSample.iOS + 4254900
2018-06-22 07:26:43.142 XamarinSample.iOS[429:85436] critical: 	14  XamarinSample.iOS                   0x0000000102b57138 XamarinSample.iOS + 3354936
2018-06-22 07:26:43.141 XamarinSample.iOS[429:85436] critical: 	12  XamarinSample.iOS                   0x0000000102c06a08 XamarinSample.iOS + 4073992
2018-06-22 07:26:43.143 XamarinSample.iOS[429:85436] critical: 	15  XamarinSample.iOS                   0x00000001054d9558 mono_pmip + 22316
2018-06-22 07:26:43.144 XamarinSample.iOS[429:85436] critical: 	16  XamarinSample.iOS                   0x0000000105541c20 mono_pmip + 450036
2018-06-22 07:26:43.144 XamarinSample.iOS[429:85436] critical: 	17  XamarinSample.iOS                   0x00000001055451e0 mono_pmip + 463796
2018-06-22 07:26:43.145 XamarinSample.iOS[429:85436] critical: 	18  XamarinSample.iOS                   0x00000001028284c8 XamarinSample.iOS + 17608
2018-06-22 07:26:43.145 XamarinSample.iOS[429:85436] critical: 	19  XamarinSample.iOS                   0x0000000102829584 XamarinSample.iOS + 21892
2018-06-22 07:26:43.146 XamarinSample.iOS[429:85436] critical: 	20  Foundation                          0x0000000185ea2a50 <redacted> + 340
2018-06-22 07:26:43.147 XamarinSample.iOS[429:85436] critical: 	21  CoreFoundation                      0x000000018545a2e8 <redacted> + 24
2018-06-22 07:26:43.147 XamarinSample.iOS[429:85436] critical: 	22  CoreFoundation                      0x000000018545a268 <redacted> + 88
2018-06-22 07:26:43.147 XamarinSample.iOS[429:85436] critical: 	23  CoreFoundation                      0x0000000185459af0 <redacted> + 204
2018-06-22 07:26:43.148 XamarinSample.iOS[429:85436] critical: 	24  CoreFoundation                      0x00000001854576c8 <redacted> + 1048
2018-06-22 07:26:43.148 XamarinSample.iOS[429:85436] critical: 	25  CoreFoundation                      0x0000000185377fb8 CFRunLoopRunSpecific + 436
2018-06-22 07:26:43.149 XamarinSample.iOS[429:85436] critical: 	26  GraphicsServices                    0x000000018720df84 GSEventRunModal + 100
2018-06-22 07:26:43.149 XamarinSample.iOS[429:85436] critical: 	27  UIKit                               0x000000018e94a598 UIApplicationMain + 208
2018-06-22 07:26:43.149 XamarinSample.iOS[429:85436] critical: 	28  XamarinSample.iOS                   0x0000000102c66500 XamarinSample.iOS + 4465920
2018-06-22 07:26:43.150 XamarinSample.iOS[429:85436] critical: 	29  XamarinSample.iOS                   0x0000000102bfe12c XamarinSample.iOS + 4038956
2018-06-22 07:26:43.150 XamarinSample.iOS[429:85436] critical: 	30  XamarinSample.iOS                   0x0000000102bfe0ec XamarinSample.iOS + 4038892
2018-06-22 07:26:43.150 XamarinSample.iOS[429:85436] critical: 	31  XamarinSample.iOS                   0x00000001028491e0 XamarinSample.iOS + 152032
2018-06-22 07:26:43.151 XamarinSample.iOS[429:85436] critical: 	32  XamarinSample.iOS                   0x0000000102b57138 XamarinSample.iOS + 3354936
2018-06-22 07:26:43.151 XamarinSample.iOS[429:85436] critical: 	33  XamarinSample.iOS                   0x00000001054d9558 mono_pmip + 22316
2018-06-22 07:26:43.151 XamarinSample.iOS[429:85436] critical: 	34  XamarinSample.iOS                   0x0000000105541c20 mono_pmip + 450036
2018-06-22 07:26:43.152 XamarinSample.iOS[429:85436] critical: 	35  XamarinSample.iOS                   0x0000000105546e24 mono_pmip + 471032
2018-06-22 07:26:43.152 XamarinSample.iOS[429:85436] critical: 	36  XamarinSample.iOS                   0x00000001054c19a8 XamarinSample.iOS + 46782888
2018-06-22 07:26:43.152 XamarinSample.iOS[429:85436] critical: 	37  XamarinSample.iOS                   0x00000001055ec620 _Z9__isctypeim + 47160
2018-06-22 07:26:43.153 XamarinSample.iOS[429:85436] critical: 	38  XamarinSample.iOS                   0x00000001028490d8 XamarinSample.iOS + 151768
2018-06-22 07:26:43.153 XamarinSample.iOS[429:85436] critical: 	39  libdyld.dylib                       0x0000000184e9a56c <redacted> + 4
The app has been terminated.
2018-06-22 07:26:43.153 XamarinSample.iOS[429:85436] critical: 
=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================
Failed to Stop app:  An error occured on client IDB4100448 while executing a reply for topic xvs/idb/4.10.0.448/stop-app
The app has been terminated.

@craylward craylward changed the title Xamarin.iOS System.TimeoutException Operation Timeout expired Xamarin.iOS System.TimeoutException: Operation Timeout expired Jun 22, 2018
@CIPop
Copy link
Member

CIPop commented Jun 28, 2018

Thanks for reporting @craylward . Is this the same with #519?

@CIPop CIPop added the bug Something isn't working. label Jun 28, 2018
@CIPop CIPop added this to To Do in Xamarin stabilization via automation Jun 28, 2018
@craylward
Copy link
Author

Seems to be a slightly different issue based on the output of the stack trace.. #519 looks like the root cause is the AMQP transport layer.

@RubiaL
Copy link

RubiaL commented Oct 10, 2019

Thanks for the feedback.This is currently in our backlog and will consider it as part of our planning cycle.

@sharmasejal sharmasejal added the IoTSDK Tracks all IoT SDK issues across the board label Mar 19, 2020
@abhipsaMisra abhipsaMisra added the xamarin Tracking multiple issues regarding Xamarin applications for Android, iOS and UWP. label May 15, 2020
@vinagesh vinagesh removed the bug Something isn't working. label Dec 9, 2020
@vinagesh
Copy link
Member

Yes this is expected when the network is disconnected. You need to ignore this exception conditionally for the device client to continue retrying to connect. Once the network connection is back, the receive operations will resume.

Here is a sample that shows how to implement it: DeviceReconnectionSample

Xamarin stabilization automation moved this from To Do to Done Jun 28, 2021
@abhipsaMisra
Copy link
Member

Re-opening and closing to work around dashboard issue.

@abhipsaMisra abhipsaMisra reopened this Jul 1, 2021
Xamarin stabilization automation moved this from Done to In progress Jul 1, 2021
@abhipsaMisra
Copy link
Member

Closing the issue.

Xamarin stabilization automation moved this from In progress to Done Jul 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
IoTSDK Tracks all IoT SDK issues across the board xamarin Tracking multiple issues regarding Xamarin applications for Android, iOS and UWP.
Projects
Development

No branches or pull requests

6 participants