#77 X11 PID bug, FIX

Wrapper
closed
doh123
Bug (44)
5
2012-03-16
2012-03-15
Alex Damast
No

If you attempt to launch a CustomEXE with the main wrapper or other CustomEXE open, both applications immediately quits, Error prints:

2012-03-15 13:45:23.811 Wineskin[8323:707] Starting specified executable in Wine
2012-03-15 13:45:23.902 Wineskin[8323:707] Wineserver running on PID 7944
2012-03-15 13:45:23.908 Wineskin[8323:707] Sleeping and monitoring from the background while app runs...
ps: Invalid process id: wineserver
ps: illegal argument: running
usage: ps [-AaCcEefhjlMmrSTvwXx] [-O fmt | -o fmt] [-G gid[,gid...]]
[-g grp[,grp...]] [-u [uid,uid...]]
[-p pid[,pid...]] [-t tty[,tty...]] [-U user[,user...]]
ps [-L]
2012-03-15 13:45:25.262 Wineskin[8323:707] Application finished, cleaning up and shut down...

Fix: In Wineskin.m, found that a function is returning an error message rather then the WineskinX11 PID that another conditional is expecting.

specifically in sleepAndMonitor
//if WineskinX11 is no longer running, tell wineserver to close
if (![self isPID:x11PID named:@"WineskinX11"])
x11PID equals string "wineserver running from previous launch, not relaunching WineskinX11" and not the PID in this case. Changed function to read and return current PID from file instead and program works as expected. Patch attached.

Patch attached.

Discussion

  • Alex Damast
    Alex Damast
    2012-03-15

    • labels: --> Bug
    • status: open --> pending
     
  • doh123
    doh123
    2012-03-16

    My bad.. somehow I missed that when I added in the extra check to make sure the PID was with the right name on the off chance it might be the wrong PID, since I ran into it once... even how unlikely it is to happen.

     
  • doh123
    doh123
    2012-03-16

    • milestone: --> Wrapper
    • assigned_to: nobody --> doh123
    • status: pending --> open
     
  • doh123
    doh123
    2012-03-16

    Ok.. so I saw the logic error. Basically Wineskin.m is called multiple times for CustomEXEs, and opening files and such, but only 1 is supposed to keep running, the first.. to monitor. It was failing to kill that spawned version, so I had to add that in. Returning the actual PID isn't useful because we don't want multiple Wineskin processes monitoring the wrapper at once.

    Pushed a fix to git
    author doh123 <doh123@doh123.com>
    Fri, 16 Mar 2012 03:31:53 +0000 (22:31 -0500)
    committer doh123 <doh123@doh123.com>
    Fri, 16 Mar 2012 03:31:53 +0000 (22:31 -0500)
    commit fae110a51141b48e389147463659ef44642cbb6c
    tree 4561e17554f76e5be014f4c72abf4856e23052bb
    parent aab9d4fabacf7f5470f5938c298f4ff7a438869f
    Bugfix ID 3505521 Additional Wineskin daemons not ending right with Custom EXEs and similiar runs

    Will be in Wineskin 2.5.5 release

     
  • doh123
    doh123
    2012-03-16

    • status: open --> closed