Skip to main content
May 27, 2012
Question

How do I deal with bugs in ADT optimizations for ad hoc builds?

  • May 27, 2012
  • 4 replies
  • 1062 views

The project I'm working on is an Adobe Air port of a Flash game.

The ADT generates working builds for the targets: ipa-debug, ipa-test, ipa-debug-interpreter, and ipa-test-interpreter

However the build target ipa-ad-hoc creates a build that crashes during a game event.

The bug is 100% reproducible in Air 3.2, Air3.3b2, and Air3.3b3.

If I use undocumented ADT flag -Xdebug the crash does not happen.

If I instrument the function with trace statements, the crash does not happen, if the trace stacement is in just the right spot.

This feels like a bug in the optimizer, but it's very costly in my time to track down issues that only happen in the ad-hoc build.

It would be much faster to isolate this type of issue if I could debug an optimized build.

It would also be helpful if I could disable the optimizer on the functions I observe it's getting wrong, rather than having to turn off optimizations globally.

I've worked around the present issue; which I was finally able to narrow down to breaking out of a nested for loop. Adding a trace at the point it should have broken out to fixed it;  so I wrapped that logic in a function and now it works.

But I'd rather have some tools and a way to get these type of bugs fixed such that ad hoc isn't a scary build to try.

This topic has been closed for replies.

4 replies

May 29, 2012

Some users had reported a similar issue in 3.3Beta2, but  it was resolved for them in 3.3Beta3, but it seems like that didn't work out for you.

Can you share a small project that reproduces the issue at neh@adobe.com and pahup@adobe.com, so that we can look at the issue?

Thanks,

Neha

May 31, 2012

Thanks for sharing the code. I'm looking into it.

Known Participant
May 28, 2012

I am joining this question because I personally had at least three different issues with ad hoc builds that I wasn't able to reproduce in ipa-debug and ipa-test modes. And I'm currently struggling with resolving another one which might not be related to ADT though (but it does reproduce in ad hoc builds only). In all of the issues I did resolve I could see that ADT generated wrong code.