Gamua / Starling-Framework

The Cross Platform Game Engine
http://www.starling-framework.org
Other
2.82k stars 821 forks source link

Unable to load AGALMiniAssembler, for some reason.... #962

Closed syberkitten closed 7 years ago

syberkitten commented 7 years ago

I've been working on an air mobile app which now also runs on IOS (which it didn't before).

But stranger then anything is that now I cannot access the GPU in the Android version, getting this crazy error.

could this be a side effect of some of the ANE's used? specs:

` [Fault] exception, information=VerifyError: Error #1014: Class com.adobe.utils::AGALMiniAssembler could not be found. java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.RangeCheck(ArrayList.java:547) at java.util.ArrayList.get(ArrayList.java:322) at flash.tools.debugger.concrete.DManager.getFrame(DManager.java:921) at flash.tools.debugger.concrete.PlayerSession.pullUpActivationObjectVariables(PlayerSession.java:1113) at flash.tools.debugger.concrete.PlayerSession.requestFrame(PlayerSession.java:1089) at flash.tools.debugger.concrete.PlayerSession.getValueWorker(PlayerSession.java:1211) at flash.tools.debugger.concrete.IsolatePlayerSession.getValue(IsolatePlayerSession.java:123) at flex.tools.debugger.cli.ExpressionContext.memberNamed(ExpressionContext.java:438) at flex.tools.debugger.cli.ExpressionContext.locateParentForNamed(ExpressionContext.java:540) at flex.tools.debugger.cli.ExpressionContext.determineContext(ExpressionContext.java:490) at flex.tools.debugger.cli.ExpressionContext.resolveToVariable(ExpressionContext.java:350) at flex.tools.debugger.cli.ExpressionContext.lookup(ExpressionContext.java:169) at flash.tools.debugger.expression.DebuggerEvaluator.evaluate(DebuggerEvaluator.java:161) at macromedia.asc.parser.ThisExpressionNode.evaluate(ThisExpressionNode.java:34) at flash.tools.debugger.expression.DebuggerEvaluator.evaluate(DebuggerEvaluator.java:1031) at macromedia.asc.parser.ListNode.evaluate(ListNode.java:44) at flash.tools.debugger.expression.DebuggerEvaluator.evaluate(DebuggerEvaluator.java:1031) at macromedia.asc.parser.ListNode.evaluate(ListNode.java:44) at flash.tools.debugger.expression.DebuggerEvaluator.evaluate(DebuggerEvaluator.java:1065) at macromedia.asc.parser.ExpressionStatementNode.evaluate(ExpressionStatementNode.java:50) at flash.tools.debugger.expression.DebuggerEvaluator.evaluate(DebuggerEvaluator.java:1306) at macromedia.asc.parser.ProgramNode.evaluate(ProgramNode.java:80) at flash.tools.debugger.expression.DebuggerExpression.evaluate(DebuggerExpression.java:106) at flex.tools.debugger.cli.ExpressionCache.evaluate(ExpressionCache.java:101) at flex.tools.debugger.cli.DebugCLI.evalExpression(DebugCLI.java:4023) at flex.tools.debugger.cli.DebugCLI.evalExpression(DebugCLI.java:4015) at flex.tools.debugger.cli.DebugCLI.doPrint(DebugCLI.java:3941) at flex.tools.debugger.cli.DebugCLI.processLine(DebugCLI.java:7032) at flex.tools.debugger.cli.DebugCLI.process(DebugCLI.java:828) at flex.tools.debugger.cli.DebugCLI.execute(DebugCLI.java:669) at flex.tools.debugger.cli.DebugCLI.main(DebugCLI.java:461) [trace] Security Sandbox Violation [trace] SecurityDomain 'app:/xxxxx.swf' tried to access incompatible context 'http://adobe.com/apollo' [trace] [EXCEPTION UNCAUGHT ERROR]: VerifyError: Error #1014: Class com.adobe.utils::AGALMiniAssembler could not be found. StackTrace--> VerifyError: Error #1014: Class com.adobe.utils::AGALMiniAssembler could not be found. [trace] at starling.rendering::Painter/getProgram()[/Users/redge/Dropbox/Development/starling/starling/src/starling/rendering/Painter.as:275] [trace] at starling.rendering::Effect/get program()[/Users/redge/Dropbox/Development/starling/starling/src/starling/rendering/Effect.as:342] [trace] at starling.rendering::Effect/beforeDraw()[/Users/redge/Dropbox/Development/starling/starling/src/starling/rendering/Effect.as:0] [trace] at starling.rendering::FilterEffect/beforeDraw()[/Users/redge/Dropbox/Development/starling/starling/src/starling/rendering/FilterEffect.as:93] [trace] at starling.rendering::MeshEffect/beforeDraw()[/Users/redge/Dropbox/Development/starling/starling/src/starling/rendering/MeshEffect.as:111] [trace] at starling.rendering::Effect/render()[/Users/redge/Dropbox/Development/starling/starling/src/starling/rendering/Effect.as:235] [trace] at starling.display::MeshBatch/render()[/Users/redge/Dropbox/Development/starling/starling/src/starling/display/MeshBatch.as:238] [trace] at starling.rendering::Painter/drawBatch()[/Users/redge/Dropbox/Development/starling/starling/src/starling/rendering/Painter.as:630] [trace] at BatchProcessor/finishBatch()[/Users/redge/Dropbox/Development/starling/starling/src/starling/rendering/BatchProcessor.as:117] [trace] at starling.rendering::Painter/finishMeshBatch()[/Users/redge/Dropbox/Development/starling/starling/src/starling/rendering/Painter.as:516] [trace] at starling.rendering::Painter/renderMask()[/Users/redge/Dropbox/Development/starling/starling/src/starling/rendering/Painter.as:440] [trace] at starling.rendering::Painter/drawMask()[/Users/redge/Dropbox/Development/starling/starling/src/starling/rendering/Painter.as:371] [trace] at starling.display::DisplayObjectContainer/render()[/Users/redge/Dropbox/Development/starling/starling/src/starling/display/DisplayObjectContainer.as:386] [trace] at starling.display::DisplayObjectContainer/render()[/Users/redge/Dropbox/Development/starling/starling/src/starling/display/DisplayObjectContainer.as:389] [trace] at starling.core::Starling/render()[/Users/redge/Dropbox/Development/starling/starling/src/starling/core/Starling.as:440] [trace] at starling.core::Starling/nextFrame()[/Users/redge/Dropbox/Development/starling/starling/src/starling/core/Starling.as:388] [trace] at starling.core::Starling/onEnterFrame()[/Users/redge/Dropbox/Development/starling/starling/src/starling/core/Starling.as:601]

`

JohnBlackburne commented 7 years ago

Do you have an older version of AGALMiniAssembler sitting around? There have been a few versions down the years, updated with new features. Starling comes with its own as that’s the version it needs for Starling. But it’s an Adobe file, and might be bundled with something else you have from Adobe. If so easiest to remove the other versions and just use the copy that comes with Starling.

syberkitten commented 7 years ago

Thanks for the lead... 👍

It was an issue with an ANE that had the class AGALMiniAssembler (which was actually identical with starling) yet the ANE itself was missing bindings for Android as it was only prepared for IOS so it simply failed where AGAL had to kick in, but missing java code.

for reference, the issue was in FWEncoderANE, which works by providing a different .ane implementation for each platform (in contrary to multiple platform support embedded in one .ane pacakge) https://github.com/rainbowcreatures/FlashyWrappers