NOTICE! This is a static HTML version of a legacy Fiji BugZilla bug.

The Fiji project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Bug 944 - Errors during ImageJ launch
Errors during ImageJ launch
Status: NEEDSINFO
Product: Fiji
Classification: Unclassified
Component: Plugins
unspecified
Macintosh Mac OS
: P4 normal
Assigned To: ImageJ Bugs Mailing List
Depends on:
Blocks:
 
Reported: 2014-10-15 08:23 CDT by Felix
Modified: 2014-10-30 12:58 CDT
2 users (show)

See Also:

Description Felix 2014-10-15 08:23:24 CDT
I am launching ImageJ from within IntelliJ using the following lines:

        final ImageJ ij = net.imagej.Main.launch(args);
        ij.command().run(MyPlugin.class, true);

Then it throws
[WARNING] Ignoring non-existent scripts directory: /Users/turf/Sources/imageJ/ij2/unifr_bioimage/scripts
[ERROR] Exception during event handling:
	[Event] org.scijava.module.event.ModulesUpdatedEvent
	context = org.scijava.Context@521ba1d9
	consumed = false
	items[0] = label='About ImageJ...', iconPath='/icons/commands/information.png', priority=0.0, enabled=true, pluginType=Command
	items[1] = label='Preferences', priority=0.0, enabled=true, pluginType=Command
	items[2] = label='Quit', iconPath='/icons/commands/door_in.png', priority=0.0, enabled=true, pluginType=Command
	[Subscriber] org.scijava.menu.DefaultMenuService [priority = 0.0]
	[Method] protected void org.scijava.menu.DefaultMenuService.onEvent(org.scijava.module.event.ModulesUpdatedEvent)
java.lang.NullPointerException
	at org.scijava.menu.ShadowMenu.addChild(ShadowMenu.java:532)
	at org.scijava.menu.ShadowMenu.addChild(ShadowMenu.java:529)
	at org.scijava.menu.ShadowMenu.addChild(ShadowMenu.java:529)
	at org.scijava.menu.ShadowMenu.addChild(ShadowMenu.java:529)
	at org.scijava.menu.ShadowMenu.addChild(ShadowMenu.java:529)
	at org.scijava.menu.ShadowMenu.addChild(ShadowMenu.java:529)
	at org.scijava.menu.ShadowMenu.addChild(ShadowMenu.java:529)
	at org.scijava.menu.ShadowMenu.addInternal(ShadowMenu.java:478)
	at org.scijava.menu.ShadowMenu.addAll(ShadowMenu.java:351)
	at org.scijava.menu.ShadowMenu.<init>(ShadowMenu.java:117)
	at org.scijava.menu.DefaultMenuService.addModules(DefaultMenuService.java:154)
	at org.scijava.menu.DefaultMenuService.rootMenus(DefaultMenuService.java:179)
	at org.scijava.menu.DefaultMenuService.onEvent(DefaultMenuService.java:118)
	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.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:278)
	at org.scijava.event.DefaultEventService$ProxySubscriber.onEvent(DefaultEventService.java:252)
	at org.bushe.swing.event.ThreadSafeEventService.publish(ThreadSafeEventService.java:971)
	at org.scijava.event.DefaultEventBus.access$101(DefaultEventBus.java:56)
	at org.scijava.event.DefaultEventBus$1.run(DefaultEventBus.java:197)
	at org.scijava.thread.DefaultThreadService$1.run(DefaultThreadService.java:147)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:715)
	at java.awt.EventQueue.access$400(EventQueue.java:82)
	at java.awt.EventQueue$2.run(EventQueue.java:676)
	at java.awt.EventQueue$2.run(EventQueue.java:674)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:685)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
[WARNING] No widget found for input: input




My pom.xml looks like:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
		http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<parent>
		<groupId>net.imagej</groupId>
		<artifactId>pom-imagej</artifactId>
		<version>2.35</version>
		<relativePath />
	</parent>

	<groupId>unifr-bioimage-ij2</groupId>
	<artifactId>sandbox-2</artifactId>
	<version>1.0.0-SNAPSHOT</version>

	<name>Sandbox (ij2)</name>
	<description></description>

	<repositories>
		<repository>
			<id>imagej.public</id>
			<url>http://maven.imagej.net/content/groups/public</url>
		</repository>
	</repositories>

	<dependencies>
		<dependency>
			<groupId>net.imagej</groupId>
			<artifactId>imagej</artifactId>
		</dependency>
	</dependencies>

</project>

Information about your version of Java:

  os.arch => x86_64
  os.name => Mac OS X
  os.version => 10.9.5
  java.version => 1.6.0_65
  java.vendor => Apple Inc.
  java.runtime.name => Java(TM) SE Runtime Environment
  java.runtime.version => 1.6.0_65-b14-462-11M4609
  java.vm.name => Java HotSpot(TM) 64-Bit Server VM
  java.vm.version => 20.65-b04-462
  java.vm.vendor => Apple Inc.
  java.vm.info => mixed mode
  java.awt.graphicsenv => apple.awt.CGraphicsEnvironment
  java.specification.name => Java Platform API Specification
  java.specification.version => 1.6
  sun.cpu.endian => little
  sun.desktop => null
  file.separator => /

The up-to-date check says: REMIND_LATER

Information relevant to JAVA_HOME related problems:

  JAVA_HOME is set to: null
  imagej.dir => /Users/turf/Applications/Fiji.app

Information about the version of each plugin:

Activated update sites:
ImageJ: http://update.imagej.net/ (last check:20140802175300)
Fiji: http://fiji.sc/update/ (last check:20140730210634)
3D ImageJ Suite: http://sites.imagej.net/Tboudier/ (last check:20140604080506)
BigDataViewer: http://sites.imagej.net/Pietzsch/ (last check:20140619131159)
BioVoxxel: http://sites.imagej.net/BioVoxxel/ (last check:20140730101642)
GDSC: http://sites.imagej.net/GDSC/ (last check:20140801132211)
LOCI: http://sites.imagej.net/LOCI/ (last check:20140401205514)
Morphology: http://sites.imagej.net/Landini/ (last check:20140723165558)
MOSAIC ToolSuite: http://mosaic.mpi-cbg.de/Downloads/update/Fiji/MosaicToolsuite/ (last check:20140801113045)
OMERO 5.0: http://sites.imagej.net/OMERO-5.0/ (last check:20140606044302)
PHANTAST: http://sites.imagej.net/Nicjac/ (last check:20140224235450)

Files not up-to-date:
  ae78ded1 (MODIFIED) 20140707223122 Contents/Info.plist
  6a342927 (MODIFIED) 20140925143930 jars/ij-1.49e.jar
  f1c0db92 (LOCAL_ONLY) 20140704111856 plugins/Boris_Ratiometrics.jar
  1f12fc21 (LOCAL_ONLY) 20140708111023 plugins/IntSeg_3D.jar
  5f60d96e (LOCAL_ONLY) 20140708111029 plugins/Watershed_.jar
  3814d5a6 (LOCAL_ONLY) 20140704130405 plugins/jars/bij.jar
Comment 1 Curtis Rueden 2014-10-30 12:58:49 CDT
Your POM looks good.

I added some defensive programming to avoid the NPE you were seeing:
https://github.com/scijava/scijava-common/commit/11e439c0cd1ecc109a3fe8152fa1940d5faafae8

You can test this fix by temporarily adding the following configuration block to your POM:

<properties>
  <scijava-common.version>LATEST</scijava-common.version>
</properties>

It is odd that you saw this exception, though... there may still be a bug lurking elsewhere. Feel free to debug into it and report back your findings.