JavaCC problems

68 views
Skip to first unread message

uffe

unread,
Dec 29, 2009, 4:05:16 AM12/29/09
to HeadlessEclipse
Hi,
I have discovered a problem with building JavaCC (https://
javacc.dev.java.net/ && http://eclipse-javacc.sourceforge.net/)
projects using headlesseclipse. I get NullPointerExceptions as you can
see in the log below.

First, my Eclipse environment:

Buckminster - Core 1.1.350.r10694
org.eclipse.buckminster.core.feature.feature.group
Buckminster - PDE support 1.1.360.r10713
org.eclipse.buckminster.pde.feature.feature.group
Eclipse Git Feature 0.4.9.200906240051
org.spearce.egit.feature.group
Eclipse SDK 3.6.0.I20090917-0100 org.eclipse.sdk.ide
HeadlessEclipse 1.1.7 com.ind.eclipse.headlesseclipse.feature.group
JavaCC Feature 1.5.16 sf.eclipse.javacc.feature.feature.group
PyDev for Eclipse 1.5.0.1251989166
org.python.pydev.feature.feature.group
Pydev Mylyn Integration 0.3.0
org.python.pydev.mylyn.feature.feature.group
QuickImage 1.0.3 nu.psnet.quickimage.feature.group

Operating system is Mac OS X, 10.6.2.

Gábor gave me the advice that I try to reproduce it with a minimal
project, and I think I succeeded so here it is. It's just a JavaCC
sample project, but for your convenience I uploaded it.

http://dl.dropbox.com/u/436382/javacctest.zip

Create a new workspace, import "existing projects into workspace" and
choose the test directory extracted from the zip file above. The
grammar/ subdirectory contains a JavaCC .jj file, which when compiled,
will generate some .java source files. Right click the .jj file and
choose "Compile with JavaCC". It builds.

Now try with headlesseclipse:

./eclipse -nosplash -data /Users/monkey/headlesseclipsetest/ -
application com.ind.eclipse.headlessworkspace.Application import clean
build

===================================================================================================
Parameters: [import, clean, build, 2]
"workspace" path variable has been set.

Auto building is set to false


ANT LOG: Listening on file: /Users/monkey/
headlesseclipsetest/.build.log


Circular build path problems: error
Circular build path problems set to: error

Incomplete build path problems: error
Incomplete build path problems set to: warning

Setting the default JRE name to 'JRE' from 'JVM 1.6.0 (MacOS X
Default)'

IMPORTING PROJECTS...
REFRESHING PROJECT: test
PROGRESS 0.00%:
PROGRESS 0.00%: Refreshing '/test'.
PROGRESS 0.40%: Refreshing '/test'.
PROGRESS 0.79%: Refreshing '/test'.
PROGRESS 1.19%: Refreshing '/test'.
PROGRESS 99.00%: Refreshing '/test'.
PROGRESS 100.00%: Refreshing '/test'.

PROJECT DEPENDENCIES:
PROJECT DEPENDENCIES FOR: P/test
TOUCHING .classpath, .project AND org.eclipse.wst.common.component
FILES TO RELOAD PROJECT DYNAMIC DEPENDENCIES:
PROGRESS 0.00%: Touching resource '/test/.project'.
PROGRESS 99.00%: Touching resource '/test/.project'.
PROGRESS 100.00%: Touching resource '/test/.project'.

PROGRESS 0.00%: Touching resource '/test/.classpath'.
PROGRESS 99.00%: Touching resource '/test/.classpath'.
PROGRESS 100.00%: Touching resource '/test/.classpath'.

PROJECT DEPENDENCIES:
PROJECT DEPENDENCIES FOR: P/test
SETTING .svn DIRECTORIES AS TEAM PRIVATE:
PROJECT DEPENDENCIES:
PROJECT DEPENDENCIES FOR: P/test

