background: over the last 4 years i have been writing modifications for a popular online game. the modifications are to original source released by the company back in 2002 and until this week i have never encountered this problem.
the zip file containing the code was written to CD in 2004 and has been used multiple times as the foundation of new modifications (all of which have been proven to work through use in servers)
the problem: for some unknown reason, the source for my latest mod has become corrupt. it will compile. but the server chucks an error as soon as people join.
the particular error (according to the debug) is caused in a reset function, where a **(pointer to pointer) becomes trashed. Sometimes this function is called without error (30+ times) without crashing.. but eventually it will be trashed.
now my initial thought was "o damn.. ive made a mess of the code", so i rolled back to the last backup i made and compiled. the same memory problem was present (and this is on a mod that has been in use without problem since april 2005)
as a long shot, i got the CD (with the original unmodified code burnt in 2004) and loaded the workspace... compiled the code and you guessed it.. this memory/pointer error again.
so without explaining all the events of the last 4 days.
the unmodified code on the CD has been attempted to compile on 5 different PCs (in 2 countries.. had a friend helping out in germany) 1 of which was a complete virgin install. the error is identicle on all PCs (debug always goes to the reset function and the "this" pointer in dissassembly is always pointing to trash)
the code, that previously compiled and worked back in april 2005 (the backup) causes the same memory/pointer error as compiling the unmodified code (the backup is obviously unmodified since its last compile), again on multiple machines.
hope you could follow all that.
anyway.. i need a new perspective, ive run out of things to investigate.
if the source on CD was at fault... why have i used it successfully in the past, and also how does the backup develop identical symptoms?
we can rule out intermediate files since a virgin install was used.
we can rule out service packs to visual c++ because the virgin machine didnt have any on it.
why does a source that has been unmodified since april 2005, which the compiled file works perfectly since 2005, now develop the symptoms when compiled.
(NB: i added some debug to the code. the ** addr was originally 0x3399b4c the first few times through the function then randomly went to 0xddddde01 which causes the subsequent error)
if anyone has any ideas on what i can look into now, it will be much appreciated. i realy am stumped for ideas
If somethings hard to do, its not worth doing - Homer Simpson
the zip file containing the code was written to CD in 2004 and has been used multiple times as the foundation of new modifications (all of which have been proven to work through use in servers)
the problem: for some unknown reason, the source for my latest mod has become corrupt. it will compile. but the server chucks an error as soon as people join.
the particular error (according to the debug) is caused in a reset function, where a **(pointer to pointer) becomes trashed. Sometimes this function is called without error (30+ times) without crashing.. but eventually it will be trashed.
now my initial thought was "o damn.. ive made a mess of the code", so i rolled back to the last backup i made and compiled. the same memory problem was present (and this is on a mod that has been in use without problem since april 2005)
as a long shot, i got the CD (with the original unmodified code burnt in 2004) and loaded the workspace... compiled the code and you guessed it.. this memory/pointer error again.
so without explaining all the events of the last 4 days.
the unmodified code on the CD has been attempted to compile on 5 different PCs (in 2 countries.. had a friend helping out in germany) 1 of which was a complete virgin install. the error is identicle on all PCs (debug always goes to the reset function and the "this" pointer in dissassembly is always pointing to trash)
the code, that previously compiled and worked back in april 2005 (the backup) causes the same memory/pointer error as compiling the unmodified code (the backup is obviously unmodified since its last compile), again on multiple machines.
hope you could follow all that.
anyway.. i need a new perspective, ive run out of things to investigate.
if the source on CD was at fault... why have i used it successfully in the past, and also how does the backup develop identical symptoms?
we can rule out intermediate files since a virgin install was used.
we can rule out service packs to visual c++ because the virgin machine didnt have any on it.
why does a source that has been unmodified since april 2005, which the compiled file works perfectly since 2005, now develop the symptoms when compiled.
(NB: i added some debug to the code. the ** addr was originally 0x3399b4c the first few times through the function then randomly went to 0xddddde01 which causes the subsequent error)
if anyone has any ideas on what i can look into now, it will be much appreciated. i realy am stumped for ideas
If somethings hard to do, its not worth doing - Homer Simpson