Another problem when loading the .lif or .czi files by using Bio-Formats Importer

Hi, I got another problem when loading the .lif or .czi files by using Bio-Formats Importer.

[Mon May 27 10:02:07 CST 2019] [ERROR] [] null

java.lang.NoSuchMethodException: Could not find method ome.xml.meta.MetadataConverter.convertChannels(Lome/xml/meta/MetadataRetrieve;IILome/xml/meta/MetadataStore;IIZ)V

There was a problem with the class ome.xml.meta.MetadataConverter which can be found here:
/D:/fiji/Fiji.app/jars/ome-xml-5.6.4.jar
/D:/fiji/Fiji.app/jars/bio-formats/ome-xml-6.0.1.jar

WARNING: multiple locations found!
java.lang.NoSuchMethodError: ome.xml.meta.MetadataConverter.convertChannels(Lome/xml/meta/MetadataRetrieve;IILome/xml/meta/MetadataStore;IIZ)V
	at loci.formats.ChannelSeparator.setId(ChannelSeparator.java:324)
	at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)
	at loci.formats.DimensionSwapper.setId(DimensionSwapper.java:293)
	at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)
	at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)
	at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)
	at loci.plugins.in.ImportProcess.setId(ImportProcess.java:694)
	at loci.plugins.in.ImportProcess.initializeStack(ImportProcess.java:547)
	at loci.plugins.in.ImportProcess.execute(ImportProcess.java:146)
	at loci.plugins.in.Importer.showDialogs(Importer.java:140)
	at loci.plugins.in.Importer.run(Importer.java:76)
	at loci.plugins.LociImporter.run(LociImporter.java:78)
	at ij.IJ.runUserPlugIn(IJ.java:228)
	at ij.IJ.runPlugIn(IJ.java:193)
	at ij.Executer.runCommand(Executer.java:137)
	at ij.Executer.run(Executer.java:66)
	at java.lang.Thread.run(Thread.java:748)

	at loci.formats.ChannelSeparator.setId(ChannelSeparator.java:324)
	at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)
	at loci.formats.DimensionSwapper.setId(DimensionSwapper.java:293)
	at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)
	at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)
	at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:650)
	at loci.plugins.in.ImportProcess.setId(ImportProcess.java:694)
	at loci.plugins.in.ImportProcess.initializeStack(ImportProcess.java:547)
	at loci.plugins.in.ImportProcess.execute(ImportProcess.java:146)
	at loci.plugins.in.Importer.showDialogs(Importer.java:140)
	at loci.plugins.in.Importer.run(Importer.java:76)
	at loci.plugins.LociImporter.run(LociImporter.java:78)
	at ij.IJ.runUserPlugIn(IJ.java:228)
	at ij.IJ.runPlugIn(IJ.java:193)
	at ij.Executer.runCommand(Executer.java:137)
	at ij.Executer.run(Executer.java:66)
	at java.lang.Thread.run(Thread.java:748)

The version I used is:
(Fiji Is Just) ImageJ 2.0.0-rc-71/1.52p39; Java 1.8.0_172 [64-bit];
with up-to-dated ome-common-6.0.3.jar

Thanks!

btw, both file formats could be opened on ImageJ instead.

Hi @chin,

I suspect the issue is the same as the one described in recent post: this Bioformat is not able to open .dm4 files.

Can you try disabling the Fiji-legacy update site, restart Fiji and see if that fixes your problem?

Best,
Sebastien

Hi Sebastien,

Thank you for your reply. Please have a look at the screenshot of the “update site”. The Fiji-legacy update site is not activated since ever the Fiji was installed.
1

Best,
chin

Thanks @chin,

can you try opening the advanced mode of the update site using Help > Update..., then clicking on Advanced Mode. If you type formats-common in the search box, could you tell us which update site this is associated with?

Sebastien

Hi Sebastien,

I maybe find a clue that causes the problem. In the latest update of Fiji, I added the “EMBL-CBA” update site for updating and this action will popup the error message when trying to open a bigger .lif or .czi files. Interestingly, the bio-formats importer still could open smaller size (~30-60 MB) of .lif files.

After deactivating the “EMBL-CBA” update site, the Fiji could only show the “logo” then the program crashes even the system is restarted. It seems that I am supposed to delete the whole Fiji then install a clean version.

Best,
chin

Thanks, @chin. Looking at just the EMBL-CBA site in isolation using this Dockerfile:

FROM fiji/fiji:fiji-openjdk-8
RUN ./entrypoint.sh --update add-update-site CBA https://sites.imagej.net/EMBL-CBA/
RUN ./entrypoint.sh --update update

I certainly see:

fiji@f4e31763be6b:/opt/fiji$ ./entrypoint.sh --update list-from-site CBA | grep ome-xml
...
jars/ome-xml-5.6.4.jar	(INSTALLED)	20190120155229

and

fiji@f4e31763be6b:/opt/fiji$ ./entrypoint.sh --update list-shadowed | grep ome-xml
...
jars/bio-formats/ome-xml-6.0.1.jar	(INSTALLED)	Java-8 overrides [Fiji]

i.e. you definitely have two versions of the ome-xml jar, but the one from EMBL-CBA isn’t being detected as an override of the one coming from the default Java-8 update site.

@Christian_Tischer (assuming you are the right person to ask), do you know if it would be possible to remove the Bio-Formats jars that are coming from Java-8 in the EMBL-CBA repo?

I removed one-xml it from my update site (it wasn’t there not on purpose, anyway).
I hope it works now.

2 Likes

Thanks @Christian_Tischer! It may require a manual delete locally for @chin. ~J.

Thanks Christian_Tischer and joshmoore, the new EMBL-CBA update site remove the ome-xml jar. Fiji now works well when loading .lif and .czi files.

Best,
chin

2 Likes