MODIFYING EXTERNAL TOOL BUILDER OPTIONS TO BE ABLE TO CATCH OUTPUT:
CLEANING PROJECTS:
CLEANING PROJECT: test
PROGRESS 0.00%:
PROGRESS 0.00%: Invoking 'JavaCC Builder' on '/test'.
PROGRESS 0.00%: Invoking 'Java Builder' on '/test'.
PROGRESS 0.00%: Cleaning output folder for test
PROGRESS 49.00%: Cleaning output folder for test
PROGRESS 49.00%: Build done
PROGRESS 49.00%:
PROGRESS 98.01%:
PROGRESS 98.01%:
PROGRESS 99.00%:
PROGRESS 99.00%:
PROGRESS 100.00%:

PROJECT DEPENDENCIES:
PROJECT DEPENDENCIES FOR: P/test

PROGRESS 0.00%: Saving workspace.
PROGRESS 4.76%: Saving workspace.
PROGRESS 9.52%: Saving workspace.
PROGRESS 14.29%: Saving workspace.
PROGRESS 19.05%: Saving workspace.
PROGRESS 23.81%: Saving workspace.
PROGRESS 28.57%: Saving workspace.
PROGRESS 30.00%: Saving workspace.
PROGRESS 31.43%: Saving workspace.
PROGRESS 38.57%: Saving workspace.
PROGRESS 42.86%: Saving workspace.
PROGRESS 14.29%: Saving workspace.
PROGRESS 28.57%: Saving workspace.
PROGRESS 33.33%: Saving workspace.
PROGRESS 38.10%: Saving workspace.
PROGRESS 42.86%: Saving workspace.
PROGRESS 100.00%: Saving workspace.

BUILDING WORKSPACE (incremental or full after a clean):
PROGRESS 0.00%:
PROGRESS 0.00%: Invoking 'JavaCC Builder' on '/test'.
PROGRESS 0.00%: Invoking 'Java Builder' on '/test'.
PROGRESS 0.00%: Preparing to build test
PROGRESS 0.00%: Cleaning output folder for test
PROGRESS 0.00%: Copying resources to the output folder
PROGRESS 0.00%: Cleaning output folder for test
PROGRESS 0.00%: Copying resources to the output folder
PROGRESS 2.50%: Copying resources to the output folder
PROGRESS 2.50%: Analyzing sources
PROGRESS 7.50%: Analyzing sources
PROGRESS 50.00%: Analyzing sources
PROGRESS 50.00%: Build done
PROGRESS 50.00%:
PROGRESS 100.00%:
PROGRESS 100.00%:
PROGRESS 100.00%:
PROGRESS 100.00%:

