Posted: Thu Dec 27, 2012 5:37 pm Post subject:
Ion Storm Crash
As a few of you will know, there is a random crash that occurs during Ion Storms. Well in fact its not a crash, but rather the game calls upon a function it should not (a PureCall), so something is seriously wrong.
Now i have being thinking of a way to capture this error for some time, and the only way i can think of is to Force a internal error, what will then dump to stack of the game, then allow me to scan for the possible location of where it all goes wrong.
Attached is a executable that does just this. Please double check the time and date of the except.txt file before posting, the game will show a dialog box saying that it has hit the _purecall().
I just got an IE on a testmap, which has some jumpjets moving/flying around everytime before the IS starts.
However the game wasn't showing the purecall messagebox, but the usual (german) Internal Error messagebox. So i'm not sure if it's the right IE you're looking for.
\EDIT attached another one which froze the game
\EDIT finally one with your message "an IE happened when an IonStorm occured"
Could it be the jumpjet infantry which might be somewhere between infantry and aircraft during its take off and landing phase? _________________ SHP Artist of Twisted Insurrection: Nod buildings
Jumpjet is never considered an Aircraft. Objects are consideredto be in the air when they are above a certain height, and then they are moved into the correct layer.
The problem seems to be to be that the object that is being proceeded from the layers array is malformed, or even, it could be reaching past the end of the array...
Hyper, do you need additional infos for this Exception?, i can make a map what has IonStorms enabled for testing and post some Exceptions =/ QUICK_EDIT
my attached testmap in my post above does that already.
But you could try to create more IE under different IonStorm situations and upload the excepts here. Maybe this helps Hyper to narrow down the problem. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Hmm... i had downloaded the files (exe and testmap) and running ts in my mod via rules.ini but there isnt any exceptions, when the IS starts <.<or> same 4 exceptions when the storm hits the ground...
Code:
; Ion storm control
IonLightningFrequency=100
IonLightningRandomness=50
IonLightningDamage=10
IonStormDuration=1
IonStormWarning=10
...
the IonStorm IE isn't very predictable and not happening right when the first IS starts. Sometimes nothing happens for lots of IS starts and sometimes right the first IS crashes.
It's really bad and hard to reproduce the IE.
i used similar IS settings in my testmap, though here done via the map triggers that start and end an IS. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Joined: 10 Dec 2012 Location: I'm too busy conquering the world!
Posted: Thu Apr 11, 2013 9:08 pm Post subject:
Yes, if you increase the IonStorm Frequency, there will be more chance to IE, because I think that if the Ion storm hits the same tile twice in same frame, it will cause IE. I had it high as 75% or 80%, (I don't remember it). It happened in one of my old map crate wars, but now I don't have the map anymore. _________________ Mod Leader and founder of World Domination
that white fraggle thing worse an jumpset... some aircraft doenst crashed... it worse not able to grab a except.txt -> the game doesnt create one... Oo
it seems the problem with the IE are Jumpjets, when they are flying to the East-Side on the map (right-side of the Map) in all Screens, that i had made (the Same Exception..., the Same direction "to the east")
maybe anyone can reproduce it...: before the ION-Storm starts... navigate Jumpjets (on the top of the Map to the eastside of the map!!! while you have to scroll)
Edit: okay before i get banned, i should begin to caputre the situations... (fraps or camtasia) its everytime the same moment... when the ionstorm begins =/ (graysnowy screen >.<)
doubt that.
a) IS crash only right at the start, when the static anim fills the screen and the lighting changes. I never experienced a crash in the middle of a running IS
b) i've scrolled multiple times during a running IS over the drawn bolts without problems. _________________ SHP Artist of Twisted Insurrection: Nod buildings
Also IIRC WaveClass/LaserDrawClass errors are somehow tied to alpha blending effects of the Laser, Ion Cannon and Sonic Wave. While the IS lightning bolts don't use alpha blending AFAIK. _________________ QUICK_EDIT
All these Exception are happening while the Screen worse filled with the Grey "Snowy" tiles / anim... it happend more with jumpjets AND Aircrafts... (In 10 Tests = 3 x Hypers MessageBox and 7x a normal IE)
with IDA Pro i had decompiled the depending Sub and can only see:
Code:
char __thiscall sub_52F1D0(void *this, int a2, void *a3)
{
void *v3; // esi@1
void *v4; // edi@3
int v5; // ecx@7
int i; // eax@9
int v7; // eax@15
In this case its Pseudocode... but v5 is maybe changed, while "for" counts to the maximum (v5), what already has another value <.< (for example there worse 5 and now its 4)
what units must are now destroyed... hmm but maybe the array is malformed or damaged... and the game trying to write on position what it doesnt have =/
Quote:
b) i've scrolled multiple times during a running IS over the drawn bolts without problems.
indeed it happend after a few tries... -> you must add Arcraft-units to your team... they must spwant and FLYING... after 3-4 tries it happend.... "The game worse crashed while an ionstorm worse active..."
All these Exception are happening while the Screen worse filled with the Grey "Snowy" tiles / anim... it happend more with jumpjets AND Aircrafts... (In 10 Tests = 3 x Hypers MessageBox and 7x a normal IE)
with IDA Pro i had decompiled the depending Sub and can only see:
Code:
Blah...
In this case its Pseudocode... but v5 is maybe changed, while "for" counts to the maximum (v5), what already has another value <.< (for example there worse 5 and now its 4)
what units must are now destroyed... hmm but maybe the array is malformed or damaged... and the game trying to write on position what it doesnt have =/
Quote:
b) i've scrolled multiple times during a running IS over the drawn bolts without problems.
indeed it happend after a few tries... -> you must add Arcraft-units to your team... they must spwant and FLYING... after 3-4 tries it happend.... "The game worse crashed while an ionstorm worse active..."
i had make a video =) wher you can see how it must going on, to reproduce that IE <.<
Pretty much what i feel is happening. I had LKO test a bit of code that retained the counter, or "v5" as you call it and the error still occured... QUICK_EDIT
Yes... but this worse Assembler for Microcomputer <.< ... edx eip jnz add sub etc <.< it worse sometime a dream in the Night <.< for a while i had patched little code-segment in different Programs <.< but today, i cant remember how i can calculate HEX-Bytes in Strings <.< maybe someone can explain it...
AFAIK the FIRST BYTE in the HEX-LINE (Hexeditor`s Line ) is the instruction (for example "75" what is jnz): what is used in IF-Conditions (True)
Code:
[b]75[/b] AD 78 31 21 11 02 29...
so i can revert it to "74" (jz), thats reverts the IF-Condition <.< in the ETS-Thread worse somewhere an Assembler-book (as PDF) =) QUICK_EDIT
Hey Hyper, I recently did try to catch the pure virtual function crash with your .exe and after numerous hours I was successful, got right crash message for it BUT it did not write new except.txt! Are you sure you implement it right? For normal crashes it generates it properly, just had about two while trying to catch ion storm crash.
Btw I've made back up of windows .mdmp and .hdmp logs of it just in case, if you're interested in them let me know. QUICK_EDIT
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum