GoXLR-on-Linux / goxlr-utility

An unofficial GoXLR App replacement for Linux, Windows and MacOS
MIT License
635 stars 36 forks source link

Incompatibility with Asetek RaceHub (tokio-runtime-worker panicked) [Win11] #134

Closed hieblmedia closed 6 months ago

hieblmedia commented 7 months ago

Hello, i have issues in combination with https://www.asetek.com/simsports/racehub/.

Maybe someone can take a look into it. If there is no issue on the Utility side i will try to contact Asetek for sure. The error is a bit annoying because i need both in autostart :D

OS: Win11

Summry:

00:35:10 [ERROR] thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: FromUtf8Error { bytes: [82, 97, 99, 101, 72, 117, 98, 153, 46, 101, 120, 101], error: Utf8Error { valid_up_to: 7, error_len: Some(1) } }': C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\tasklist-0.2.13\src\lib.rs:217
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: Tolk_Unload
   9: Tolk_Unload
  10: <unknown>
  11: <unknown>
  12: <unknown>
  13: <unknown>
  14: <unknown>
  15: <unknown>
  16: <unknown>
  17: <unknown>
  18: <unknown>
  19: <unknown>
  20: <unknown>
  21: <unknown>
  22: <unknown>
  23: <unknown>
  24: <unknown>
  25: <unknown>
  26: BaseThreadInitThunk
  27: RtlUserThreadStart

Steps to reproduce:

  1. Download and install (no Hardware required): https://www.asetek.com/simsports/racehub/
  2. Close the GoXLR and RaceHub App completly
  3. Start the RaceHub App first
  4. Then try to start the GoXLR Utility, nothing happens
  5. Now try start the apps in a different order, the error message from above appears in the logfiles.
FrostyCoolSlug commented 7 months ago

Thanks for the report, from the logs it looks like something's going wrong with the dependency that checks for running processes which is causing a crash (this process makes sure the official app isn't running).. I'll see if I can work around it.

FrostyCoolSlug commented 7 months ago

Ok, that's kinda interesting.. The binary name for racehub is RaceHub™.exe, with the ™ part causing the task list code to get somewhat confused. I'll put in some code to attempt to work around it (It'll disable process checking if it can't parse the list), and look into fixing it upstream.

hieblmedia commented 7 months ago

Thanks for looking and try to fix it. If you mean this is more like (or additionally) an issue on the RaceHub app, then please let me know. Then i will open a ticket there.

FrostyCoolSlug commented 7 months ago

Ultimately, if Windows allows files to be created with the ™ character, and allows binaries to run with it, then what RaceHub is doing is completely fine, and it's a problem on the Utility's side if we're not handling it correctly.

I've pushed up a workaround for 1.0.1, I'll look a little closer into it and see if I can get a proper solution for it going forward.

FrostyCoolSlug commented 7 months ago

Could you grab the Windows Artifact at the bottom of this build and give it a try for me? Everything should work OK again :)

hieblmedia commented 7 months ago

Looks like the error in the logs is gone. But if the RaceHub App is open the GoXLR Utility still does not start.

hieblmedia commented 7 months ago

Can you try running the GoXLR Daemon manually (C:\Program Files\GoXLR Utility\goxlr-daemon.exe) and checking if the interface is running at http://localhost:14564/ - I suspect the issue is that I've made some IPC changes for the current dev build which are preventing the UI from activating properly, this should be solved when 1.0.1 releases.

Dont see the comment so i qoute it from the email xD.

Yes, can confirm this. Manuall start over goxlr-daemon.exe works. Starting over goxlr-launcher.exe does not work.

FrostyCoolSlug commented 7 months ago

Apologies, I deleted that comment after realising what was going on with the launcher...

I ended up having to fork the upstream crate that was causing the problems and putting a proper fix in there, I've submitted it as a PR and hopefully they'll pick up on it. In the meantime I've instructed the utility to use my fixed version, and have removed my 'hacks', so everything should behave correctly again. It's getting a little messy and I may have to work on this again in the future, but for now it should work correctly.

Could you give the build below a try please: https://github.com/GoXLR-on-Linux/goxlr-utility/actions/runs/7112275038

Edit: Note the UI may still get stuck on 'Please Wait' due to IPC changes between 1.0.0 and 1.0.1, but the WebUI should work fine. I just need a general confirmation that it's launching and running correctly while the RaceHub software is open.

hieblmedia commented 7 months ago

Very thanks. All works fine with this latest build now.

FrostyCoolSlug commented 6 months ago

Closing as Fixed