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 675 - BioFormats 5.0.0-Dev fails to open CZI file that used to work
BioFormats 5.0.0-Dev fails to open CZI file that used to work
Status: RESOLVED FIXED
Product: Fiji
Classification: Unclassified
Component: Bio-Formats
unspecified
PC Windows
: P2 critical
Assigned To: ImageJ Bugs Mailing List
Depends on:
Blocks:
 
Reported: 2013-11-13 10:18 CST by Sebastian Rhode
Modified: 2014-06-16 13:33 CDT
3 users (show)

See Also:

Description Sebastian Rhode 2013-11-13 10:18:03 CST
Hi,

I use LOCI-Plugin 5.0.0.-Dev and Fiji is up-to-date. But when I tried to open an CZI file (it was no problem to open since a while ago with BioFormats), I get the following error messages:

(Fiji Is Just) ImageJ 1.48f; Java 1.7.0_21 [64-bit]; Windows 7 6.1; 47MB of 4094MB (1%)
 
java.lang.NoClassDefFoundError: org/scijava/nativelib/NativeLibraryUtil
	at loci.formats.services.JPEGTurboServiceImpl.<init>(JPEGTurboServiceImpl.java:113)
	at loci.formats.in.HamamatsuVMSReader.<init>(HamamatsuVMSReader.java:79)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
	at java.lang.Class.newInstance0(Class.java:374)
	at java.lang.Class.newInstance(Class.java:327)
	at loci.formats.ImageReader.<init>(ImageReader.java:134)
	at loci.plugins.util.LociPrefs.makeImageReader(LociPrefs.java:84)
	at loci.plugins.in.ImportProcess.createBaseReader(ImportProcess.java:594)
	at loci.plugins.in.ImportProcess.initializeReader(ImportProcess.java:472)
	at loci.plugins.in.ImportProcess.execute(ImportProcess.java:142)
	at loci.plugins.in.Importer.showDialogs(Importer.java:141)
	at loci.plugins.in.Importer.run(Importer.java:79)
	at loci.plugins.LociImporter.run(LociImporter.java:81)
	at ij.IJ.runUserPlugIn(IJ.java:196)
	at ij.IJ.runPlugIn(IJ.java:160)
	at ij.Executer.runCommand(Executer.java:131)
	at ij.Executer.run(Executer.java:64)
	at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ClassNotFoundException: org.scijava.nativelib.NativeLibraryUtil
	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
	... 21 more
Comment 1 Curtis Rueden 2013-11-13 12:09:18 CST
ehrenfeu suggested that this might be due to an issue with the dependency metadata: that is, native-lib-loader is not detected as a dependency of bio-formats.

However, I still cannot replicate this problem with a fresh download of Fiji:

1) Download Fiji continuous release from fiji.sc/Downloads
2) Help > Update Fiji
3) Manage update sites
4) Tick "Bio-Formats 5" site and Close
5) Note that native-lib-loader is listed as "Install it"

So, I'm not sure how to fix this issue for those being affected.

Dscho, any thoughts? Might there be platform-specific behavior going on here? (I tested on OS X, of course.)
Comment 2 Johannes Schindelin 2013-11-13 12:44:17 CST
Sebastian, can you have a look whether native-loader-lib is installed? (Hint: use the View all mode and the search box in the advanced mode of the updater)
Comment 3 Niko Ehrenfeuchter 2013-11-14 04:15:17 CST
Curtis, the native-lib-loader is not listed in the BF5 udpate site in my case, see:

$ fiji-linux64 --update list-from-site 'Bio-Formats 5'

Done: Checksummer
plugins/loci_plugins.jar	(INSTALLED)	20131107145805
jars/JWlz.jar	(INSTALLED)	20131111112117
jars/bio-formats.jar	(UPDATEABLE)	20131114000222
jars/bio-formats/jai_imageio.jar	(INSTALLED)	20131107145805
jars/bio-formats/scifio.jar	(UPDATEABLE)	20131114000222
jars/bio-formats/specification.jar	(INSTALLED)	20131107145805
jars/bio-formats/turbojpeg.jar	(INSTALLED)	20131107145805
jars/joda-time-2.2.jar	(INSTALLED)	20131111112117
jars/kryo-2.21-shaded.jar	(INSTALLED)	20131107142744
jars/loci-common.jar	(INSTALLED)	20131107145805
jars/mdbtools-java.jar	(INSTALLED)	20131107145805
jars/metakit.jar	(INSTALLED)	20131107145805
jars/ome-xml.jar	(INSTALLED)	20131107145805
jars/poi-loci.jar	(INSTALLED)	20131107145805
jars/slf4j-api-1.7.2.jar	(INSTALLED)	20131111112117
Comment 4 Curtis Rueden 2013-11-14 10:55:36 CST
Interesting, Niko. If you check the db.xml.gz at http://sites.imagej.net/Bio-Formats-5/, you can see that native-lib-loader is indeed present on the site -- and it is also visible at http://sites.imagej.net/Bio-Formats-5/jars/.

Dscho, is this a bug?
Comment 5 Johannes Schindelin 2013-11-15 10:57:29 CST
I suspect that the "LOCI" update site was activated later than the BF5 update site, which is when LOCI would shadow BF5's version of native-lib-loader.

However, we could report this, too. I will keep this bug open, even if I won't have time to work on it for at least another two weeks.
Comment 6 Niko Ehrenfeuchter 2013-11-18 03:38:15 CST
In my case definitely not - the "LOCI" update site was enabled ages ago (and stayed that way), "BF5" just recently after Curtis' email.
Comment 7 Curtis Rueden 2014-06-16 13:33:26 CDT
IIRC, I removed native-lib-loader from the LOCI site a couple of weeks  ago. It doesn't need to shadow that file.

Also, we now ship Bio-Formats 5.0.2 with the Fiji site, which fixes many problems with CZI. So I expect that this problem is resolved.

Sebastian, Niko, anyone else: if you continue to experience problems with NoClassDefFoundError or similar -- using either a stock Fiji, or one with the "Bio-Formats" update site enabled -- please reopen the issue with details.

In the meantime, I'm declaring this problem solved.