fixed in mono turns out the problem was in Tesses.WebServer.WebSocket

This commit is contained in:
Mike Nolan 2023-03-17 23:35:03 -05:00
parent d636e7ce2d
commit c3ea0b0766
2 changed files with 2 additions and 21 deletions

View File

@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<Version>1.0.0.3</Version> <Version>1.0.0.4</Version>
<Description>A tesses webserver port of https://github.com/praeclarum/Ooui</Description> <Description>A tesses webserver port of https://github.com/praeclarum/Ooui</Description>
<PackageTags>Ooui;UI;CrossPlatform</PackageTags> <PackageTags>Ooui;UI;CrossPlatform</PackageTags>
<PackageIcon>Icon.png</PackageIcon> <PackageIcon>Icon.png</PackageIcon>
@ -19,7 +19,7 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="Tesses.WebServer" Version="1.0.4" /> <PackageReference Include="Tesses.WebServer" Version="1.0.4" />
<PackageReference Include="Tesses.WebServer.WebSocket" Version="1.0.1" /> <PackageReference Include="Tesses.WebServer.WebSocket" Version="1.0.1.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="Client.js" /> <EmbeddedResource Include="Client.js" />

View File

@ -131,23 +131,4 @@ Ooui is open source and I love merging PRs. Please fork away, and please obey th
## Why I ported this library to Tesses.WebServer ## Why I ported this library to Tesses.WebServer
Well so this would work on mono (mono to my knowledge doesn't support System.Net.WebSockets) and I would like to integrate this library into my webserver Well so this would work on mono (mono to my knowledge doesn't support System.Net.WebSockets) and I would like to integrate this library into my webserver
## This still does not work with mono (returns this only on mono, in net6.0 its fine)
Failed to send queued messages, aborting session: System.AggregateException: One or more errors occurred. (Mutex is not owned) ---> System.ApplicationException: Mutex is not owned
at System.Threading.Mutex.ReleaseMutex () [0x0000d] in <de882a77e7c14f8ba5d298093dde82b2>:0
at (wrapper remoting-invoke-with-check) System.Threading.Mutex.ReleaseMutex()
at Tesses.WebServer.WebSocket.WebSocketServer.SendMessageAsync (Tesses.WebServer.WebSocket.WebSocketMessage msg) [0x001cb] in <f32f1eef98ca40a6ab8f682da2f01df7>:0
at Tesses.WebServer.WebSocketExtensions+<>c__DisplayClass2_2.<StartWebSocketConnection>b__6 () [0x00072] in <f32f1eef98ca40a6ab8f682da2f01df7>:0
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional (System.Boolean includeTaskCanceledExceptions) [0x00011] in <de882a77e7c14f8ba5d298093dde82b2>:0
at System.Threading.Tasks.Task.Wait (System.Int32 millisecondsTimeout, System.Threading.CancellationToken cancellationToken) [0x00043] in <de882a77e7c14f8ba5d298093dde82b2>:0
at System.Threading.Tasks.Task.Wait () [0x00000] in <de882a77e7c14f8ba5d298093dde82b2>:0
at Tesses.WebServer.WebSocketExtensions+<>c__DisplayClass2_1.<StartWebSocketConnection>b__4 (Tesses.WebServer.WebSocket.WebSocketMessage mm) [0x00023] in <f32f1eef98ca40a6ab8f682da2f01df7>:0
at Ooui.WebSocketSession.TransmitQueuedMessages () [0x00050] in <3f1f33bf6fb4419491d2271f7e0005d9>:0
---> (Inner Exception #0) System.ApplicationException: Mutex is not owned
at System.Threading.Mutex.ReleaseMutex () [0x0000d] in <de882a77e7c14f8ba5d298093dde82b2>:0
at (wrapper remoting-invoke-with-check) System.Threading.Mutex.ReleaseMutex()
at Tesses.WebServer.WebSocket.WebSocketServer.SendMessageAsync (Tesses.WebServer.WebSocket.WebSocketMessage msg) [0x001cb] in <f32f1eef98ca40a6ab8f682da2f01df7>:0
at Tesses.WebServer.WebSocketExtensions+<>c__DisplayClass2_2.<StartWebSocketConnection>b__6 () [0x00072] in <f32f1eef98ca40a6ab8f682da2f01df7>:0 <---
if you have a fix please send your changes to https://nextcloud.tesses.cf/s/qyiZmHgzCdGPFjR as a zip file (due to my server not accepting pull requests)