marzent / IINACT

A Dalamud plugin to run the FFXIV_ACT_Plugin in an ACT-like enviroment with a heavily modified port of Overlay Plugin
https://www.iinact.com
GNU General Public License v3.0
169 stars 39 forks source link

Crashes when using Cactbot overlay #60

Closed minitechlab closed 1 year ago

minitechlab commented 1 year ago

I don't usually use cacbot, but when I enabled the overlay today the game crashes after I tried reloading cactbot settings.

The only relevant log entry was found in dalamud.boot.log:

Fatal error. Internal CLR error. (0x80131506)
   at Interop+Winsock.<WSASend>g____PInvoke|47_0(IntPtr, System.Net.Sockets.WSABuffer*, Int32, Int32*, System.Net.Sockets.SocketFlags, System.Threading.NativeOverlapped*, IntPtr)
   at Interop+Winsock.WSASend(System.Runtime.InteropServices.SafeHandle, System.Net.Sockets.WSABuffer*, Int32, Int32 ByRef, System.Net.Sockets.SocketFlags, System.Threading.NativeOverlapped*, IntPtr)
   at System.Net.Sockets.SocketAsyncEventArgs.DoOperationSendSingleBuffer(System.Net.Sockets.SafeSocketHandle, System.Threading.CancellationToken)
   at System.Net.Sockets.SocketAsyncEventArgs.DoOperationSend(System.Net.Sockets.SafeSocketHandle, System.Threading.CancellationToken)
   at System.Net.Sockets.Socket.SendAsync(System.Net.Sockets.SocketAsyncEventArgs, System.Threading.CancellationToken)
   at System.Net.Sockets.Socket.SendAsync(System.Net.Sockets.SocketAsyncEventArgs)
   at NetCoreServer.TcpSession.TrySend()
   at NetCoreServer.TcpSession.SendAsync(System.ReadOnlySpan`1<Byte>)
   at NetCoreServer.WsSession.SendTextAsync(System.ReadOnlySpan`1<Byte>)
   at NetCoreServer.WsSession.SendTextAsync(Byte[])
   at NetCoreServer.WsSession.SendTextAsync(System.String)
   at RainbowMage.OverlayPlugin.Handlers.WebSocket.SocketHandler.Send(Newtonsoft.Json.Linq.JObject)
   at RainbowMage.OverlayPlugin.EventDispatcher.DispatchEvent(Newtonsoft.Json.Linq.JObject)
   at RainbowMage.OverlayPlugin.EventSources.CactbotEventSource.DispatchToJs(RainbowMage.OverlayPlugin.EventSources.JSEvent)
   at RainbowMage.OverlayPlugin.EventSources.CactbotEventSource.SendFastRateEvents()
   at RainbowMage.OverlayPlugin.EventSources.CactbotEventSource.<Start>b__37_0(System.Object, System.Timers.ElapsedEventArgs)
   at System.Timers.Timer.MyTimerCallback(System.Object)
   at System.Threading.TimerQueueTimer+<>c.<.cctor>b__27_0(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Threading.TimerQueueTimer.CallCallback(Boolean)
   at System.Threading.TimerQueueTimer.Fire(Boolean)
   at System.Threading.TimerQueue.FireNextTimers()
   at System.Threading.TimerQueue.System.Threading.IThreadPoolWorkItem.Execute()
   at System.Threading.ThreadPoolWorkQueue.DispatchWorkItem(System.Object, System.Threading.Thread)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool+WorkerThread.WorkerThreadStart()

I'm on MacOS Ventura 13.4.1.

marzent commented 1 year ago

This kind of internal CLR errors is almost certainly a networking failure on wines part and there is not much that can be done from IINACT to alleviate this...

Are you running this with the latest XOM version?

minitechlab commented 1 year ago

Yeah, I should be running this with the latest XOM version (assming XOM updates itself).

if it's a due to a network failure, I wonder if this was the effect rather than the cause of a crash.

mo0ojava commented 1 year ago

Been trying to research how to get cactbot to run on the Steamdeck. Mayhaps you could point me in the right direction?

marzent commented 1 year ago

@mo0ojava it should just work, given that you combine it with some sort of web overlay or https://github.com/joshua-software-dev/LMeter

Concerning the original issue, this is either a wine bug or or a CLR bug (with much greater likelihood of it being a wine issue) and there is nothing that can be done on IINACTs side about this (although you could also use LMeter to avoid web socket shenanigans)

XOM will update its wine version soon to sth wine 8 based hopefully, which might help with your original issue though @mind8592