You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have websocket client running in Safari in iPad(iOS v7.1.2) which tries to disconnect itself from server by calling websocket.close(). On server side I get unhandled exception and application crashes.
Unhandled Exception:
06-23 16:01:58.723 E/mono ( 5122): System.ArgumentException: Buffer is empty
06-23 16:01:58.723 E/mono ( 5122): Parameter name: buffers
06-23 16:01:58.723 E/mono ( 5122): at System.Net.Sockets.Socket.Send (IList1 buffers, SocketFlags socketFlags, System.Net.Sockets.SocketError& errorCode) [0x00000] in <filename unknown>:0 06-23 16:01:58.723 E/mono ( 5122): at System.Net.Sockets.Socket.Send (IList1 buffers, SocketFlags socketFlags) [0x00000] in :0
06-23 16:01:58.723 E/mono ( 5122): at System.Net.Sockets.Socket+Worker.SendGeneric () [0x00000] in :0
06-23 16:01:58.748 F/ ( 5122): * Assertion at /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/mono/mono/io-layer/wthreads.c:93, condition `ok' not met
Further more if I look at the stack trace, error is thrown while simaphore is tried to release in ReceiveEventArgs_Completed event handler under else condition. Sample code below.
I have posted the issue @ Olivine-Labs/Alchemy-Websockets-Example#2 .
But looks like that is not the right thread. Posting it here.
I have websocket client running in Safari in iPad(iOS v7.1.2) which tries to disconnect itself from server by calling websocket.close(). On server side I get unhandled exception and application crashes.
Unhandled Exception:
06-23 16:01:58.723 E/mono ( 5122): System.ArgumentException: Buffer is empty
06-23 16:01:58.723 E/mono ( 5122): Parameter name: buffers
06-23 16:01:58.723 E/mono ( 5122): at System.Net.Sockets.Socket.Send (IList
1 buffers, SocketFlags socketFlags, System.Net.Sockets.SocketError& errorCode) [0x00000] in <filename unknown>:0 06-23 16:01:58.723 E/mono ( 5122): at System.Net.Sockets.Socket.Send (IList
1 buffers, SocketFlags socketFlags) [0x00000] in :006-23 16:01:58.723 E/mono ( 5122): at System.Net.Sockets.Socket+Worker.SendGeneric () [0x00000] in :0
06-23 16:01:58.748 F/ ( 5122): * Assertion at /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/mono/mono/io-layer/wthreads.c:93, condition `ok' not met
Further more if I look at the stack trace, error is thrown while simaphore is tried to release in ReceiveEventArgs_Completed event handler under else condition. Sample code below.
if (context.ReceivedByteCount > 0)
{
context.Handler.HandleRequest(context);
context.ReceiveReady.Release();
StartReceive(context);
}
else
{
context.Disconnect();
context.ReceiveReady.Release();
}
Stack Trace
16:01:58.748 E/mono-rt ( 5122): Stacktrace:
06-23 16:01:58.748 E/mono-rt ( 5122):
06-23 16:01:58.748 E/mono-rt ( 5122): at <0xffffffff>
06-23 16:01:58.748 E/mono-rt ( 5122): at (wrapper managed-to-native) System.Threading.NativeEventCalls.SetEvent_internal (intptr) <IL 0x00021, 0xffffffff>
06-23 16:01:58.748 F/libc ( 5122): Fatal signal 6 (SIGABRT) at 0x00001402 (code=-6), thread 5185 (xxxxpackage.namexxx) 06-23 16:01:58.748 E/mono-rt ( 5122): at System.Threading.EventWaitHandle.Set () <IL 0x00018, 0x000fb>
06-23 16:01:58.748 E/mono-rt ( 5122): at (wrapper remoting-invoke-with-check) System.Threading.EventWaitHandle.Set () <IL 0x00038, 0xffffffff>
06-23 16:01:58.748 E/mono-rt ( 5122): at System.Threading.SemaphoreSlim.Release (int) <IL 0x0005f, 0x001d7>
06-23 16:01:58.753 E/mono-rt ( 5122): at System.Threading.SemaphoreSlim.Release () <IL 0x00002, 0x00067>
06-23 16:01:58.753 E/mono-rt ( 5122): at Alchemy.WebSocketServer.ReceiveEventArgs_Completed (object,System.Net.Sockets.SocketAsyncEventArgs) [0x00077] in c:\Alchemy-Websockets-NetCookies\Alchemy-Websockets-NetCookies-master\src\Alchemy.NetCookies.Android\WebSocketServer.cs:331
06-23 16:01:58.753 F/ ( 5122): * Assertion at /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/mono/mono/io-layer/wthreads.c:93, conditionok' not met
06-23 16:01:58.753 F/libc ( 5122): Fatal signal 6 (SIGABRT) at 0x00001402 (code=-6), thread 5222 (xxxxpackage.namexxx)
06-23 16:01:58.753 F/ ( 5122): * Assertion at /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/mono/mono/io-layer/wthreads.c:93, condition ok' not met
06-23 16:01:58.753 F/ ( 5122): * Assertion at /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/mono/mono/io-layer/wthreads.c:93, conditionok' not met
06-23 16:01:58.753 F/libc ( 5122): Fatal signal 6 (SIGABRT) at 0x00001402 (code=-6), thread 5241 (xxxxpackage.namexxx)
06-23 16:01:58.753 F/libc ( 5122): Fatal signal 6 (SIGABRT) at 0x00001402 (code=-6), thread 5221 (xxxxpackage.namexxx)
06-23 16:01:58.753 F/ ( 5122): * Assertion at /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/mono/mono/io-layer/wthreads.c:93, condition ok' not met
06-23 16:01:58.753 F/ ( 5122): * Assertion at /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/mono/mono/io-layer/wthreads.c:93, conditionok' not met
06-23 16:01:58.753 F/ ( 5122): * Assertion at /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/mono/mono/io-layer/wthreads.c:93, condition ok' not met
06-23 16:01:58.753 F/ ( 5122): * Assertion at /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/mono/mono/io-layer/wthreads.c:93, conditionok' not met
06-23 16:01:58.753 F/libc ( 5122): Fatal signal 6 (SIGABRT) at 0x00001402 (code=-6), thread 5240 (xxxxpackage.namexxx)
06-23 16:01:58.753 F/ ( 5122): * Assertion at /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/mono/mono/io-layer/wthreads.c:93, condition ok' not met
06-23 16:01:58.753 F/libc ( 5122): Fatal signal 6 (SIGABRT) at 0x00001402 (code=-6), thread 5245 (xxxxpackage.namexxx) 06-23 16:01:58.753 F/ ( 5122): * Assertion at /Users/builder/data/lanes/monodroid-mlion-monodroid-4.20-series/ba9bbbdd/source/mono/mono/io-layer/wthreads.c:93, conditionok' not met
06-23 16:01:58.753 F/libc ( 5122): Fatal signal 6 (SIGABRT) at 0x00001402 (code=-6), thread 5248 (xxxxpackage.namexxx)
06-23 16:01:58.753 E/mono-rt ( 5122): at System.Net.Sockets.SocketAsyncEventArgs.OnCompleted (System.Net.Sockets.SocketAsyncEventArgs)
06-23 16:01:58.753 F/libc ( 5122): Fatal signal 6 (SIGABRT) at 0x00001402 (code=-6), thread 5242 (xxxxpackage.namexxx)
06-23 16:01:58.753 F/libc ( 5122): Fatal signal 6 (SIGABRT) at 0x00001402 (code=-6), thread 5246 (xxxxpackage.namexxx)
06-23 16:01:58.753 E/mono-rt ( 5122): at System.Net.Sockets.SocketAsyncEventArgs.ReceiveCallback (System.IAsyncResult)
06-23 16:01:58.753 E/mono-rt ( 5122): at System.Net.Sockets.SocketAsyncEventArgs.DispatcherCB (System.IAsyncResult)
06-23 16:01:58.753 E/mono-rt ( 5122): at (wrapper runtime-invoke) .runtime_invoke_void__this___object (object,intptr,intptr,intptr)
06-23 16:01:58.753 E/mono-rt ( 5122):
06-23 16:01:58.753 E/mono-rt ( 5122): =================================================================
06-23 16:01:58.753 E/mono-rt ( 5122): Got a SIGSEGV while executing native code. This usually indicates
06-23 16:01:58.753 E/mono-rt ( 5122): a fatal error in the mono runtime or one of the native libraries
06-23 16:01:58.753 E/mono-rt ( 5122): used by your application.
06-23 16:01:58.753 E/mono-rt ( 5122): =================================================================
I am not sure if the way I am handling is not right. Is there any workaround or fix, plz let me know.
The text was updated successfully, but these errors were encountered: