Hi all, recently I just started experiencing usb device crashing while running simhub on ACC and my usual wind, bassshaker, simucube 2 pro, button box rig setup. It only happens about once a day, but it shows that the faulting application is SimHub.BitmapDisplay.Subprocess.X86.exe. I removed the file and found that this is driving my USB480 screen, so I tried reinstalling, just taking that file from another version of simhub, but find myself still getting these crashes almost daily. It almost seems as though my USB powered hubs are being overloaded, but when looking at the simhub logs it shows the below. I thought initially it was my windsim as it gets called out as missing suddenly, but I have disconnected these and run into the same error. Anyone else had any similar trouble with this exe?
Attached is the latest simhub log after the latest crash, also highlighted the first error that starts the cascade of disconnects below. Don't mind the dashtemplate TWF Laptimer error, that is not the cause:
[2023-05-04 06:55:20,936] INFO - Storing lap consumption : 2.12, lap start : 41.29, lap end : 39.17
[2023-05-04 06:55:34,061] ERROR - Dashtemplates\TWF LAPTIMER\lap_review.djson, FASTEST LAP, Visible : Expression (JS) return twf_opponent_has_fastest_lap() has generated an error (ReferenceError: bestlapdriverposition is not defined)and wont be run again for 30s
[2023-05-04 06:56:04,097] ERROR - Dashtemplates\TWF LAPTIMER\lap_review.djson, FASTEST LAP, Visible : Expression (JS) return twf_opponent_has_fastest_lap() has generated an error (ReferenceError: bestlapdriverposition is not defined)and wont be run again for 30s
[2023-05-04 06:56:23,043] ERROR - Closing arduino Wind Sim@COM5 : reason System.IO.IOException: A device which does not exist was specified.
at System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
at System.IO.Ports.SerialStream.EndWrite(IAsyncResult asyncResult)
at System.IO.Ports.SerialStream.Write(Byte[] array, Int32 offset, Int32 count, Int32 timeout)
at System.IO.Ports.SerialPort.Write(Byte[] buffer, Int32 offset, Int32 count)
at ArqSerialLib.ArqSerial.SerialWrite(Byte[] data)
at ArqSerialLib.ArqSerial.FlushOutcoming(Boolean all)
at SerialDash.SerialDashController.Send(Byte[] customMessage, Boolean capture)
[2023-05-04 06:56:23,043] ERROR - Closing arduino Wind Tunnel@COM11 : reason System.IO.IOException: A device which does not exist was specified.
at System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
at System.IO.Ports.SerialStream.EndWrite(IAsyncResult asyncResult)
at System.IO.Ports.SerialStream.Write(Byte[] array, Int32 offset, Int32 count, Int32 timeout)
at System.IO.Ports.SerialPort.Write(Byte[] buffer, Int32 offset, Int32 count)
at ArqSerialLib.ArqSerial.SerialWrite(Byte[] data)
at ArqSerialLib.ArqSerial.FlushOutcoming(Boolean all)
at SerialDash.SerialDashController.Send(Byte[] customMessage, Boolean capture)
[2023-05-04 06:56:23,044] FATAL - Unhandled exception :System.IO.IOException: A device which does not exist was specified.
Hi ! The exe is just an exe isolation wrapper, it contains pretty much nothing and has not changed for years.
Considering the symptoms, it looks like a failing usb hub. I took a look at the logs, it's not a "cascade" but just every features catching the devices loss one by one. On a non overloaded simhub install every plugins (and so devices) will be evaluated in a constant order making it look consistent and making it look as if one of them is the "initiator" of the fail cascade. But all those errors only reflects driver/hardware failure.
Just a side note: usb480 drivers and sdk proved to be not tolerating well device close/release/unplug that's why it's running isolated in a separate process so any sdk failures won't propagate to simhub main exe. If there is a hard failure that's explaining why you can see it failing linked to this exe In events (instead of making whole simhub crash which wouldn't be welcome)
@admin5435 Hi thanks so much for your reply, could this be that I have too many devices on one Hub? I have two 16 port Powered USB Hubs but neither are filled, I have 11 devices on one and 7 devices on the other. I am not receiving any WHEA errors or anything from my system, just seeing the application error that shows the subprocess crashing. I will try and swap around some of them and see if it remains. I am curious if my two arduinos that run my fans are somehow involved. Sometimes even with SimHub not running, the fans continue to get power and spin. Anyway, I'll check back in when I have moved everything around and let you know the outcome. Thanks again!
I don't think it's linked to "too many devices", such behaviour can happen for sound card for instance (which requires too much from usb hub), but In such case it's only the "over capacity" device which would fail.
Here it really look like a hub failing making everything failing at the same time.
@admin5435 Thanks again. I'll try swapping them out and see if I can identify which is giving me the issue.