Skip to main content
Known Participant
November 22, 2014
Question

100% reproducible AOT compiler crash

  • November 22, 2014
  • 3 replies
  • 4077 views

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

This topic has been closed for replies.

3 replies

李舜丞
Participant
January 23, 2015

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 ActionScript 3 - …

Good luck!

Participating Frequently
January 23, 2015

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.

Participant
December 9, 2014

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.

tconklingAuthor
Known Participant
December 9, 2014

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?

Participant
December 9, 2014

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.

Adobe Employee
November 22, 2014

Hi,

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

Thanks

Govind

tconklingAuthor
Known Participant
November 24, 2014

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).

Adobe Employee
December 10, 2014

Hi,

Thanks for sharing the project.

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

Best Regards,

Jitender