I have an issue in which outdated code removed long ago code in an actionscript 2 class sometimes gets executed. I can tell this in that the application fails and trace statements removed long ago gets logged to a console.
The closest match I’ve come across is this post:
Here are the things I’ve tried
- I have searched all source code in the project for the trace entry. It is not there.
- I have searched an uncompressed debug-enabled version for the trace entry. It is not there.
- I have decompiled the compiled version and searched that. It is not there.
- I have deleted all ASO files and tried to recompile.
- I have not been able to reliably reproduce the conditions in which the situation arises.
I’ve testet 700 times in a row (yes – sevenhundred times – this is a high profile project) and it would not occur. Then tested another time and it occured. No difference in my approach to testing. - I have compiled on another, freshly installed machine. No difference.
- I have ruled out that it may relate to timestamps since I’ve tried to compile locally and w/o version control.
- I have tried yelling, crying, begging, ignoring and threatening Flash with unspeakable acts of doing but to no avail.
- It seems to be isolated to a single class. All other classes behave as expected and everything is fine until I get to the class in question. Then fail is all around.
Still – sometimes I see code that has been long gone removed being executed and trace statements that no longer exists being logged while others that should appear doesn’t.
This is a critical issue I need to resolve.
Any and all help will be greatly appreciated.
Thanks in advance,
Thomas
Please do not despair. This sort of thing has happened to all of us before and eventually we discover the problem (usually its ours).
The best advice I can give you is to put a breakpoint prior to the crazy trace statements and hope for the debug to go through them.
As you said you searched for the trace statements, would it be possible for them to be on the action panel(timeline code)?
How is your code and .fla organized? Is everything in external .as files or is it embedded in the timeline?
And finally, are you performing any sort of reflection such as getClassByName() (in as2 eval(“_global.”+className))?
Also, to make sure it’s not a caching issue, copy only the .fla and the associated .as files, and move it to either a new computer or a new folder and compile it using a different windows user (assuming u’re using windows), that should be enough to get rid of all caching crazyness flash does.