Bug in 5.0.0.38; processes "linger" after terminating.

Started by gman68w, August 12, 2011, 07:36:08 AM

Previous topic - Next topic

gman68w

So far I've only encountered one, but I imagine there may be others. When I exit Crysis 2.exe, the process remains in Process Lasso's list of processes, and when I click any of the "Terminate" options, PL claims I haven't the permissions to do so. The only way to "refresh" the list so as to remove Crysis2.exe is to fully shut down Process Lasso and restart it.

Windows 7 x64 w/SP1

edkiefer

how long does it stay in list ?
Is it only Crysis game that does it , I am on XP SP3 but never run across that issue yet .
Bitsum QA Engineer

Jeremy Collake

Does it still show up in the Windows task manager (or other task manager)? If it is still in the list, then I wonder if it is 'stuck' in a non-terminated state. This does happen sometimes, in certain low-level error conditions. Please check this so I can know if this is some bug in the list management or a system anomaly. I'd guess the latter, but that's only a guess.
Software Engineer. Bitsum LLC.

Hotrod

I've had Firefox stall like that on some systems (especially Vista), but i don't get the "no permissions" error upon terminating manually. Is it possible you are running Crysis as an elevated process on a non-admin account? Or something similar?

gman68w

Quote from: jeremy.collake on August 15, 2011, 01:08:59 PM
Does it still show up in the Windows task manager (or other task manager)? If it is still in the list, then I wonder if it is 'stuck' in a non-terminated state. This does happen sometimes, in certain low-level error conditions. Please check this so I can know if this is some bug in the list management or a system anomaly. I'd guess the latter, but that's only a guess.

Windows Task Manager doesn't show it. I also have a CPU/RAM usage monitor, and the amount is shows as being used doesn't flush with the amount PL shows is being used by Crysis2.exe.

@Hotrod
I've only one account on this home computer, and UAC is turned off. I think the reason I get the "no permissions" error is because of a sort of "divide by 0" situation, whereby PL thinks that it can't shut off the process because it can't access it, and the only logical explanation for it not being able to access the process is that it hasn't the proper permissions.

gman68w

Since Crysis 2 is an Electronic Arts published game, it's bound to have some pretty extreme anti-piracy measures in the main game executable. As if the "zero-day" verification and online authentication tools weren't enough. And I have to sign in with my EA account using the registered CD-key every time.

Anyway, is there a way I can log the activity of this specific process as it's monitored by PL?

Jeremy Collake

#6
No, no way to do that sort of filtered logging with PL I'm afraid ;(. EDIT: As edkiefer says, there is Process Explorer.. or even Process Monitor for a detailed list of what *that* process is doing, but not what PL is doing or how it sees processes.
Software Engineer. Bitsum LLC.

edkiefer

wouldn't Process Explorer give more info on whats it doing (if anything) after you click close . Just make sure that is only main app running other than backround Win OS processes .
Run Process explorer with Crysis 2.exe running monitoring the exe with the graph, then terminate it and see what graph shows .
Bitsum QA Engineer

gman68w

Well, it would depend on how much information you wanted, since it's your product I'm helping to improve :D . Anyway, I've upgraded to the latest x64 build (5.0.0.40), and while the crysis2.exe process remains after closing the game properly, I saw that the process disappeared from the list when the game CTD'd with a Windows Error Reporting message (that in itself yielded no useful information, so I don't know what caused the crash).

Jeremy Collake

#9
I suspect it really is there. I'm going to add some new stuff to detect semi-dead processes like that. It may be 2 weeks before it gets added, but that's something I've needed to do anyway. I would have to install this game and evaluate it for myself to gain any real insight. There is just too much going on for any log to be helpful. I'd need to analyze what hooks it has injected into the system and more. Also, don't forget about the Resource Monitor in Vista+. It is superior to the Task Manager.
Software Engineer. Bitsum LLC.

gman68w

Well, I know it's not there, that's what I'm saying. I'm just asking if there's a way to monitor the process's threads and stuff while I know it is running, and then let that monitoring program run for a minute afterwards, and then highlight that "afterwards" with "This is where I ended the process, but it's signature remained in PL's list".

Jeremy Collake

#11
That sort of monitoring of what it is doing may not help, there is too much to filter through. You can do it with Process Monitor though. If it truly is NOT there, then it is some sort of bug in the management of the process list. I mentioned it before, but you did ELEVATE Task Manager, right? Of course, it wouldn't be in the applications list, only in the processes list.

For its resources to still show up in that other monitor makes me suspect it *IS* there, even if task manager isn't showing it even when elevated. Process Lasso enumerates processes at a lower level. I don't know... I'll keep thinking on it, but haven't yet envisioned how the malfunction in the list could occur, so still strongly believe it exists in the system at a lower level, regardless of what else shows it or doesn't show it.

Software Engineer. Bitsum LLC.

gman68w

Well, I said in the OP that the process is removed from PL's list after I shut down and restart PL. On the one instance that Crysis2.exe crashed-to-desktop (and gave me a Windows Error Reporting message), the process left the list without me having to restart PL.

Jeremy Collake

#13
I do apologize for rushing through this report and not reading the OP more thoroughly. I can't say I know the cause, but I will be looking into this in about a week. Hopefully I can determine how it is happening and fix it then. What makes me believe it isn't a general bug is that it is limited to that particular process. It still could have something to do with EA anti-piracy stuff. It could also be that the process is stuck in an inaccessible state. Process Lasso will not list processes that are not accessible, which is  maybe why it wouldn't list it on reload.

Since that CPU/RAM monitor doesn't clear its resources, it is apparently still around, whether inaccessible or hidden by some API hooks as part of an anti-piracy mechanism. I simply must investigate more thoroughly to have any answer. All I've done is repeat myself like a raving lunatic so far. I really must quit with the caffeine.
Software Engineer. Bitsum LLC.

edkiefer

gman68w

Does same issue happen if you set Crysis2.exe  to exclude probalance restraint rule ?

I am assuming you have it set to gaming mode .

Ed
Bitsum QA Engineer

gman68w

I never grasped the concept of "Gaming Mode", or how it was any better than just excluding individual game processes from Restraint Mode, so I never use it. So yes, I have Crysis2.exe excluded from Pro Balance Restraint.

Jeremy Collake

Quote from: gman68w on August 22, 2011, 07:40:24 PM
I never grasped the concept of "Gaming Mode", or how it was any better than just excluding individual game processes from Restraint Mode, so I never use it. So yes, I have Crysis2.exe excluded from Pro Balance Restraint.

The idea is to simplify settings for Gamers. By specifying a process as a game it is: Excluded from ProBalance, High Peformance Default Power Scheme applied when running, and a few other internal optimizations in the core engine.
Software Engineer. Bitsum LLC.

Jeremy Collake

Did you ever check to see what Process Explorer says or doesn't say about this process? Does it keep listing it, or is it gone immediately when you close it? I apologize if you have already tried this. It is a lot more advanced than the Windows Task Manager, so will give us more info. If it behaves the same as Process Lasso, that says one thing ... if it behaves like the Task Manager, and the process disappears, that says another. Thanks for any assistance you can provide.

UPDATE: I believe EA's intent with their copy-protection was to protect that process from being patched while running. Still suspecting that is the culprit, I'm going to investigate it and find a way for Process Lasso to 'play nicer' with whatever EA is doing. As a side note, these sort of copy-protection systems can be quite intrusive and cause problems. I really wish they'd quit with these things.
Software Engineer. Bitsum LLC.