CSBDeep / CSBDeep_website

40 stars 3 forks source link

FIJI crashes after adding CSBDeep Update Site #1

Closed JimboMahoney closed 6 years ago

JimboMahoney commented 6 years ago

Hi there!

I followed the instructions to add the CSBDeep update site, but FIJI crashes instantly when restarting.

Any ideas or other info I can provide?

Many thanks!

James

frauzufall commented 6 years ago

Hey James,

sorry to hear that and thanks for reporting! Could you launch Fiji from the console and copy and paste what happens there during the crash?

Regards, Deborah

fjug commented 6 years ago

Or just try with a new Fiji installation... that helped others recently. Best, Florian

Sent from my iPhone

On 2. Jan 2018, at 11:58, Deborah Schmidt notifications@github.com wrote:

Hey James,

sorry to hear that and thanks for reporting! Could you launch Fiji from the console and copy and paste what happens there during the crash?

Regards, Deborah

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

haesleinhuepf commented 6 years ago

Hey guys,

I was able to reproduce the bug on my Windows 10 machine. The console says:

[DEBUG] publish(
        context = org.scijava.Context@6c69cc6d
        consumed = false,null,null), called from non-EDT Thread:null
[DEBUG] SingleInstance: starting server
[DEBUG] SingleInstance: server ready
[DEBUG] sendArguments: return false
[DEBUG] Received command line arguments:
[DEBUG] Discovered user interface: net.imagej.legacy.ui.LegacyUI
[DEBUG] Discovered user interface: org.scijava.ui.swing.sdi.SwingSDIUI
[DEBUG] Discovered user interface: org.scijava.ui.awt.AWTUI
[DEBUG] Discovered user interface: org.scijava.ui.swing.mdi.SwingMdiUI
[DEBUG] Discovered user interface: org.scijava.ui.headless.HeadlessUI
[DEBUG] Launching user interface: net.imagej.legacy.ui.LegacyUI
Error while executing the main() method of class 'net.imagej.Main':
java.lang.NoClassDefFoundError: org/scijava/log/LogListener
        at net.imagej.legacy.ui.LegacyUI.createConsole(LegacyUI.java:152)
        at net.imagej.legacy.ui.LegacyUI.show(LegacyUI.java:144)
        at org.scijava.ui.DefaultUIService.showUI(DefaultUIService.java:156)
        at org.scijava.ui.DefaultUIService.showUI(DefaultUIService.java:141)
        at org.scijava.AbstractGateway.launch(AbstractGateway.java:103)
        at net.imagej.Main.main(Main.java:55)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at net.imagej.launcher.ClassLauncher.launch(ClassLauncher.java:279)
        at net.imagej.launcher.ClassLauncher.run(ClassLauncher.java:186)
        at net.imagej.launcher.ClassLauncher.main(ClassLauncher.java:77)
Caused by: java.lang.ClassNotFoundException: org.scijava.log.LogListener
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 13 more

This is actually the same error message as I posted recently here: https://github.com/scijava/scijava-log-slf4j/issues/3

It may be related to the fact that the CSBDeep update site delivers an old version of SciJava-Common (2.65). If you update this jar file on the update site (to 2.69 for example), the issue may go away. This should be doable by updating the parent pom-scijava to version 19.0.0.

Cheers, Robert

haesleinhuepf commented 6 years ago

Correction: Actually, this jar file shouldn't be delivered by this update site at all as it comes from ImageJs Java-8 update site.

tboo commented 6 years ago

I am not entirely sure this is CSBDeep related. I had CSBDeep running before the holidays w/o issues. After todays Fiji update (which did not involve a CSBDeep update IMHO) Fiji crashes with the error reported by @haesleinhuepf

EDIT: I can confirm that updating scijava-common to v2.69 in /Fiji.app/jars/ solves the problem. jar: https://mvnrepository.com/artifact/org.scijava/scijava-common/2.69.0

cwood1967 commented 6 years ago

In the installation instructions, the image of the fiji updater shows that jars/scijava-commons.jar will be updated. Updating scijava-commons from this site might revert to an older version that does not have LogListener.

My Fiji was working right before adding the CSBDeep site to my update sites, and crashed with this error just after the update.

HedgehogCode commented 6 years ago

Thank you for your report and already figuring out the problem.

I added this jar because the previous jar on the update site was 2.64 and didn't include the DownloadService which was needed by imagej-tensorflow. I thought the updater will prefer a newer version when it gets updated but this isn't true.

I'm currently fixing the update site. It should be done in a few minutes.

imagejan commented 6 years ago

I thought the updater will prefer a newer version when it gets updated but this isn't true.

Update sites further down the list will always shadow update sites from the top of the list when they serve the same artifact at a different version. See also the discussion here: https://github.com/imagej/imagej-updater/issues/59

I'm currently fixing the update site. It should be done in a few minutes.

It should be as easy as to mark scijava-common as obsolete on the CSBDeep update site, using the ImageJ updater. Then the next update will get the latest version from the Java-8 update site.

HedgehogCode commented 6 years ago

I removed scijava-common from the update site. It should be fine again.

Update sites further down the list will always shadow update sites from the top of the list when they serve the same artifact at a different version. See also the discussion here: imagej/imagej-updater#59

Thank you for the clarification. I will be more careful now.

Sorry for the inconvenience and thank you all for the awesome bug reporting!

EDIT: Broken fiji installations can be recovered by manually updating scijava-common as stated by @tboo:

EDIT: I can confirm that updating scijava-common to v2.69 in /Fiji.app/jars/ solves the problem. jar: https://mvnrepository.com/artifact/org.scijava/scijava-common/2.69.0