DeltaNeverUsed / FishGoBrrr

buttplug.io support for webfishing
MIT License
2 stars 0 forks source link

GD Weave crashing on connection to intiface #2

Open UnassignedVar opened 2 days ago

UnassignedVar commented 2 days ago

When fish go brrr connects to intiface central, gdweave crashes with the following log file: 2024-11-27 21:46:01.153 +00:00 [INF] This is GDWeave 2.0.14.0 - https://github.com/NotNite/GDWeave 2024-11-27 21:46:01.193 +00:00 [WRN] Failed to load mod at C:\Program Files (x86)\Steam\steamapps\common\WEBFISHING\GDWeave\mods\DeltaNeverUsed-FishGoBrrr-1.0.2 System.Text.Json.JsonException: JSON deserialization for type 'GDWeave.ModManifest' was missing required properties, including the following: Id at System.Text.Json.ThrowHelper.ThrowJsonException_JsonRequiredPropertyMissing(JsonTypeInfo parent, BitArray requiredPropertiesSet) at System.Text.Json.Serialization.Converters.ObjectDefaultConverter1.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value) at System.Text.Json.Serialization.JsonConverter1.TryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, T& value, Boolean& isPopulatedValue) at System.Text.Json.Serialization.JsonConverter1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state) at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan1 utf8Json, JsonTypeInfo1 jsonTypeInfo, Nullable1 actualByteCount) at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan1 json, JsonTypeInfo1 jsonTypeInfo) at System.Text.Json.JsonSerializer.Deserialize[TValue](String json, JsonSerializerOptions options) at GDWeave.ModLoader.Register() in D:\a\GDWeave\GDWeave\GDWeave\Loader\ModLoader.cs:line 34 2024-11-27 21:46:01.205 +00:00 [INF] Loaded 0 mods: []

UnassignedVar commented 2 days ago

image

UnassignedVar commented 2 days ago

Just testing things; it seems to crash whenever it tries to get the device to vibrate (if i keep the mouse still it will not crash)

UnassignedVar commented 2 days ago

2024-11-27 21:53:33.271 +00:00 [INF] FishGoBrrr: Connecting to Intiface at ws://127.0.0.1:12345 2024-11-27 21:53:33.289 +00:00 [INF] FishGoBrrr: Starting bridge 2024-11-27 21:53:33.289 +00:00 [INF] FishGoBrrr: Bridge started 2024-11-27 21:53:33.291 +00:00 [INF] Loaded 1 mods: ["deltaneverused.fishgobrrr"] 2024-11-27 21:53:33.360 +00:00 [INF] Device Added: ButtplugDevice { Index = 0, Name = JoyHub Pearlconch, DisplayName = , MessageTimingGap = 0, Actuators = 2, Sensors = 0 } 2024-11-27 21:53:33.361 +00:00 [INF] FishGoBrrr: Connected to Intiface! 2024-11-27 21:53:35.866 +00:00 [INF] FishGoBrrr: Client connected 2024-11-27 21:53:35.866 +00:00 [INF] FishGoBrrr: Client connected to bridge! 2024-11-27 21:53:35.902 +00:00 [ERR] ========== UNHANDLED EXCEPTION!!! 2024-11-27 21:53:35.902 +00:00 [ERR] Exception code: E0434352 2024-11-27 21:53:35.903 +00:00 [ERR] Exception address: 7FFF6532FA4C This is the extra part of the log when I push past the initial crash notification

DeltaNeverUsed commented 2 days ago

Do other mods work for you? Other than FishGoBrrr? I'm not sure why GDWeave would crash on trying to load the manifest...

UnassignedVar commented 2 days ago

Yes, they do. (This happens to both me and my partner, and we installed it via thunderstorm at first, though I did try a manual install to no end)

DeltaNeverUsed commented 2 days ago

Hmmm... Okay, would you be willing to try a modified version of GDWeave? This should hopefully log more than

2024-11-27 21:53:35.902 +00:00 [ERR] ========== UNHANDLED EXCEPTION!!! 2024-11-27 21:53:35.902 +00:00 [ERR] Exception code: E0434352 2024-11-27 21:53:35.903 +00:00 [ERR] Exception address: 7FFF6532FA4C

when it crashes

I can't seem to replicate the crash on Linux nor Windows myself.

Modified GDWeave

UnassignedVar commented 2 days ago

Will do, and I’ll send a report as soon as I can

UnassignedVar commented 2 days ago

