Highlighted

100% reproducible AOT compiler crash

Community Beginner ,
Nov 21, 2014

Copy link to clipboard

Copied

My AIR project causes the (non-legacy) AOT compiler to crash during compilation 100% of the time.

To be very clear: this is a crash in the compiler, and NOT in the compiled application.

I created a bug in Adobe's bugbase back in September; the bug was incorrectly marked as a duplicate of a bug causing *runtime crashes in the compiled application*, using the new compiler. I've posted additional comments to my bug explaining that it was incorrectly marked as a duplicate, but it's months later, and no response.

There seem to be Adobe engineers paying some attention to this forum, so I'm trying my luck over here, as whoever's in charge of triaging the bugbase issues is completely unresponsive. (If you can't tell, this is pretty frustrating!)

My bugbase bug is Bug#3822043 - iOS AOT packaging crash

I'm copy-pasting the details below as well.

It'd be great to hear back from somebody at Adobe about this! I can work around the bug using the legacyAOT compiler, but the iOS game I'm developing will not ship till next year, and I'm worried about being out of luck when Apple flips the mandatory-64-bit switch on App Store submissions -- presumably 64-bit support will come to the new AOT compiler and not the legacy one.

Thanks,

Tim Conkling

---

Title

iOS AOT packaging crash

Description

Problem Description:

I just updated to AIR SDK 15, and my project fails to package using the new (fast/non-legacy) AOT compiler.
(I had not used the new AOT compiler prior to AIR 15, so this crash may have been present in earlier versions)

Steps to Reproduce:

Compile my project with AIR SDK 15

Actual Result:

I get the following crash while packaging with the new AOT compiler:

package-ios:
[java] 0 compile-abc 0x00962048 PrintStackTrace(void*) + 40
[java] 1 compile-abc 0x009624c1 SignalHandler(int) + 449
[java] 2 libsystem_platform.dylib 0x963c1deb _sigtramp + 43
[java] 3 libsystem_platform.dylib 0xffffffff _sigtramp + 1774445119
[java] 4 compile-abc 0x0005bb3b halfmoon::Cleaner::simplify(halfmoon::BlockEndInstr*) + 667
[java] 5 compile-abc 0x0005c696 halfmoon::cleanBlocks(halfmoon::Context*, halfmoon::InstrGraph*, halfmoon::Cleaner*) + 166
[java] 6 compile-abc 0x0005e204 halfmoon::removeDeadCode(halfmoon::Context*, halfmoon::InstrGraph*) + 324
[java] 7 compile-abc 0x00051d1c halfmoon::AbcBuilder::visitBlocks(nanojit::Seq<halfmoon::AbcBlock*>*) + 316
[java] 8 compile-abc 0x000c5776 halfmoon::parseAbc(avmplus::MethodInfo*, halfmoon::Lattice*, halfmoon::InfoManager*, nanojit::Allocator&, halfmoon::AbcGraph*, avmplus::Toplevel*, avmplus::AbcEnv*, halfmoon::ProfiledInformation*, halfmoon::Context&) + 182
[java] 9 compile-abc 0x000c6483 halfmoon::JitWriter::writeEpilogue(avmplus::FrameState const*) + 211
[java] 10 compile-abc 0x0012eceb avmplus::NullWriter::writeEpilogue(avmplus::FrameState const*) + 27
[java] 11 compile-abc 0x001887cc avmplus::Verifier::verify(avmplus::CodeWriter*) + 1260
[java] 12 compile-abc 0x0000535f compile_abc::CompilerCore::emitPoolinSpilttedModules(compile_abc::PoolInfo&) + 1055
[java] 13 compile-abc 0x0000424d compile_abc::CompilerCore::compile() + 4909
[java] 14 compile-abc 0x00002c6f compile_abc::CompilerCore::run(int, char**) + 1471
[java] 15 compile-abc 0x00006402 main + 66
[java] 16 compile-abc 0x00001835 start + 53
[java] Stack dump:
[java] 0. Program arguments: /export/flex/AIRSDK/lib/aot/bin/compile-abc/compile-abc -mtriple=armv7-apple-ios -filetype=obj -sdk /export/flex/AIRSDK/lib/aot/lib/avmglue.abc -fields /export/flex/AIRSDK/lib/aot/lib/air-fields.arm-air.txt -O3 -ane-symbol=nativeUtilsExtInitializer -ane-symbol=nativeUtilsExtFinalizer -ane-symbol=AirPushExtInitializer -ane-symbol=AirPushExtFinalizer -abc-file-list=/export/aciv/dist/AOTBuildOutput4100343720286006462.tmp/ABCFilesList.txt
[java] Compilation failed while executing : compile-abc
[java] /var/folders/3m/vj94gw0d1sbbjdvn17jnm5br0000gn/T/cmd1708876391282881035.tmp: line 2: 3273 Bus error: 10 "/export/flex/AIRSDK/lib/aot/bin/compile-abc/compile-abc" "-mtriple=armv7-apple-ios" "-filetype=obj" "-sdk" "/export/flex/AIRSDK/lib/aot/lib/avmglue.abc" "-fields" "/export/flex/AIRSDK/lib/aot/lib/air-fields.arm-air.txt" "-O3" "-ane-symbol=nativeUtilsExtInitializer" "-ane-symbol=nativeUtilsExtFinalizer" "-ane-symbol=AirPushExtInitializer" "-ane-symbol=AirPushExtFinalizer" "-abc-file-list=/export/aciv/dist/AOTBuildOutput4100343720286006462.tmp/ABCFilesList.txt"

Expected Result:

It shouldn't crash

Any Workarounds:

Using the legacy AOT compiler, via the "-useLegacyAOT yes" compiler option, works without issue

TOPICS
Air beta

Views

3.1K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more

100% reproducible AOT compiler crash

Community Beginner ,
Nov 21, 2014

Copy link to clipboard

Copied

My AIR project causes the (non-legacy) AOT compiler to crash during compilation 100% of the time.

To be very clear: this is a crash in the compiler, and NOT in the compiled application.

I created a bug in Adobe's bugbase back in September; the bug was incorrectly marked as a duplicate of a bug causing *runtime crashes in the compiled application*, using the new compiler. I've posted additional comments to my bug explaining that it was incorrectly marked as a duplicate, but it's months later, and no response.

There seem to be Adobe engineers paying some attention to this forum, so I'm trying my luck over here, as whoever's in charge of triaging the bugbase issues is completely unresponsive. (If you can't tell, this is pretty frustrating!)

My bugbase bug is Bug#3822043 - iOS AOT packaging crash

I'm copy-pasting the details below as well.

It'd be great to hear back from somebody at Adobe about this! I can work around the bug using the legacyAOT compiler, but the iOS game I'm developing will not ship till next year, and I'm worried about being out of luck when Apple flips the mandatory-64-bit switch on App Store submissions -- presumably 64-bit support will come to the new AOT compiler and not the legacy one.

Thanks,

Tim Conkling

---

Title

iOS AOT packaging crash

Description

Problem Description:

I just updated to AIR SDK 15, and my project fails to package using the new (fast/non-legacy) AOT compiler.
(I had not used the new AOT compiler prior to AIR 15, so this crash may have been present in earlier versions)

Steps to Reproduce:

Compile my project with AIR SDK 15

Actual Result:

I get the following crash while packaging with the new AOT compiler:

package-ios:
[java] 0 compile-abc 0x00962048 PrintStackTrace(void*) + 40
[java] 1 compile-abc 0x009624c1 SignalHandler(int) + 449
[java] 2 libsystem_platform.dylib 0x963c1deb _sigtramp + 43
[java] 3 libsystem_platform.dylib 0xffffffff _sigtramp + 1774445119
[java] 4 compile-abc 0x0005bb3b halfmoon::Cleaner::simplify(halfmoon::BlockEndInstr*) + 667
[java] 5 compile-abc 0x0005c696 halfmoon::cleanBlocks(halfmoon::Context*, halfmoon::InstrGraph*, halfmoon::Cleaner*) + 166
[java] 6 compile-abc 0x0005e204 halfmoon::removeDeadCode(halfmoon::Context*, halfmoon::InstrGraph*) + 324
[java] 7 compile-abc 0x00051d1c halfmoon::AbcBuilder::visitBlocks(nanojit::Seq<halfmoon::AbcBlock*>*) + 316
[java] 8 compile-abc 0x000c5776 halfmoon::parseAbc(avmplus::MethodInfo*, halfmoon::Lattice*, halfmoon::InfoManager*, nanojit::Allocator&, halfmoon::AbcGraph*, avmplus::Toplevel*, avmplus::AbcEnv*, halfmoon::ProfiledInformation*, halfmoon::Context&) + 182
[java] 9 compile-abc 0x000c6483 halfmoon::JitWriter::writeEpilogue(avmplus::FrameState const*) + 211
[java] 10 compile-abc 0x0012eceb avmplus::NullWriter::writeEpilogue(avmplus::FrameState const*) + 27
[java] 11 compile-abc 0x001887cc avmplus::Verifier::verify(avmplus::CodeWriter*) + 1260
[java] 12 compile-abc 0x0000535f compile_abc::CompilerCore::emitPoolinSpilttedModules(compile_abc::PoolInfo&) + 1055
[java] 13 compile-abc 0x0000424d compile_abc::CompilerCore::compile() + 4909
[java] 14 compile-abc 0x00002c6f compile_abc::CompilerCore::run(int, char**) + 1471
[java] 15 compile-abc 0x00006402 main + 66
[java] 16 compile-abc 0x00001835 start + 53
[java] Stack dump:
[java] 0. Program arguments: /export/flex/AIRSDK/lib/aot/bin/compile-abc/compile-abc -mtriple=armv7-apple-ios -filetype=obj -sdk /export/flex/AIRSDK/lib/aot/lib/avmglue.abc -fields /export/flex/AIRSDK/lib/aot/lib/air-fields.arm-air.txt -O3 -ane-symbol=nativeUtilsExtInitializer -ane-symbol=nativeUtilsExtFinalizer -ane-symbol=AirPushExtInitializer -ane-symbol=AirPushExtFinalizer -abc-file-list=/export/aciv/dist/AOTBuildOutput4100343720286006462.tmp/ABCFilesList.txt
[java] Compilation failed while executing : compile-abc
[java] /var/folders/3m/vj94gw0d1sbbjdvn17jnm5br0000gn/T/cmd1708876391282881035.tmp: line 2: 3273 Bus error: 10 "/export/flex/AIRSDK/lib/aot/bin/compile-abc/compile-abc" "-mtriple=armv7-apple-ios" "-filetype=obj" "-sdk" "/export/flex/AIRSDK/lib/aot/lib/avmglue.abc" "-fields" "/export/flex/AIRSDK/lib/aot/lib/air-fields.arm-air.txt" "-O3" "-ane-symbol=nativeUtilsExtInitializer" "-ane-symbol=nativeUtilsExtFinalizer" "-ane-symbol=AirPushExtInitializer" "-ane-symbol=AirPushExtFinalizer" "-abc-file-list=/export/aciv/dist/AOTBuildOutput4100343720286006462.tmp/ABCFilesList.txt"

Expected Result:

It shouldn't crash

Any Workarounds:

Using the legacy AOT compiler, via the "-useLegacyAOT yes" compiler option, works without issue

TOPICS
Air beta

Views

3.1K

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Nov 21, 2014 0
Adobe Employee ,
Nov 21, 2014

Copy link to clipboard

Copied

Hi,

Could you please share a sample app with this problem at govindag@adobe.com?

Thanks

Govind

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Nov 21, 2014 0
Community Beginner ,
Nov 24, 2014

Copy link to clipboard

Copied

Hi Govind,

Just sent email with a sample project.

For anyone else following along: this seems to be caused by a third-party library my project uses (protobuf.swc - tconkling/protoc-gen-as3 · GitHub).

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Nov 24, 2014 0
Adobe Employee ,
Dec 09, 2014

Copy link to clipboard

Copied

Hi,

Thanks for sharing the project.

we are able to reproduce issue at our end. we are investigating it

Best Regards,

Jitender

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 09, 2014 0
Community Beginner ,
Dec 19, 2014

Copy link to clipboard

Copied

An update on this issue, for anyone following along:

I've had some back and forth with Govind, from Adobe, who's confirmed the issue is caused by a corrupt swc. (The protobuf library I'm using.)

Since I'm compiling the swc with the latest AIR SDK (I've tried the latest stable build of AIR 15 as well as the beta AIR 16), any corruption is a result of the compc compiler. I'm including a link to a stripped-down sample project that demonstrates the issue:

Dropbox - AOTCrasher.zip

Running the included ant build will compile the protobuf swc, compile and link the AOTCrasher swf, and then (attempt) to package that swf into an iOS ipa. The compile-abc process crashes and spits out a stacktrace.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 19, 2014 0
New Here ,
Jan 22, 2015

Copy link to clipboard

Copied

Any updates on this?  We have the same problem in our project with the latest AIR SDK 16 and beta releases.  We had no problem with AIR 14, but we NEED to update since Apple is requiring the 64-bit update by Feb 1.

We tried taking out all ANEs and SWCs, and looked at all conditional compilation codes to make sure they are not empty, but it still shows the same problem.  Please fix it soon, otherwise we can't update our app after Feb 1.  Thanks!

Here are the error outputs we got when exporting release build to iOS:

Error occurred while packaging the application:

0  compile-abc              0x00c38708 llvm::sys::PrintStackTrace(__sFILE*) + 40

1  compile-abc              0x00c3898c PrintStackTraceSignalHandler(void*) + 28

2  compile-abc              0x00c38c21 SignalHandler(int) + 433

3  libsystem_platform.dylib 0x91744deb _sigtramp + 43

4  libsystem_platform.dylib 0xffffffff _sigtramp + 1854648895

5  compile-abc              0x00062001 halfmoon::Cleaner::simplify(halfmoon::BlockEndInstr*) + 641

6  compile-abc              0x00062ba6 halfmoon::cleanBlocks(halfmoon::Context*, halfmoon::InstrGraph*, halfmoon::Cleaner*) + 166

7  compile-abc              0x00064674 halfmoon::removeDeadCode(halfmoon::Context*, halfmoon::InstrGraph*) + 324

8  compile-abc              0x00057e5d halfmoon::AbcBuilder::visitBlocks(nanojit::Seq<halfmoon::AbcBlock*>*) + 317

9  compile-abc              0x000d5d78 halfmoon::parseAbc(avmplus::MethodInfo*, halfmoon::Lattice*, halfmoon::InfoManager*, nanojit::Allocator&, halfmoon::AbcGraph*, avmplus::Toplevel*, avmplus::AbcEnv*, halfmoon::ProfiledInformation*, halfmoon::Context&) + 184

10 compile-abc              0x000d6adf halfmoon::JitWriter::writeEpilogue(avmplus::FrameState const*) + 223

11 compile-abc              0x00146c4b avmplus::NullWriter::writeEpilogue(avmplus::FrameState const*) + 27

12 compile-abc              0x001a65e1 avmplus::Verifier::verify(avmplus::CodeWriter*) + 1281

13 compile-abc              0x00005984 compile_abc::CompilerCore::emitPoolToSpilttedModules(compile_abc::PoolInfo&) + 1092

14 compile-abc              0x00004885 compile_abc::CompilerCore::compile() + 5029

15 compile-abc              0x00003255 compile_abc::CompilerCore::run(int, char**) + 1429

16 compile-abc              0x00007363 main + 147

17 compile-abc              0x00001e35 start + 53

18 compile-abc              0x00000009 start + 4294959625

Stack dump:

0. Program arguments: /Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722/AIRSDK/lib/aot/bin/compile-abc/compile-abc -mtriple=armv7-apple-ios -filetype=obj -sdk /Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722/AIRSDK/lib/aot/lib/avmglue.abc -fields /Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722/AIRSDK/lib/aot/lib/air-fields.arm-air.txt -O3 -abc-file-list=/Users/michael/BTSync/michael/blast/flash/bin-release-temp/AOT/AOTBuildOutput1569862434000997258.tmp/ABCFilesList.txt

/var/folders/lb/6qf0rdhd565gn7_wrgsj17g00000gn/T/cmd4649154888160376913.tmp: line 2: 81263 Bus error: 10           "/Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722/AIRSDK/lib/aot/bin/compile-abc/compile-abc" "-mtriple=armv7-apple-ios" "-filetype=obj" "-sdk" "/Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722/AIRSDK/lib/aot/lib/avmglue.abc" "-fields" "/Applications/Adobe Flash Builder 4.7/eclipse/plugins/com.adobe.flash.compiler_4.7.0.349722/AIRSDK/lib/aot/lib/air-fields.arm-air.txt" "-O3" "-abc-file-list=/Users/michael/BTSync/michael/blast/flash/bin-release-temp/AOT/AOTBuildOutput1569862434000997258.tmp/ABCFilesList.txt"

Compilation failed while executing : compile-abc

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jan 22, 2015 0
New Here ,
Dec 09, 2014

Copy link to clipboard

Copied

Hi there. Do you know if it is possible to use the legacy compiler in CS6? I am using SDK 16 and am getting the same error as you mention above. Any help would be appreciated.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 09, 2014 0
Community Beginner ,
Dec 09, 2014

Copy link to clipboard

Copied

I don't use Flash CS, so I'm not sure. (I'm compiling with the command-line tools.)

However, the error seems to be related to class names with special characters in them. My project uses a third-party swc that has classnames with "$" in them. Do you have an unusually-named classes in your project?

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 09, 2014 0
New Here ,
Dec 09, 2014

Copy link to clipboard

Copied

thanks for the response.

For the code I wrote myself there will be no special characters - I never use anything other than CamelCase naming.

After reading a bit two things stand out for me in my project:

1. I am making use of shineMP3_alchemy.swc which could have oddly named class names. I can't be sure though - how do I check?!

2. I include a really large SWC that contains animations which I extrapolated because my Flash kept crashing (7MB file)

thanks again.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 09, 2014 0
Community Beginner ,
Dec 09, 2014

Copy link to clipboard

Copied

If you don't have access to the source code for shineMP3, I think there are swf/swc decompilation tools out there? (I don't have any direct experience with them, but "swf decompiler" pops up some Google results)

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 09, 2014 0
New Here ,
Dec 11, 2014

Copy link to clipboard

Copied

Thanks for all the responses tconkling. I also tried version 15 of the SDK but I still get the -abc error on compile.

My app starts off with an embedded H263 FLV video playing (or at least it used to). I also have a similar app that doesn't start with the video and it still runs fine. Looks like there's issues around the video playback or something.

Just wish I could get it exported with the new SDK to test.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Dec 11, 2014 0
New Here ,
Jan 23, 2015

Copy link to clipboard

Copied

Hi

I has the same problem by use a third-party library (protobuf.swc - tconkling/protoc-gen-as3 · GitHub).

Now, I fix this bug by modify TextFormat.as.

private static function skipWhitespace(source:ISource):void {

        for (;; ) {

                const b:int = source.read()

                switch (b) {

                case 0x20:/* space */

                case 0x09:/* \t */

                case 0x0a:/* \n */

                case 0x0d:/* \r */

                        continue

                case 0x23:/* # */

                        for (;;) {

                                var isLineEnd:Boolean = false;

                                switch (source.read()) {

                                        case 0x0a:/* \n */

                                        case 0x0d:/* \r */

                                                isLineEnd = true;

                                                break;

                                        default:

                                                break;

                                }

                                if(isLineEnd)

                                {

                                        break;

                                }

                        }

                        break;

                default:

                        source.unread(b)

                        return

                }

        }

}

Issue 47 - protoc-gen-as3 - AIR SDK failed to package AIR application - Protocol Buffers plugin for ...

Good luck!

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jan 23, 2015 0
New Here ,
Jan 23, 2015

Copy link to clipboard

Copied

We are not using that library but THANK YOU for pointing us to the right direction.  I remembered another thread talking about empty switch statements, and we searched our code for those and this was the cause:

switch(this._list.selectedIndex)

{

  case 0:

    break;

}

Although this does nothing, but the syntax is correct and the compiler/linker should handle it.

Thanks again.

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jan 23, 2015 0
Community Beginner ,
Jan 28, 2015

Copy link to clipboard

Copied

Thanks a lot for pointing this out. (Incidentally, that's my Github repo, though I'm not the original author of the protobuf library. I'll add your fix.)

I've sent several followup emails to govindag@adobe.com about this, with small test cases, but haven't heard back for several months

Likes

Translate

Translate

Report

Report
Community Guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
Reply
Loading...
Jan 28, 2015 0