[Linux] Process Phoenix.exe hangs / is after game.dll ran for a while

Started 17 Sep 2018
by Dve
in Resolved Issues
Some background information about my config:
I am running the Phoenix launcher and the game via Wine 3.x/Lutris on Arch Linux (window manager: i3wm). The Wine configuration is set up to deliver an X-Window (of 1920x1080 size) as an virtual desktop, which basically makes it a "full screen window" on my Linux desktop. It will open up every time I start "Phoenix.exe" with wine. The Daoc client itself is setup to run in "full screen mode" within it (it will think that this window is a screen). I can comfortably Alt+Tab in and out of this window like any other Linux application window on my desktop. So far so good. I am very happy and appreciate my Daoc experience on Linux.

There is a small bug though that is a bit annoying:
Whenever I close the game after playing for a while, the wine window which the game.dll (and previously Phoenix.exe) ran in, stays open and does not close - there isn't any content the window is showing though. Upon checking which processes are still running, I found the following:

david@arch ~ % ps -e | grep Phoenix.exe
5248 ? 02:27:01 Phoenix.exe

Which means that the game.dll terminated correctly, but the launcher didn't. In order to close the wine desktop window, I always have to Alt+Tab, open a terminal and kill the process with "killall Phoenix.exe" (as if i had to open up the task manager and kill the process in Microsoft Windows).

The problem is apparently that the Phoenix.exe does not terminate itself correctly, after the game.dll has been launched. At least this is the case on Linux. Maybe this happens on MS Windows as well, but nobody checked their task manager yet.

Issue Timeline

17 Sep 2018 Dve created this issue
18 Sep 2018 Arctic triaged this issue
18 Sep 2018 Arctic changed the status of this issue from new to open
19 Sep 2018 LRFalk01 assigned this issue from Nobody to LRFalk01
6 Oct 2018 LRFalk01 changed the status of this issue from in_progress to resolved
Mon 17 Sep 2018 8:46 PM by Dve
edit:
the output of ps -e | grep Phoenix.exe actually says that the process is defunct in angle brackets
"5248 ? 02:27:01 Phoenix.exe "

the tracker page probably thought the bracket was a markup tag or something
Mon 17 Sep 2018 11:10 PM by LRFalk01
what the launcher does is close 20s after login if game.dll is running. this check is probably only working on windows
Tue 18 Sep 2018 10:12 AM by Dve
I believe that the check itself might be working, because after 20 seconds of game.dll running, the Phoenix.exe goes defunct. It just doesn't know how to terminate itself.

when i connect to Phoenix:

david@arch ~ % ps -e | grep Phoenix.exe
8342 ? 00:00:02 Phoenix.exe

then after 30 seconds:

david@arch ~ % ps -e | grep Phoenix.exe
8342 ? 00:00:12 Phoenix.exe

Tue 18 Sep 2018 9:16 PM by benfalk
I get the same thing on my machines :+1:
Tue 18 Sep 2018 10:29 PM by LRFalk01
Well, we're not finding a way to kill Phoenix.exe whild game.dll is still running. This probably has something to do with how these processes are created in linux. We did however figure out how to make Phoenix.exe not use a full cpu while running in the background, and it appears to be closing shortly after game.dll now.
Fri 5 Oct 2018 10:05 PM by raghh
Problem can be fixed using this script
https://pastebin.com/SZZQ2vJB

Return to Resolved Issues or the latest topics