vPilot - Aircraft pause / application hang when message received

When a message is received over text (e.g., UNICOM text messages), the following occur in the following order:

  1. The text message is displayed correctly
  2. All aircraft stop moving AND vPilot is no longer interactable (can’t focus the window, can’t type, can’t change tabs)
  3. The “KRKH” sound associated with message receipt is played a second or two later.
  4. All aircraft instantly come back to life where they should be (e.g., if they were flying, they instantly snap to their current position which may be a few hundred meters away)

I don’t know what’s causing it, but I have a feeling it has something to do with vPilot dropping everything else to find that “KRKH” sound file. Does anyone know how to address this?

EDIT: This has been going on for a REALLY long time, it’s just bothered me enough today to actually do something about it. Oddly enough, it doesn’t seem to interfere with ongoing voice transmissions (e.g., if someone is talking and a text message is sent, the voice transmission keeps going without being interrupted)

vPilot loads the sounds into memory when it first starts up, so it’s not an issue of vPilot finding the sound file. Sounds like maybe something on your system is interfering with vPilot’s access to the sound hardware. That’s just a guess, though.

I don’t know where I’d get started with that. Some leads I could think of:

  • Running as administrator: I did that, but the issue still persists
  • Exclusive Mode: Apparently this is an option for certain outputs: I can allow applications to take exclusive control of my output device AND to give exclusive mode applications priority. I tried every combination, and the issue still didn’t get resolved:
    image

In any case, here’s a video demonstrating the issue:

As you said, it appears to be related to playing any sound, and not specifically related to radio messages, private messages, etc. Do you run any sound enhancement software? Also, check if there is a program called “Nahimic Services” running in Task Manager. That app has been known to interfere with game graphics, maybe it also interferes with audio. (It is a game enhancement system.)

It doesn’t seem to be, I disabled it and restarted my computer, but the issue still persists.

I don’t run any other enhancements. I also shut down the MSI Dragon Center and a bunch of other services, and bumped vPilot.exe’s Priority Setting to Realtime in Task Manager. All to no avail, the issue still persists.

Maybe check to be sure your audio drivers are up to date?

Already done several times as well, no dice.

I’m afraid I’m at a loss as to the cause.

I suggest: Since this occurs over a couple seconds, you should have time to capture a dump file (use Task Manager details page, right click on the task, and select Create Dump File), zip and upload the dump to a cloud share, and post the link. Ross should be able to generate a stack trace from that which may shed light on exactly where the issue lies.

Took me a while to get to this…

@887155 I’ll send you a DM with the link to the dump file (as I’m not certain how much personal information it contains). I’m hoping, if @816871 is right, that it contains enough information to identify why these “mini-pauses” occur.

Looks like it’s caused by the VSR plugin. Try removing it.

Fully checks out; I removed the VSR Plugin from the Plugin folder, and the issue went away. Thanks Ross!

I’ll bring this to the VSR Developer, then.

1 Like

Ross, this DLL was released in May 2022 and worked fine since then, what has changed in Vpilot recently?

Hi David,

It’s not due to any change in vPilot. The VSR plugin is hanging while trying to contact the VSR server when a message arrives. According to the dmp file, it is hanging within the CallServer method, specifically on the Connect call where it connects the socket. Maybe Ethan has some firewall software that is blocking the connection?

Probably that stuff should all be done using async/await or a background thread, so it doesn’t hang the vPilot UI thread.

To add some context: after some playing around with it, I figured out that the “hanging” only occurs if the VSR Server isn’t running in the background. i.e., if I run the VSR server, then there’s no pause and aircraft movement remains fluid.

Ok, thanks, it’s been like this since inception, and never reported, od how it ends up stuttering the sim though? The workaround is to have the VSR server running. I have a new DLL but it’s hard to implement and test as VATSIm banned me for having 2 accounts to test messaging and didn’t provide me with any alternative methods. How do you go about testing?

I assume it’s hanging the UI thread because you are making a blocking call to Connect() on the socket, and that call is happening in the plugin event handler, and those event handlers are always called on the UI thread. It’s the classic case of a network operation making the UI thread unresponsive. If you do the connection on a background thread, or use async/await, it should be fine.

I imagine it hasn’t been reported because usually the server is running, and the connection is practically instantaneous, so no UI lockup is perceptible.

Contact Matt Cianfarani, VP Tech. He can guide you through the Approved Developer process.

[quote="Don Desfosse, post:18,

Thanks, I did , and he didn’t” just passed me down the chain

Hi David,

Please reply to our email thread from earlier last year and our team can assist you.