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 1108 - fiji-win64.exe stalls at splash screen
fiji-win64.exe stalls at splash screen
Status: NEEDSINFO
Product: Fiji
Classification: Unclassified
Component: Plugins
unspecified
PC Windows
: P4 minor
Assigned To: ImageJ Bugs Mailing List
Depends on:
Blocks:
 
Reported: 2015-07-06 10:57 CDT by Jan Eglinger
Modified: 2015-07-23 13:19 CDT
4 users (show)

See Also:

Description Jan Eglinger 2015-07-06 10:57:35 CDT
Since the latest update to ImageJ 2.0.0-rc-31, the Fiji launcher (fiji-win64.exe) stalls at the splash screen on Windows. The ImageJ launcher (ImageJ-win64.exe) works, but does not seem to respect the single instance listener setting [1]: I was able to launch several instances of Fiji.

I tried to debug by renaming either of the launchers to debug.exe and running them. The Fiji launcher stops after the following lines:

[DEBUG] publish(
    context = org.scijava.Context@26a4842b
    consumed = false,null,null), called from non-EDT Thread:null


-- 

[1]: https://github.com/imagej/imagej-legacy/pull/116

Information about your version of Java:

  os.arch => amd64
  os.name => Windows 7
  os.version => 6.1
  java.version => 1.6.0_24
  java.vendor => Sun Microsystems Inc.
  java.runtime.name => Java(TM) SE Runtime Environment
  java.runtime.version => 1.6.0_24-b07
  java.vm.name => Java HotSpot(TM) 64-Bit Server VM
  java.vm.version => 19.1-b02
  java.vm.vendor => Sun Microsystems Inc.
  java.vm.info => mixed mode
  java.awt.graphicsenv => sun.awt.Win32GraphicsEnvironment
  java.specification.name => Java Platform API Specification
  java.specification.version => 1.6
  sun.cpu.endian => little
  sun.desktop => windows
  file.separator => \

The up-to-date check says: REMIND_LATER

Information relevant to JAVA_HOME related problems:

  JAVA_HOME is set to: C:\UTILIT~1\FIJI-D~1.APP/java/win64/jdk1.6.0_24//jre
  imagej.dir => C:\UTILIT~1\FIJI-D~1.APP

Information about the version of each plugin:

Activated update sites:
ImageJ: http://update.imagej.net/ (last check:20150702194224)
Fiji: http://fiji.sc/update/ (last check:20150702195035)
Comment 1 Mark Hiner 2015-07-06 14:37:30 CDT
Hi Jan,

Thank you for your diligence in testing!

I actually couldn't confirm either behavior problems, but I only have a 32-bit Win7 VM.

My Fiji starts up using both the imagej and fiji .exe, and the single instance listener seems to be working (a second invocation of the .exe launches another splash screen but appears to eventually pass control to the existing instance).

If you didn't already would you mind testing with a fresh download? Just wondering if it's a problem with the updater, or perhaps a 64-bit issue..

Thanks again,
Mark
Comment 2 Curtis Rueden 2015-07-07 16:24:08 CDT
Another way of debugging is to pass the "--dry-run" flag to the launcher, then copy and paste the output as a new command that calls java.exe directly, and see if that is any more informative. Sometimes it is.
Comment 3 Curtis Rueden 2015-07-07 16:24:41 CDT
Oh, and by the way, it is crucial to pass the "--console" flag on Windows when debugging from the command line, or else you won't see much (any?) output.
Comment 4 Jan Eglinger 2015-07-09 07:33:21 CDT
Hi all, sorry for the delayed reply.

This apparently was a temporary issue and appeared first when I actually wanted to start a second instance started from the same launcher. After stalling for about 20 minutes, Fiji finally started in a second instance (64-bit), so the single instance listener setting was ignored.
Fiji starts up fine now.

I will try to test more thoroughly however with freshly downloaded 64-bit and 32-bit versions of Fiji as soon as I find time, and I'll post the results here.

Jan
Comment 5 Curtis Rueden 2015-07-09 14:18:16 CDT
The single instance listener tries to communicate with an existing instance via RMI, which uses a network socket internally, so the 20 minute delay is probably just a ludicrously long timeout.
Comment 6 Jan Eglinger 2015-07-23 09:30:00 CDT
The timeout hypothesis makes sense.

Running
  ImageJ-win64.exe --dry-run --console
and
  fiji-win64.exe --dry-run --console
revealed that fiji-win64.exe hands a "-port7" parameter to java whereas ImageJ-win64.exe doesn't.

I saw in LegacyConsoleService.java [1] that the single instance listener is using that same port. As I mentioned before, the single instance listener setting is ignored when I start ImageJ-win64.exe. Unfortunately, this prevents usage of Fiji from within Bitplane Imaris or Zeiss ZEN software.

It may be of importance that I am running Fiji behind a proxy and enabled a proxy setting in Edit>Options>Proxy Settings...

Any advice how to solve this is greatly appreciated. I am happy to provide more information if possible.

Jan


[1]: https://github.com/imagej/imagej-legacy/blob/master/src/main/java/net/imagej/legacy/LegacyConsoleService.java#L49
Comment 7 Curtis Rueden 2015-07-23 13:19:11 CDT
> Unfortunately, this prevents usage of Fiji from within Bitplane Imaris
> or Zeiss ZEN software.

Too bad, since my understanding is that Johannes readded the single instance listener specific for the latter use case, actually sponsored by Zeiss directly.

Maybe he has a suggestion on how best to troubleshoot this.