Uploaded image for project: 'Apache Flex'
  1. Apache Flex
  2. FLEX-22400

CLONE -Intermittent but easily reproducible internal compiler error in simple mxml project when you save before previous compile is done

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • Adobe Flex SDK 4.0 (Release)
    • Compiler API
    • None
    • Affected OS(s): Windows
      Affected OS(s): Windows
      Language Found: English

    Description

      This is Windows only; I couldn't reproduce on Mac.

      Steps to reproduce:
      1. Make a new Flex project
      2. Add an <fx:Script> block
      3. In the <fx:Script> block, repeatedly and quickly do edit, save, edit, save, edit, save, over and over again. For example, the way I reproduced was by just inserting a semicolon and then pressing Ctrl-S to save, over and over. (If you wait too long between saves, the bug will not reproduce; you have to be fast. Don't wait for the previous compile to finish.)

      Actual Results:
      Pretty quickly, within a minute, an internal compiler error will occur. It isn't always the same callstack. Here are the three I got:

      #1:

      java.lang.NullPointerException
      at flex2.linker.CULinkable.<init>(CULinkable.java:31)
      at flex2.tools.PreLink.processMainUnit(PreLink.java:304)
      at flex2.tools.PreLink.run(PreLink.java:91)
      at flex2.compiler.CompilerAPI.compile(CompilerAPI.java:1556)
      at flex2.tools.oem.Application.compile(Application.java:1169)
      at flex2.tools.oem.Application.recompile(Application.java:1114)
      at flex2.tools.oem.Application.compile(Application.java:805)
      at flex2.tools.flexbuilder.BuilderApplication.compile(BuilderApplication.java:344)
      at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder$MyBuilder.mybuild(ASApplicationBuilder.java:276)
      at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder.build(ASApplicationBuilder.java:127)
      at com.adobe.flexbuilder.multisdk.compiler.internal.ASBuilder.build(ASBuilder.java:190)
      at com.adobe.flexbuilder.multisdk.compiler.internal.ASItemBuilder.build(ASItemBuilder.java:74)
      at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.buildItem(FlexProjectBuilder.java:478)
      at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.build(FlexProjectBuilder.java:296)
      at com.adobe.flexbuilder.project.compiler.internal.FlexIncrementalBuilder.build(FlexIncrementalBuilder.java:133)
      at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633)
      at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
      at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)
      at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)
      at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309)
      at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341)
      at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140)
      at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238)
      at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

      #2: (This is almost identical #1, with the exception that #1 had a call to Application.recompile(), and this one did not)

      java.lang.NullPointerException
      at flex2.linker.CULinkable.<init>(CULinkable.java:31)
      at flex2.tools.PreLink.processMainUnit(PreLink.java:304)
      at flex2.tools.PreLink.run(PreLink.java:91)
      at flex2.compiler.CompilerAPI.compile(CompilerAPI.java:1556)
      at flex2.tools.oem.Application.compile(Application.java:1169)
      at flex2.tools.oem.Application.compile(Application.java:902)
      at flex2.tools.flexbuilder.BuilderApplication.compile(BuilderApplication.java:344)
      at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder$MyBuilder.mybuild(ASApplicationBuilder.java:276)
      at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder.build(ASApplicationBuilder.java:127)
      at com.adobe.flexbuilder.multisdk.compiler.internal.ASBuilder.build(ASBuilder.java:190)
      at com.adobe.flexbuilder.multisdk.compiler.internal.ASItemBuilder.build(ASItemBuilder.java:74)
      at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.buildItem(FlexProjectBuilder.java:478)
      at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.build(FlexProjectBuilder.java:296)
      at com.adobe.flexbuilder.project.compiler.internal.FlexIncrementalBuilder.build(FlexIncrementalBuilder.java:133)
      at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633)
      at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
      at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)
      at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)
      at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309)
      at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341)
      at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140)
      at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238)
      at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

      #3:

      java.lang.ClassCastException: flex2.compiler.util.MultiName cannot be cast to flex2.compiler.util.QName
      at flex2.tools.PreLink.postRun(PreLink.java:182)
      at flex2.compiler.CompilerAPI.compile(CompilerAPI.java:1562)
      at flex2.tools.oem.Application.compile(Application.java:1169)
      at flex2.tools.oem.Application.compile(Application.java:902)
      at flex2.tools.flexbuilder.BuilderApplication.compile(BuilderApplication.java:344)
      at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder$MyBuilder.mybuild(ASApplicationBuilder.java:276)
      at com.adobe.flexbuilder.multisdk.compiler.internal.ASApplicationBuilder.build(ASApplicationBuilder.java:127)
      at com.adobe.flexbuilder.multisdk.compiler.internal.ASBuilder.build(ASBuilder.java:190)
      at com.adobe.flexbuilder.multisdk.compiler.internal.ASItemBuilder.build(ASItemBuilder.java:74)
      at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.buildItem(FlexProjectBuilder.java:478)
      at com.adobe.flexbuilder.project.compiler.internal.FlexProjectBuilder.build(FlexProjectBuilder.java:296)
      at com.adobe.flexbuilder.project.compiler.internal.FlexIncrementalBuilder.build(FlexIncrementalBuilder.java:133)
      at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633)
      at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201)
      at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253)
      at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
      at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256)
      at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309)
      at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341)
      at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140)
      at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238)
      at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

      Expected Results:
      No internal compiler error

      Workaround (if any):
      Clean and rebuild.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            adobejira Adobe JIRA
            adobejira Adobe JIRA
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment