Skip to content

System.ArgumentException on Ping SendPacket #53

Open

Description

@hideflolife

Application: SummitCommunicationService.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentException
at System.Collections.Hashtable.Insert(System.Object, System.Object, Boolean)
at System.Collections.Hashtable.Add(System.Object, System.Object)
at System.Collections.Specialized.NameObjectCollectionBase.BaseAdd(System.String, System.Object)
at System.Collections.Specialized.NameValueCollection.Add(System.String, System.String)
at System.Net.HttpWebRequest.SetSpecialHeaders(System.String, System.String)
at System.Net.HttpWebRequest.set ContentType(System.String)
at Quobject.EngineIoClientDotNet.Client.Transports.PollingXHR+XHRRequest.Create()
at Quobject.EngineIoClientDotNet.Client.Transports.PollingXHR.DoWrite(Byte[], System.Action)
at Quobject.EngineIoClientDotNet.Client.Transports.Polling+SendEncodeCallback.Call(System.Object)
at Quobject.EngineIoClientDotNet.Parser.Packet.EncodePayload(Quobject.EngineIoClientDotNet.Parser.Packet[], Quobject.EngineIoClientDotNet.Parser.IEncodeCallback)
at Quobject.EngineIoClientDotNet.Client.Transports.Polling.Write(System.Collections.Immutable.ImmutableList1(Quobject.EngineIoClientDotNet.Parser.Packet)) at Quobject.EngineIoClientDotNet.Client.Transport.Send(System.Collections.Immutable.ImmutableList1(Quobject.EngineIoClientDotNet.Parser.Packet))
at Quobject.EngineIoClientDotNet.Client.Socket.Flush()
at Quobject.EngineIoClientDotNet.Client.Socket.SendPacket(Quobject.EngineIoClientDotNet.Parser.Packet, System.Action)
at Quobject.EngineIoClientDotNet.Client.Socket.(SetPing)b 65 0()
at Quobject.EngineIoClientDotNet.Thread.EasyTimer+()c DisplayClass2 0.(SetTimeout)b 0()
at System.Threading.Tasks.AwaitTaskContinuation.InvokeAction(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.Tasks.AwaitTaskContinuation.RunCallback(System.Threading.ContextCallback, System.Object, System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.AwaitTaskContinuation+()c.(ThrowAsyncIfNecessary)b 18 0(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()

Activity

  1. hideflolife commented on Feb 22, 2018

    @hideflolife
    Author

    Sorry, for the multiple edits - was losing characters.

  2. hideflolife commented on Feb 27, 2018

    @hideflolife
    Author

    I'm investigating this now but it may have to do with the PollingXHR.Create's Task.Run never finishing until it runs out of threads and then finally craps out due to exceptions. I think this is due to if incoming messages (data) continuously calling OnData, which then recurses back into a new Poll and a new Task.Run.

    I'm thinking that Polling._onData should not initiate another Poll, but instead just finish with parsing.

  3. hideflolife commented on Mar 1, 2018

    @hideflolife
    Author

    To recreate this issue, use PollingXHR only and then send socket information from the server every 500ms-1000ms indefinitely. The client will continue to recurse into a new Poll via the _onData function - not allowing the initial PollingXHR.Create's Task.Run to complete. Eventually, due to stack overflow/memory issues, Create's will fail into the general exception try/catch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions