2009-10-31 3 views
1

У меня есть такой код:System.ArgumentNullException в System.Threading.Monitor.Enter

Некоторые из наших клиентов, получающих «System.ArgumentNullException в System.Threading.Monitor.Enter» в следующем блоке кода :

Public Class CheckStuff 

    Private Shared SLock As New Object 

    Public Sub GetIt() 
      Synclock SLock 
      DoSomething() 
      End Synclock  
    End Sub 
End Class 

Как это возможно? Учитывая, что SLock является общим, никогда не касающимся нигде?

+1

Одиночная проблема. Вы когда-нибудь находили какое-либо решение этой проблемы? – prem

+0

У меня также была эта проблема. Решение было тривиально - я не создавал объект блокировки. –

ответ

1

Я предполагаю, что вы упростили свой образец кода - его нужно трогать от чего-то еще, чтобы сделать его Nothing. Или, ваш метод блокировки вызывается до того, как CheckStuff завершил инициализацию. Трассировка стека была бы полезна.

+0

В этом проблема, я просто ищу все ссылки и их нет. Также это никогда не происходило в нашей среде разработки или тестирования, хотя сообщалось от 2 клиентов. –

+1

У вас есть трассировка стека? –

+0

System.Threading.Monitor.Enter (obj As Object) .. ThreadAcc.exe: N 00000 .. GetIt() ... вызван из GUI –