dblabs Ответов: 1

Сбой многопоточного приложения


Привет ребята,
Я выпустил приложение с помощью ссылки Leaf.xNet, и оно работает гладко в течение некоторого времени я могу запустить 150 потоков, соединяющих протокол HTTP или SOCKS, но так как я обновил Visual studio, то Leaf.xNet также до версии 5.2.5 после того, как я выпущу сбой приложения примерно через 30 секунд.

Ценю Ваше мнение по поводу этой ошибки.

У меня также есть в моем коде при наведении мыши на это исключение возможности (я не могу это исправить):
ЭКРАН: https://ibb.co/CtmpMTs

Там написано::
OutOfMemoryException

ThreadStateException


Что я уже пробовал:

Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
   at Leaf.xNet.Socks4ProxyClient.HandleCommandError(Byte)
   at Leaf.xNet.Socks4ProxyClient.SendCommand(System.Net.Sockets.NetworkStream, Byte, System.String, Int32)
   at Leaf.xNet.Socks4ProxyClient.CreateConnection(System.String, Int32, System.Net.Sockets.TcpClient)
   at Leaf.xNet.HttpRequest.CreateTcpConnection(System.String, Int32)
   at Leaf.xNet.HttpRequest.CreateConnection(System.Uri)
   at Leaf.xNet.HttpRequest.TryCreateConnectionOrUseExisting(System.Uri, System.Uri)
   at Leaf.xNet.HttpRequest.Request(Leaf.xNet.HttpMethod, System.Uri, Leaf.xNet.HttpContent)
   at Leaf.xNet.HttpRequest.Raw(Leaf.xNet.HttpMethod, System.Uri, Leaf.xNet.HttpContent)
   at Leaf.xNet.HttpRequest.Raw(Leaf.xNet.HttpMethod, System.String, Leaf.xNet.HttpContent)
   at Leaf.xNet.HttpRequest.Get(System.String, Leaf.xNet.RequestParams)
   at App.Form1.Live()
   at System.Threading.ThreadHelper.ThreadStart_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.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.ThreadHelper.ThreadStart()

1 Ответов

Рейтинг:
6

OriginalGriff

Если вы ищете в google тип ошибки: System.AccessViolationException обычно вы получаете хорошее описание того, почему это произошло: Класс AccessViolationException (System) | Microsoft Docs[^]
Так что что-то в вашем Live метод пытается использовать память, которой у него нет.

Мы не можем помочь вам здесь: мы понятия не имеем, что должен делать ваш код, а тем более как он это делает! Если это внезапно начало происходить, когда вы обновили лист, то вернитесь к ним и начните описывать проблему там - посмотрите, встречались ли они с ней раньше или могут дать вам указания, где искать или что вы сделали неправильно.