I honestly can't figure this out. Every version of AGS I've tried just, as the title says, crashes when I try to start it. Which is odd considering it worked fine a few months ago.
I've looked all over, searched the forums and whatnot but can't find anything about this specific error:
(http://i53.tinypic.com/fa7dap.jpg)
After the crash, the EXE is still running:
(http://i56.tinypic.com/33ark87.jpg)
It won't go away unless I manually terminate the process.
I'm running Windows 7, 64 bit if it helps.
I've tried 3.1, 3.1.2 and 3.2.1...will try 2.72 soon.
Update; 2.72 works fine...it must be a problem with 3+
Update 2; looks like my assumption that 3.1 didn't work was premature. It works too.
Until you said that 3.1 was working I was actually going to suggest that perhaps your .NET (2.0+) installation either doesn't exist or got corrupted somehow since every 3.0+ version of AGS requires the .NET Framework 2.0+..but if 3.1 is working then that can't really be it.
You could take a look at the MSDN Documentation on SEHException (http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.sehexception.aspx), but from what I'm reading it doesn't seem like it would be very helpful. It specifically mentions that "Out of Memory" or "Access Violation" exceptions would be mapped to different C# Exception classes, so given that I don't really know why else it would be throwing an SEHException. :-\ Maybe someone who has more knowledge of C# and unmanaged code could offer more information about it?
As Monkey said, those exeptions seem to be related to .Net and the most common ones are:
STATUS_NO_MEMORY OutOfMemoryException.
STATUS_ACCESS_VIOLATION
Also the SEHExeption doesn't call the class "destroyer" (I don't know whats the word in english) so it doesn't free the memory, that's probably why you can't terminate the process after crash.
Pumaman or other editor Devs can probably guess what kind of code can throw these exeptions hopefully.
Could you post the part of the code that gets executed on game start/first room load, that probably generate the exeption please? Maybe we can figure this out.
Edit: The error is thrown by the editor so nvm :p
I think the only unmanaged code (AFAIK) that the editor uses is the Windows native code which is still closed-source.
This doesn't have anything to do with the ENGINE though, so game_start or a room loading would have absolutely nothing to do with this error. The engine does not rely on the .NET Framework. The SEHException class is explicitly being thrown by .NET, from unmanaged code used when the EDITOR is being loaded.
Try running with this version:
AGS Editor Debug for SEHException (http://dl.dropbox.com/u/6955107/AGS%20Editor%20Debug%20for%20SEHException.zip)
It should print the HResult error code of the exception. Then hopefully we can google it and see what's the problem.
Quote from: monkey_05_06 on Thu 07/04/2011 19:08:27
I think the only unmanaged code (AFAIK) that the editor uses is the Windows native code which is still closed-source.
The text editor itself is Scintilla (http://www.scintilla.org/) which is unmanaged, I believe.
This does look like some sort of .NET Framework issue.
tzachs, I don't think your patch will work, because the SEHException is happening inside the ex.ToString() call in the main exception handler, so it's AGS attempting to get the stack trace of the original exception that then causes an SEHException.
It's probably worth re-installing the latest version of .NET Frameowrk in case that is the problem.
Yes, you're right, somehow I've missed that...
I can provide another patch that might give more info (throwing the original exception instead of trying to print it in the hope it will reveal something), but let's see first if reinstalling .Net won't solve the issue.