arianne / stendhal

Stendhal is a fun friendly and free multiplayer online adventure game with an old school feel.
https://arianne-project.org
GNU General Public License v2.0
593 stars 200 forks source link

Desktop Client may freeze on closing window #696

Open nhnb opened 6 months ago

nhnb commented 6 months ago

🐞 Describe the bug

When the client window is closed, it may take 30 seconds until the windows disappeares and the process exitd.

🔥 How to reproduce

The issue occurs on both the X button on the title bar and the window menu close item.

The issue can be reproduced extra time on a specific PC with Microsoft Windows. It does not happen on my PC with Linux.

The issue occurs with and without the nativehelper extension.

🌍 Environment

AntumDeluge commented 3 months ago

I experienced this today after launching from Steam on Windows. Closed the client window using "X" button (which took 15-30 seconds for window to close). But process was still open in background as I had to press the "X STOP" button in the Steam app to end it.

More details:

After closing Steam launched client, stendhal-client-win_x64.exe process remains open in background. However, after closing client launched from Windows Explorer, the process appears to end correctly as it is not longer listed in the task manager. (Note: using Neutralinojs executable built locally)

Edit: The issue of the process remaining open appears to be separate: #736

AntumDeluge commented 3 months ago

It appears to be a problem with the Neutralinojs executable, as the same behavior occurs with the character generator app.

Note: Updating to current release of Neutralinojs didn't help.

AntumDeluge commented 3 months ago

Found a bug report that sounds like it is related to our issue: https://github.com/neutralinojs/neutralinojs/issues/1179

There is a workaround mentioned, but I haven't examined it yet.

Edit: Nevermind, our app already employs the same code.

AntumDeluge commented 3 months ago

I can use Ctrl+C to close the app immediately when executed from a command prompt using neu run. Not sure if that is helpful.