Skip to main content
Known Participant
July 2, 2013
Question

Internal error in subsystem ABC generator

  • July 2, 2013
  • 1 reply
  • 1188 views

Hello,

I'm working on an AIR/AS3 project which uses AIR 3.4 SDK and ASC 2.0 compiler. For performance improvement i'm using inlining.

Few weeks ago I wanted to upgrade my AIR SDK to take advantage of new features, but when I try to build my project with AIR SDK 3.5, 3.6 or even 3.7, I'm getting a compiler error.

As I said, le project compiles fine in AIR 3.4 but not with the most recent versions of AIR when using inlining. If I disable inlining, the project compiles in all version of AIR.

This is the error I get :

Erreur interne dans le sous-système ABC generator lors de la génération du code pour : C:\Users\hug0\Documents\uq\UB\UB\src\com\edioromeh\ub\display\Map.as: java.lang.IllegalArgumentException: Label com.adobe.flash.abc.semantics.Label@4b379dc0 => 30 was referenced, but never defined.
at com.adobe.flash.abc.semantics.MethodBodyInfo.getBlock(MethodBodyInfo.java:307)
at com.adobe.flash.abc.ABCEmitter.emitCode(ABCEmitter.java:848)air
at com.adobe.flash.abc.ABCEmitter.access$1100(ABCEmitter.java:148)
at com.adobe.flash.abc.ABCEmitter$EmitterMethodInfoVisitor.visitEnd(ABCEmitter.java:2052)
at com.adobe.flash.compiler.internal.as.codegen.ABCGenerator.generateMethodBodyForFunction(ABCGenerator.java:353)
at com.adobe.flash.compiler.internal.as.codegen.ABCGenerator.generateFunction(ABCGenerator.java:266)
at com.adobe.flash.compiler.internal.as.codegen.ClassDirectiveProcessor.declareFunction(ClassDirectiveProcessor.java:646)
at com.adobe.flash.compiler.internal.as.codegen.DirectiveProcessor.processNode(DirectiveProcessor.java:215)
at com.adobe.flash.compiler.internal.as.codegen.DirectiveProcessor.traverse(DirectiveProcessor.java:189)
at com.adobe.flash.compiler.internal.as.codegen.GlobalDirectiveProcessor.declareClass(GlobalDirectiveProcessor.java:423)
at com.adobe.flash.compiler.internal.as.codegen.DirectiveProcessor.processNode(DirectiveProcessor.java:207)
at com.adobe.flash.compiler.internal.as.codegen.DirectiveProcessor.traverse(DirectiveProcessor.java:189)
at com.adobe.flash.compiler.internal.as.codegen.GlobalDirectiveProcessor.declarePackage(GlobalDirectiveProcessor.java:449)
at com.adobe.flash.compiler.internal.as.codegen.DirectiveProcessor.processNode(DirectiveProcessor.java:224)
at com.adobe.flash.compiler.internal.as.codegen.DirectiveProcessor.traverse(DirectiveProcessor.java:189)
at com.adobe.flash.compiler.internal.as.codegen.ABCGenerator.generate(ABCGenerator.java:126)
at com.adobe.flash.compiler.internal.units.ASCompilationUnit.handleABCBytesRequest(ASCompilationUnit.java:374)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase.processABCBytesRequest(CompilationUnitBase.java:870)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase.access$300(CompilationUnitBase.java:107)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase$4$1.call(CompilationUnitBase.java:309)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase$4$1.call(CompilationUnitBase.java:305)
at com.adobe.flash.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:228)
at com.adobe.flash.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:222)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy.rejectedExecution(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.reject(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.execute(Unknown Source)
at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
at com.adobe.flash.compiler.internal.units.requests.RequestMaker.getRequest(RequestMaker.java:188)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase.getABCBytesRequest(CompilationUnitBase.java:614)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase.startBuildAsync(CompilationUnitBase.java:1071)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase.startParsingImports(CompilationUnitBase.java:924)
at com.adobe.flash.compiler.internal.units.ASCompilationUnit.handleOutgoingDependenciesRequest(ASCompilationUnit.java:450)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase.processOutgoingDependenciesRequest(CompilationUnitBase.java:886)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase.access$500(CompilationUnitBase.java:107)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase$6$1.call(CompilationUnitBase.java:378)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase$6$1.call(CompilationUnitBase.java:374)
at com.adobe.flash.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:228)
at com.adobe.flash.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:222)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$CallerRunsPolicy.rejectedExecution(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.reject(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.execute(Unknown Source)
at java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
at com.adobe.flash.compiler.internal.units.requests.RequestMaker.getRequest(RequestMaker.java:188)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase.getOutgoingDependenciesRequest(CompilationUnitBase.java:626)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase.startBuildAsync(CompilationUnitBase.java:1067)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase.startParsingImports(CompilationUnitBase.java:924)
at com.adobe.flash.compiler.internal.units.ASCompilationUnit.handleOutgoingDependenciesRequest(ASCompilationUnit.java:450)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase.processOutgoingDependenciesRequest(CompilationUnitBase.java:886)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase.access$500(CompilationUnitBase.java:107)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase$6$1.call(CompilationUnitBase.java:378)
at com.adobe.flash.compiler.internal.units.CompilationUnitBase$6$1.call(CompilationUnitBase.java:374)
at com.adobe.flash.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:228)
at com.adobe.flash.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:222)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)Map.as/UB/src/com/edioromeh/ub/displayligne 0Erreur Flex

Thanks in advance for your help

This topic has been closed for replies.

1 reply

Participant
November 15, 2013

I'm getting this still with Adobe AIR 3.9 beta.

Disable inlining and it's all good, but I would like to use inlining.

Please help!

Participant
February 7, 2014

I get these all the time. The frequency seems to have increased since I updated to Air 4.0.

Restarting FlashBuilder makes them go away for a while, but it's incredibly annoying. :/

I will try disabling inlining to see what happens.

PhendraxAuthor
Known Participant
February 7, 2014

Hello,

I tried to "uninline" all the inlined methods and inlining them back one by one to find which ones were causing the issue

I'm not sure, but what I found is that some methods with this type of syntax were the cause :

final public function set c(v:int):void {

     this.a = this.b = v;

}

with b implemented with

final public function set b(v:int):void

final public function get b():int

hope this helps