incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Schmalle (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLEX-33252) Falcon Compiler Error - NPE when TextGraphic element is used
Date Wed, 14 Nov 2012 17:36:13 GMT

    [ https://issues.apache.org/jira/browse/FLEX-33252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13497254#comment-13497254
] 

Michael Schmalle commented on FLEX-33252:
-----------------------------------------

I have had time to look at this and was just trying to figure out "why" putting the initialization
in the constructor worked since it was initialized before the super call. It seems that there
is recursion going on and multiple flex fxg transcoder instances. As it loops, it gets to
an instance where the public transcode() method is not called and you get the resulting NPE.

I'll change this to the constructor.
                
> Falcon Compiler Error - NPE when TextGraphic element is used
> ------------------------------------------------------------
>
>                 Key: FLEX-33252
>                 URL: https://issues.apache.org/jira/browse/FLEX-33252
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: MXML Compiler
>            Reporter: Cyrill Zadra
>              Labels: Falcon
>             Fix For: Apache Flex Next
>
>         Attachments: DefinitionTextGraphic.fxg, FLEX-33252.patch, FxgNPETest.mxml
>
>
> Compiling the attached example throws a NullPointerException.
> java.lang.NullPointerException
> 	at org.apache.flex.compiler.fxg.flex.FlexFXG2SWFTranscoder.getDefinition(FlexFXG2SWFTranscoder.java:198)
> 	at org.apache.flex.compiler.fxg.flex.FlexFXG2SWFTranscoder.addDependency(FlexFXG2SWFTranscoder.java:184)
> 	at org.apache.flex.compiler.fxg.flex.FlexFXG2SWFTranscoder.flexText(FlexFXG2SWFTranscoder.java:562)
> 	at org.apache.flex.compiler.fxg.flex.FlexFXG2SWFTranscoder.text(FlexFXG2SWFTranscoder.java:527)
> 	at org.apache.flex.compiler.fxg.swf.FXG2SWFTranscoder.graphicContentNode(FXG2SWFTranscoder.java:424)
> 	at org.apache.flex.compiler.fxg.flex.FlexFXG2SWFTranscoder.graphicContentNode(FlexFXG2SWFTranscoder.java:342)
> 	at org.apache.flex.compiler.fxg.swf.FXG2SWFTranscoder.graphicContentNodes(FXG2SWFTranscoder.java:355)
> 	at org.apache.flex.compiler.fxg.swf.FXG2SWFTranscoder.definition(FXG2SWFTranscoder.java:819)
> 	at org.apache.flex.compiler.fxg.swf.FXG2SWFTranscoder.PlaceObject3TagInstance(FXG2SWFTranscoder.java:790)
> 	at org.apache.flex.compiler.fxg.swf.FXG2SWFTranscoder.graphicContentNode(FXG2SWFTranscoder.java:420)
> 	at org.apache.flex.compiler.fxg.flex.FlexFXG2SWFTranscoder.graphicContentNode(FlexFXG2SWFTranscoder.java:342)
> 	at org.apache.flex.compiler.fxg.swf.FXG2SWFTranscoder.graphicContentNodes(FXG2SWFTranscoder.java:355)
> 	at org.apache.flex.compiler.fxg.swf.FXG2SWFTranscoder.transcode(FXG2SWFTranscoder.java:208)
> 	at org.apache.flex.compiler.fxg.flex.FlexFXG2SWFTranscoder.transcode(FlexFXG2SWFTranscoder.java:134)
> 	at org.apache.flex.compiler.internal.units.FXGCompilationUnit.handleOutgoingDependenciesRequest(FXGCompilationUnit.java:235)
> 	at org.apache.flex.compiler.internal.units.CompilationUnitBase.processOutgoingDependenciesRequest(CompilationUnitBase.java:882)
> 	at org.apache.flex.compiler.internal.units.CompilationUnitBase.access$5(CompilationUnitBase.java:880)
> 	at org.apache.flex.compiler.internal.units.CompilationUnitBase$5$1.call(CompilationUnitBase.java:378)
> 	at org.apache.flex.compiler.internal.units.CompilationUnitBase$5$1.call(CompilationUnitBase.java:1)
> 	at org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:228)
> 	at org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:1)
> 	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)
> Internal error: java.lang.NullPointerException
> 	at org.apache.flex.compiler.internal.units.FXGCompilationUnit$1.addToFrame(FXGCompilationUnit.java:355)
> 	at org.apache.flex.compiler.internal.targets.SWFTarget.addCompilationUnitsAndDependenciesToFrame(SWFTarget.java:398)
> 	at org.apache.flex.compiler.internal.targets.SWFTarget$FramesInformation.createFrame(SWFTarget.java:831)
> 	at org.apache.flex.compiler.internal.targets.FlexAppSWFTarget$FlexApplicationFramesInformation.createFrames(FlexAppSWFTarget.java:754)
> 	at org.apache.flex.compiler.internal.targets.SWFTarget.build(SWFTarget.java:243)
> 	at org.apache.flex.compiler.clients.MXMLC.buildSWFModel(MXMLC.java:658)
> 	at org.apache.flex.compiler.clients.MXMLC.buildArtifact(MXMLC.java:644)
> 	at org.apache.flex.compiler.clients.MXMLC.compile(MXMLC.java:525)
> 	at org.apache.flex.compiler.clients.MXMLC.mainNoExit(MXMLC.java:214)
> 	at org.apache.flex.compiler.clients.MXMLC.mainNoExit(MXMLC.java:182)
> 	at f.MXMLTests.compileMXML(MXMLTests.java:47)
> 	at f.MXMLTests.testFxgNPETest(MXMLTests.java:95)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> 	at java.lang.reflect.Method.invoke(Unknown Source)
> 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
> 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> 	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
> 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
> 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
> 	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message