Nasty crash running BoneJ2 plugins

I get this crash when I try to run the development version of Anisotropy in BoneJ2. My Fiji is up to date but complaining about an old Java (1.8.0_66). It seems to be complaining about converting an ImageJ1 binary TIF into an ImgLib binary image.

[WARNING] Your Java might be too old to handle updates via HTTPS. This is a security risk. Depending on your setup please download a recent version of this software or update your local Java installation.
[INFO] Reading available sites from http://imagej.net/
[ERROR] Module threw exception
java.lang.IllegalArgumentException: Multiple 'net.imagej.ops.Ops$Convert$Bit' ops of priority 0.0:
1. (Img out?) =
	net.imagej.ops.convert.ConvertImages$Bit(
		Img out?,
		IterableInterval in)
2. (Img out?) =
	net.imagej.ops.convert.ConvertImages$Bit(
		Img out?,
		IterableInterval in)

Request:
-	net.imagej.ops.Ops$Convert$Bit(
		PlanarImg)

Candidates:
1. 	(BitType out?) =
	net.imagej.ops.convert.ConvertTypes$IntegerToBit(
		BitType out?,
		IntegerType in)
2. 	(BitType out?) =
	net.imagej.ops.convert.ConvertTypes$IntegerToBit(
		BitType out?,
		IntegerType in)
3. 	(Img out?) =
	net.imagej.ops.convert.ConvertImages$Bit(
		Img out?,
		IterableInterval in)
4. 	(Img out?) =
	net.imagej.ops.convert.ConvertImages$Bit(
		Img out?,
		IterableInterval in)
5. 	(BitType out?) =
	net.imagej.ops.convert.ConvertTypes$ComplexToBit(
		BitType out?,
		ComplexType in)
6. 	(BitType out?) =
	net.imagej.ops.convert.ConvertTypes$ComplexToBit(
		BitType out?,
		ComplexType in)

	at net.imagej.ops.DefaultOpMatchingService.singleMatch(DefaultOpMatchingService.java:432)
	at net.imagej.ops.DefaultOpMatchingService.findMatch(DefaultOpMatchingService.java:97)
	at net.imagej.ops.DefaultOpMatchingService.findMatch(DefaultOpMatchingService.java:83)
	at net.imagej.ops.OpEnvironment.module(OpEnvironment.java:269)
	at net.imagej.ops.OpEnvironment.run(OpEnvironment.java:157)
	at net.imagej.ops.convert.ConvertNamespace.bit(ConvertNamespace.java:132)
	at org.bonej.wrapperPlugins.wrapperUtils.Common.toBitTypeImgPlus(Common.java:80)
	at org.bonej.wrapperPlugins.AnisotropyWrapper.run(AnisotropyWrapper.java:208)
	at org.scijava.command.CommandModule.run(CommandModule.java:199)
	at org.scijava.module.ModuleRunner.run(ModuleRunner.java:168)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:127)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:66)
	at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:228)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

Seems to be gone on a fresh installation of Fiji just downloaded and a recompiled BoneJ2.

Is it possible that you had two versions of imagej-ops-x.xx.x.jar in Fiji.app/jars/ and it didn’t know which one to use?

1 Like

Maybe. Scorched earth worked.

1 Like