org.eclipse.core.internal.resources.ResourceException: Errors occurred
during the build.
at org.eclipse.core.internal.resources.Workspace.build(Workspace.java:
336)
at com.ind.eclipse.headlessworkspace.HeadLessBuilder.buildWorkspace
(HeadLessBuilder.java:290)
at com.ind.eclipse.headlessworkspace.HeadLessAdvisor.preStartup
(HeadLessAdvisor.java:144)
at org.eclipse.ui.internal.Workbench$28.runWithException
(Workbench.java:1382)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run
(StartupThreading.java:31)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:
179)
at org.eclipse.ui.internal.UISynchronizer.syncExec
(UISynchronizer.java:150)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3999)
at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions
(StartupThreading.java:94)
at org.eclipse.ui.internal.Workbench.init(Workbench.java:1379)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2335)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault
(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:
149)
at com.ind.eclipse.headlessworkspace.Application.start
(Application.java:29)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run
(EclipseAppHandle.java:194)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication
(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start
(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:367)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:610)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:565)
at org.eclipse.equinox.launcher.Main.run(Main.java:1362)
Contains: Errors running builder 'JavaCC Builder' on project 'test'.
org.eclipse.core.internal.resources.ResourceException(/test)[566]:
java.lang.NullPointerException
at sf.eclipse.javacc.JJBuilder.CompileResource(JJBuilder.java:166)
at sf.eclipse.javacc.JJBuilder.visit(JJBuilder.java:124)
at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:
108)
at org.eclipse.core.internal.resources.Resource$1.visitElement
(Resource.java:60)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration
(ElementTreeIterator.java:82)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration
(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration
(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.iterate
(ElementTreeIterator.java:127)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:
70)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:
106)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:
90)
at sf.eclipse.javacc.JJBuilder.fullBuild(JJBuilder.java:66)
at sf.eclipse.javacc.JJBuilder.build(JJBuilder.java:48)
at org.eclipse.core.internal.events.BuildManager$2.run
(BuildManager.java:627)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
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:42)
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.resources.Workspace.build(Workspace.java:
330)
at com.ind.eclipse.headlessworkspace.HeadLessBuilder.buildWorkspace
(HeadLessBuilder.java:290)
at com.ind.eclipse.headlessworkspace.HeadLessAdvisor.preStartup
(HeadLessAdvisor.java:144)
at org.eclipse.ui.internal.Workbench$28.runWithException
(Workbench.java:1382)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run
(StartupThreading.java:31)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:
179)
at org.eclipse.ui.internal.UISynchronizer.syncExec
(UISynchronizer.java:150)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3999)
at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions
(StartupThreading.java:94)
at org.eclipse.ui.internal.Workbench.init(Workbench.java:1379)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2335)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault
(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:
149)
at com.ind.eclipse.headlessworkspace.Application.start
(Application.java:29)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run
(EclipseAppHandle.java:194)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication
(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start
(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:367)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:610)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:565)
at org.eclipse.equinox.launcher.Main.run(Main.java:1362)
Contains: An error occurred while traversing resources.
java.lang.NullPointerException
at sf.eclipse.javacc.JJBuilder.CompileResource(JJBuilder.java:166)
at sf.eclipse.javacc.JJBuilder.visit(JJBuilder.java:124)
at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:
108)
at org.eclipse.core.internal.resources.Resource$1.visitElement
(Resource.java:60)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration
(ElementTreeIterator.java:82)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration
(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration
(ElementTreeIterator.java:86)
at org.eclipse.core.internal.watson.ElementTreeIterator.iterate
(ElementTreeIterator.java:127)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:
70)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:
106)
at org.eclipse.core.internal.resources.Resource.accept(Resource.java:
90)
at sf.eclipse.javacc.JJBuilder.fullBuild(JJBuilder.java:66)
at sf.eclipse.javacc.JJBuilder.build(JJBuilder.java:48)
at org.eclipse.core.internal.events.BuildManager$2.run
(BuildManager.java:627)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
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:42)
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.resources.Workspace.build(Workspace.java:
330)
at com.ind.eclipse.headlessworkspace.HeadLessBuilder.buildWorkspace
(HeadLessBuilder.java:290)
at com.ind.eclipse.headlessworkspace.HeadLessAdvisor.preStartup
(HeadLessAdvisor.java:144)
at org.eclipse.ui.internal.Workbench$28.runWithException
(Workbench.java:1382)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run
(StartupThreading.java:31)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:
179)
at org.eclipse.ui.internal.UISynchronizer.syncExec
(UISynchronizer.java:150)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:3999)
at org.eclipse.ui.internal.StartupThreading.runWithoutExceptions
(StartupThreading.java:94)
at org.eclipse.ui.internal.Workbench.init(Workbench.java:1379)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2335)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault
(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench
(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:
149)
at com.ind.eclipse.headlessworkspace.Application.start
(Application.java:29)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run
(EclipseAppHandle.java:194)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication
(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start
(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:367)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run
(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:610)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:565)
at org.eclipse.equinox.launcher.Main.run(Main.java:1362)
POSTSTARTUP
PRESHUTDONW
POSTSHUTDOWN
WORKBENCH CLOSED
===================================================================================================

Please advice if this is a bug or if I'm doing something wrong.

BR,
Ulf
Software Engineer
Purple Scout

Reply all
Reply to author
Forward
0 new messages