CorazonSierra
2010-Oct-27 23:25 UTC
[Wine] Star Sonata: Great start, then crash when accepting missions
this is my first post and im not a tech wiz so if you need more info just ask (and tell me how to get it)... I installed a new game called Star Sonata... and yes i had the little bug that made it so i couldn't make a keyboard input... i fixed that with Winetricks dinput8.dll... and for a few hours the game ran perfectly... then at a random point it crashed... and i thought it was for no reason... after testing and reinstalling and testing another 14 times i soon realized that the process in the system monitor for Star Sonata had several links that hadn't closed fully... (not sure how to post a link to a desktop capture for u to see) in the process monitor it says: Star Sonata | Zombie | 0 | 0 | 14684 | N/A | do_exit but it wont end the process... when i manually kill the process with the End Process Button it goes away and so long as i don't have a hundred more of those lines in the process manager the game will start up perfectly just like it did on a fresh install... then as i try to Finnish my missions... and when i accept or complete a mission the game crashes... (i can screen capture this too if you like) and i have to go to the system try and remove the process before i can reopen the game without crashing... please explain how to fix this and use really simple words... im blond.
Martin Gregorie
2010-Oct-28 10:51 UTC
[Wine] Star Sonata: Great start, then crash when accepting missions
On Wed, 2010-10-27 at 18:25 -0500, CorazonSierra wrote:> for Star Sonata had several links that hadn't closed fully... (not > sure how to post a link to a desktop capture for u to see) in the > process monitor it says: > > Star Sonata | Zombie | 0 | 0 | 14684 | N/A | > do_exit >A 'zombie' is a process that has started one or more child processes and finished what it needed to do before its children have finished. The rules say that it can't exit until its children have all died, so its sitting and waiting for them the finish. Of course, if a child locks up so it can't exit the zombie will also be there for ever. Next time this happens, start a terminal window and run the game from it. When it hangs, start a second window and run the command: ps -fu xxx where xxx is the name of the user you're logged in as. This will list all processes running under that user and all zombies. We want to see both, so post this list and the Wine log that was generated by the game to somewhere like pastebin and tell us where to find them. Meanwhile, here's a faster way of killing off the zombies. Note down the name of one of the zombies (thats the right hand column) and run killall -u xxx name which will stop all processes with that name running under user xxx. If the game has other processes with different names, use it on them too. Be sure to include the -u xxx part, which restricts killall to just your user: otherwise it really does kill all processes with that name no matter who they belong to. Martin This isn't a cure, just a faster way to clean up.> but it wont end the process... when i manually kill the process with > the End Process Button it goes away and so long as i don't have a > hundred more of those lines in the process manager the game will start > up perfectly just like it did on a fresh install... > > then as i try to Finnish my missions... and when i accept or complete > a mission the game crashes... (i can screen capture this too if you > like) and i have to go to the system try and remove the process before > i can reopen the game without crashing... > > please explain how to fix this and use really simple words... im > blond. > > > >
James Mckenzie
2010-Oct-28 16:08 UTC
[Wine] Star Sonata: Great start, then crash when accepting missions
Martin Gregorie <martin at gregorie.org> wrote:>Sent: Oct 28, 2010 3:51 AM >To: wine-users at winehq.org >Subject: Re: [Wine] Star Sonata: Great start, then crash when accepting missions > >On Wed, 2010-10-27 at 18:25 -0500, CorazonSierra wrote: > >A 'zombie' is a process that has started one or more child processes and >finished what it needed to do before its children have finished. The >rules say that it can't exit until its children have all died, so its >sitting and waiting for them the finish. Of course, if a child locks up >so it can't exit the zombie will also be there for ever. Next time this >happens, start a terminal window and run the game from it.Huh? That is not what I know. A Zombie or defunct process is one that did not exit cleanly (I have that with a product I use when I start it up, it spawns all sorts of child processes and four of them do not exit.) This will 'hang' the process indefinitely. They just sit around waiting to exit and they do use up processing resources and whatever remaining memory resources. These should be 'cleaned' up and reported to the originating programmer. If the Zombies occur in Wine only, they should be reported through Wine's bugzilla.>Meanwhile, here's a faster way of killing off the zombies. Note down the >name of one of the zombies (thats the right hand column) and run > >killall -u xxx name >This is really a rough way to do this and will kill any running ssh/login sessions if you are logged in as that user. It is better to use reap/preap to kill off the Zombies. Type in reap or preap then copy/paste the PID of the zombie process(es) separated by spaces. You should get a series of "Process xxxxx exited with status 0" If you get any other status this means that the process failed for some reason and that needs to be investigated. Hope this helps in troubleshooting what this program is failing. James McKenzie
Martin Gregorie
2010-Oct-28 17:27 UTC
[Wine] Star Sonata: Great start, then crash when accepting missions
On Thu, 2010-10-28 at 09:08 -0700, James Mckenzie wrote:> Huh? That is not what I know. A Zombie or defunct process is one > that did not exit cleanly (I have that with a product I use when I > start it up, it spawns all sorts of child processes and four of them > do not exit.) >Neither of us were entirely right. A zombie is a child which exited for any reason but whose parent hasn't (yet) read its exit status. A zombie should have released all resources apart from the process control block, which is retained until its parent has read the termination status. If the parent exits without reading the zombie's termination status it gets inherited by init, which reads the status and so gets rid of the zombie. IOW, all child processes become zombies, but normally for a very short period: for a zombie to persist for any length of time implies that its parent has hung. Probably its either waiting for an event that will never happen or is stuck in a loop that isn't checking for its children to terminate.> This is really a rough way to do this and will kill any running > ssh/login sessions if you are logged in as that user. >Nope. It will only kill named processes but its a system-wide kill unless you use the -u option to limit its effect to a specific user. I've used it many times undel Linux and haven't yet had it kill anything I haven't wanted it to kill. BUT, in any case the OP's problem isn't in the zombie processes. Rather, its in the process that spawned them. Run the command: ps -fu xxxx where 'xxxx' is the name of your user. Find a zombie in the list and look at the third (PPID) column, which identifies the parent process. Find that in the second column and that's the process that is causing the problem. Martin
perryh at pluto.rain.com
2010-Oct-29 07:54 UTC
[Wine] Star Sonata: Great start, then crash when accepting missions
Martin Gregorie <martin at gregorie.org> wrote:> ... its a system-wide kill unless you use the -u option > to limit its effect to a specific user.Are you sure about that? Last I knew, no non-root user can kill a process belonging to another user (unless using su, sudo, etc).