"2024-11-28 18:24:33.172 +00:00 [ERR] Aasdasdasdasda: 2024-11-28 18:24:33.184 +00:00 [INF] This is GDWeave 2.0.14.0 - https://github.com/NotNite/GDWeave 2024-11-28 18:24:33.224 +00:00 [INF] FishGoBrrr: Connecting to Intiface at ws://127.0.0.1:12345 2024-11-28 18:24:33.244 +00:00 [INF] FishGoBrrr: Starting bridge 2024-11-28 18:24:33.245 +00:00 [INF] FishGoBrrr: Bridge started 2024-11-28 18:24:33.246 +00:00 [INF] Loaded 1 mods: ["deltaneverused.fishgobrrr"] 2024-11-28 18:24:33.315 +00:00 [INF] Device Added: ButtplugDevice { Index = 0, Name = JoyHub Pearlconch, DisplayName = , MessageTimingGap = 0, Actuators = 2, Sensors = 0 } 2024-11-28 18:24:33.316 +00:00 [INF] FishGoBrrr: Connected to Intiface! 2024-11-28 18:24:35.831 +00:00 [INF] FishGoBrrr: Client connected 2024-11-28 18:24:35.832 +00:00 [INF] FishGoBrrr: Client connected to bridge! 2024-11-28 18:24:35.865 +00:00 [ERR] ========== UNHANDLED .NET EXCEPTION!!! 2024-11-28 18:24:35.870 +00:00 [ERR] Buttplug.ButtplugException: Device(4): {"ButtplugDeviceError":{"DeviceActuatorTypeMismatch":["JoyHub Pearlconch","Vibrate","Rotate"]}} at Buttplug.ButtplugWebsocketConnector.SendMessageAsync(IButtplugMessage message, CancellationToken cancellationToken) at Buttplug.ButtplugWebsocketConnector.SendMessageExpectTAsync[T](IButtplugMessage message, CancellationToken cancellationToken) at Buttplug.ButtplugDevice.SendMessageExpectTAsync[T](IButtplugMessage message, CancellationToken cancellationToken) at Buttplug.ButtplugDevice.ScalarAsync(IEnumerable`1 scalarCommands, CancellationToken cancellationToken) at Buttplug.ButtplugDevice.ScalarAsync(Double scalar, ActuatorType actuatorType, CancellationToken cancellationToken) at FishGoBrrr.ButtClient.Vibrate(Double scalar, Double time) in /home/sinus/Downloads/WebFishingButtplug/FishGoBrrr/ButtClient.cs:line 61 at FishGoBrrr.Bridge.HandleMessage(BridgeMessage message) in /home/sinus/Downloads/WebFishingButtplug/FishGoBrrr/Bridge.cs:line 71 at System.Threading.Tasks.Task.<>c.b__128_1(Object state) at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() "

It says something about a device actuator mismatch? If its a device side issue that would make sense, since me and my bf have the same plug.

UnassignedVar commented 2 days ago

Ive been reading the project code in the master file trying to decipher this; It fails whenever the .vibrate funtion is called. Within my error message, device 4 likely is the rotate function of my plug (1 and 2 are my disabled controller I have plugged in, 3 the vibrate of the joyhub, and 4 the rotate). Is there any code to handle/ignore any rotating actuators?

UnassignedVar commented 1 day ago

Ignore the above, use your best judgement. I know c#, but I'm still learning the buttplug libraries as I write this.

DeltaNeverUsed commented 1 day ago

Is there any code to handle/ignore any rotating actuators?

No there's not :( Didn't realize it'd just crash if there wasn't, but yeah, that's the issue

UnassignedVar commented 1 day ago

Ive been reading, is there potentially a way to do Scalarcmd instead of a specific actuator (vibrator/rotator)? Apparently using this feature for this goal has the 'downside' of making both actuators function off the same command; might that help?

UnassignedVar commented 1 day ago

(please ignore me if I am stupid, I am grasping at straws while reading through the library definitions)

UnassignedVar commented 1 day ago

Playing about with the device config files, I can have it rotate the plug when I make it notice only 1 actuator, since the rotator is the first in the list. I am just trying to find how to "skip over" the rotator when looking to utilize actuators now.

UnassignedVar commented 1 day ago

Ok workaround found; renamed the rotate feature to a vibrate, functions exactly the same in the config file, so they are both called by the code simultaneously Thanks for the help!

DeltaNeverUsed commented 21 hours ago

Ah! sorry about the silence, I got a little distracted and forgot