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 500 - Fiji does not update / start
Fiji does not update / start
Status: RESOLVED FIXED
Product: Fiji
Classification: Unclassified
Component: Other
unspecified
Macintosh Mac OS
: P5 normal
Assigned To: Johannes Schindelin
Depends on:
Blocks:
 
Reported: 2012-09-20 16:28 CDT by Till
Modified: 2012-09-22 01:23 CDT
1 user (show)

See Also:


Attachments
Information about your version of Java - this information is useful for the Fiji developers: (61.07 KB, text/plain)
2012-09-20 16:28 CDT, Till

Description Till 2012-09-20 16:28:08 CDT
Created attachment 78
Information about your version of Java - this information is useful for the Fiji developers:

I have a problem that appears to be related to bugs 485 and 493 but is not resolved by the solutions posted there.
Since I updated Fiji on Sep. 14th, I get the following error message when trying to update again:

java.lang.NoClassDefFoundError: imagej/command/Command
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at fiji.FijiClassLoader.loadClass(FijiClassLoader.java:225)
	at fiji.FijiClassLoader.loadClass(FijiClassLoader.java:217)
	at fiji.FijiClassLoader.loadClass(FijiClassLoader.java:212)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at fiji.FijiClassLoader.loadClass(FijiClassLoader.java:225)
	at fiji.FijiClassLoader.loadClass(FijiClassLoader.java:217)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	at fiji.updater.Adapter.loadClass(Adapter.java:585)
	at fiji.updater.Adapter.loadClass(Adapter.java:560)
	at fiji.updater.Adapter.runUpdater(Adapter.java:147)
	at fiji.updater.Updater.run(Updater.java:17)
	at ij.IJ.runUserPlugIn(IJ.java:185)
	at ij.IJ.runPlugIn(IJ.java:152)
	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 ij.Command.runPlugIn(Command.java:146)
	at ij.Command.runCommand(Command.java:95)
	at ij.Executer.run(Executer.java:64)
	at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.ClassNotFoundException: imagej.command.Command
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at fiji.FijiClassLoader.loadClass(FijiClassLoader.java:266)
	at fiji.FijiClassLoader.loadClass(FijiClassLoader.java:217)
	at fiji.FijiClassLoader.loadClass(FijiClassLoader.java:212)
	... 52 more

I have deleted Fiji.app/jars/ij-ui-swing-updater-2.0.0-SNAPSHOT.jar and I have overwritten Fiji_Updater.jar with the file from jenkins.imagej.net. Both had no effect.

I have downloaded a fresh copy of Fiji (fiji-macosx-20110307). After updating this copy, Fiji doesn't start anymore at all. The icon appears in the tray for maybe two seconds and then disappears without further notice.
I've also downloaded the copy of the up-to-date Fiji from http://jenkins.imagej.net/job/Stable-Fiji/lastSuccessfulBuild/artifact/fiji-nojre.zip.
If I try to start this copy it doesn't start at all, exactly as the updated Fiji-20110307 version.

By the way, the "Bug Report Form" within Fiji claims that my Bugzilla password isn't correct when I try to submit a bug in that manner.

Till
Comment 1 Johannes Schindelin 2012-09-20 18:53:52 CDT
It looks to me as if the file ij-core-2.0.0-SNAPSHOT.jar is not up-to-date. Could you delete that file, and for good measure the ij-updater-core and ij-util-swing one, too? After that, the updater should show "Loading remote updater" in the status bar.

The issue that Fiji is not starting from a fresh copy seems to me as if there is a Fiji process running still. In such a case, Fiji (actually, ImageJ 1.x) tries to hand off to the running instance instead of starting a second one.
Comment 2 Till 2012-09-21 00:02:27 CDT
"ij-core-2.0.0-SNAPSHOT.jar" alone didn't do the trick - but deleting "ij-updater-core" as well got the updater working again, great!
And yes, I have to admit that it might be possible that I had another copy of Fiji running while trying out the fresh ones; I assumed that they wouldn't influence each other... Now I could also start the other copies of Fiji.
By the way, will I get any prize for filing bug report number 500?

Thanks for your help,

Till
Comment 3 Johannes Schindelin 2012-09-21 17:04:44 CDT
Re: prize... I will buy you a drink when we meet in real life ;-) Are you at the ImageJ conference in Luxembourg end of october?
Comment 4 Till 2012-09-22 01:11:09 CDT
Unfortunately I won't. But you could give the beer to Joe Szulczewski at LOCI instead, he'd appreciate it!
Comment 5 Johannes Schindelin 2012-09-22 01:23:31 CDT
As luck has it, I already did... and he took me to a football game in turn.