OpenTl / OpenTl.ClientApi

The Api client library that implements the MtProto 2.0. To connect to servers, such as Telegram
MIT License
80 stars 24 forks source link

unhandled OpenTl.ClientApi.MtProto.Services.RequestService.ReturnException let the application crash #30

Open djonasdev opened 5 years ago

djonasdev commented 5 years ago

I have the following log4net logging:

2018-12-11 11:09:57,828 [7] WARN  OpenTl.ClientApi.MtProto.Services.RequestService.<AttachRequestToMessageId>b__1 - #6935570906255169581: Message response result timed out for messageid '6633673186519388524'
2018-12-11 11:09:57,964 [3] WARN  OpenTl.ClientApi.MtProto.Services.RequestService.<AttachRequestToMessageId>b__1 - #6935570906255169581: Message response result timed out for messageid '6633673186968179056'
2018-12-11 11:09:57,966 [3] ERROR OpenTl.ClientApi.MtProto.Services.RequestService.ReturnException - #6935570906255169581: All requests was processed with error
System.Threading.Tasks.TaskCanceledException: Eine Aufgabe wurde abgebrochen.
   bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bei OpenTl.ClientApi.MtProto.Layers.Top.Adapters.TopHandlerAdapter.<SendInitConnectionRequest>d__20.MoveNext()

NLog unhandled exception output

2018-12-11 11:09:57.8307 | FATAL | SystrayGui.Logger | Fatal Error: Unhandled Exception thrown: Message 'Eine Aufgabe wurde abgebrochen.' StackTrace '   bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bei OpenTl.ClientApi.MtProto.Services.RequestSenderService.<SendRequestAsync>d__12`1.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
   bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bei OpenTl.ClientApi.Services.UpdatesService.<GetUpdatesFromState>d__11.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
   bei System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   bei OpenTl.ClientApi.Services.UpdatesService.<<StartReceiveUpdates>b__12_0>d.MoveNext()
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
   bei System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_1(Object state)
   bei System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
   bei System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   bei System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   bei System.Threading.ThreadPoolWorkQueue.Dispatch()
   bei System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()' Data 'System.Collections.ListDictionaryInternal'

My application crashes because I cannot catch the exception..

KoalaBear84 commented 5 years ago

Hmm, maybe this might help with the problem of why updates fail to deliver after some time. (I haven't tested this with the latest version).

nikkozp commented 5 years ago

Hi, have same problem

using next code

client.UpdatesService.StartReceiveUpdates(TimeSpan.FromMilliseconds(300)); // Send message to myself client.UpdatesService.AutoReceiveUpdates += diff => { //Empty };

Working 3-5 min and my App Crashing

vik-borisov commented 5 years ago

@nikkozp Hello! 300 ms is a very small scan rate, most likely you are blocked for flooding. Try from 1s and connect logger to see errors https://github.com/OpenTl/OpenTl.ClientApi/wiki/How-to-attach-a-logger

nikkozp commented 5 years ago

@vik-borisov Thx for help

Testing from 1 sec, 3hour working and crash now. Сould this be due to the fact that the official telegram have been launched?

nikkozp commented 5 years ago

Error in VS Log

Загружено "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Transactions.resources\v4.0_4.0.0.0_ru_b77a5c561934e089\System.Transactions.resources.dll". Сборка модуля выполнена без символов.
System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Необработанное исключение</Description><AppDomain>BountyBot.exe</AppDomain><Exception><ExceptionType>DotNetty.Transport.Channels.ClosedChannelException, DotNetty.Transport, Version=0.6.0.0, Culture=neutral, PublicKeyToken=bc13ca065fa06c29</ExceptionType><Message>Ошибка ввода-вывода.</Message><StackTrace>   в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   в OpenTl.ClientApi.MtProto.Services.RequestSenderService.&amp;lt;SendRequestAsync&amp;gt;d__12`1.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   в OpenTl.ClientApi.Services.UpdatesService.&amp;lt;GetUpdatesFromState&amp;gt;d__11.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   в OpenTl.ClientApi.Services.UpdatesService.&amp;lt;&amp;lt;StartReceiveUpdates&amp;gt;b__12_0&amp;gt;d.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в System.Runtime.CompilerServices.AsyncMethodBuilderCore.&amp;lt;&amp;gt;c.&amp;lt;ThrowAsync&amp;gt;b__6_1(Object state)
   в System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
   в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   в System.Threading.ThreadPoolWorkQueue.Dispatch()
   в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()</StackTrace><ExceptionString>DotNetty.Transport.Channels.ClosedChannelException: Ошибка ввода-вывода.
   в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   в OpenTl.ClientApi.MtProto.Services.RequestSenderService.&amp;lt;SendRequestAsync&amp;gt;d__12`1.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   в OpenTl.ClientApi.Services.UpdatesService.&amp;lt;GetUpdatesFromState&amp;gt;d__11.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   в OpenTl.ClientApi.Services.UpdatesService.&amp;lt;&amp;lt;StartReceiveUpdates&amp;gt;b__12_0&amp;gt;d.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в System.Runtime.CompilerServices.AsyncMethodBuilderCore.&amp;lt;&amp;gt;c.&amp;lt;ThrowAsync&amp;gt;b__6_1(Object state)
   в System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
   в System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   в System.Threading.ThreadPoolWorkQueue.Dispatch()
   в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()</ExceptionString></Exception></TraceRecord>
Необработанное исключение типа "DotNetty.Transport.Channels.ClosedChannelException" в mscorlib.dll
Ошибка ввода-вывода.
wasimjee commented 4 years ago

Any Updates on This

KoalaBear84 commented 4 years ago

As already mentioned in the other issue: https://github.com/OpenTl/OpenTl.ClientApi/issues/50

The project is abandoned, so will probably never get anything.

wasimjee commented 4 years ago

Application: MyApp.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.NullReferenceException at OpenTl.ClientApi.MtProto.Services.RequestService+<>c__DisplayClass6_0.b0(RequestCacheItem) at System.Linq.Enumerable.FirstOrDefault[[System.Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable1<System.__Canon>, System.Func2<System.Canon,Boolean>) at OpenTl.ClientApi.MtProto.Services.RequestService.AttachRequestToMessageId(OpenTl.Schema.IRequest, Int64) at OpenTl.ClientApi.MtProto.Layers.Secure.Codecs.SecureRequestEncoder.Encode(DotNetty.Transport.Channels.IChannelHandlerContext, OpenTl.Schema.IObject, DotNetty.Buffers.IByteBuffer) at DotNetty.Codecs.MessageToByteEncoder`1[[System.Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].WriteAsync(DotNetty.Transport.Channels.IChannelHandlerContext, System.Object)

Exception Info: DotNetty.Codecs.EncoderException at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task) at OpenTl.ClientApi.MtProto.Services.RequestSenderService+d12`1[[System.Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task) at OpenTl.ClientApi.Services.UpdatesService+d11.MoveNext() at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task) at OpenTl.ClientApi.Services.UpdatesService+<b12_0>d.MoveNext() at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.b__6_1(System.Object) at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()