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 505 - March 2011 Fiji doesn't work on Mac OSX 10.5.8
March 2011 Fiji doesn't work on Mac OSX 10.5.8
Status: RESOLVED FIXED
Product: Fiji
Classification: Unclassified
Component: Other
unspecified
Macintosh Mac OS
: P5 critical
Assigned To: ImageJ Bugs Mailing List
Depends on:
Blocks:
 
Reported: 2012-10-02 19:42 CDT by tomancak
Modified: 2012-10-09 18:57 CDT
2 users (show)

See Also:

Description tomancak 2012-10-02 19:42:41 CDT
I am running MAC OS X 10.5.8 on my work machine. My Fiji failed to start. I downloaded the latest Mac OSX release from March 2011 and reinstalled. Upon launching the application is running but there is not Fiji toolbar window.

Then I noticed the critical message on the web site. I downloaded the JRE free zip. Installed and it kind of works. But I notice that the splash screen is lingering for very long (about a minute) before the Fiji window shows up and is showing ImageJ2 logo instead of Fiji. There is no logo on my dock just the generic java icon.

What's wrong? Let me know if you need more information. These are just very superficial symptoms.
Comment 1 Johannes Schindelin 2012-10-02 21:07:08 CDT
When your Fiji failed to start, is there some more information in the Console (in Finder, Go>Utilities)?

Also, could you please paste the information printed when running "java -version" in the Terminal (also in Finder, Go>Utilities)?

Thanks!
Comment 2 tomancak 2012-10-03 19:13:54 CDT
Absolutely nothing on console.

Fiji jumps, gets a dock tickmark, but the only menu item in the toolbar on top is Fiji. No Fiji window. 

Ah now it came, I left it running and after 5 minutes everything showed up. Maybe its a false alarm and the problem is with my machine.

add 2:

intel-tomancak-3-333:~ tomancak$ java -version
java version "1.5.0_30"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_30-b03-389-9M3425)
Java HotSpot(TM) Client VM (build 1.5.0_30-161, mixed mode, sharing)
Comment 3 Johannes Schindelin 2012-10-03 19:57:04 CDT
Ah, Java5 might explain the issue. We rely on Java6 now and use Retrotranslator to be able to run things in Java5 (albeit slowly).

To verify whether this is the case, could you follow the instructions in http://fiji.sc/Command-Line_Debugging to start Fiji from the command-line and after a while (when it still seems to be stuck) hold down the Ctrl key and press the backslash? That should give you a thread dump, and if the longest thread has a couple of lines containing the string "retrotranslator", I am correct.
Comment 4 tomancak 2012-10-04 14:27:02 CDT
I started Fiji from the command line and it still took long to launch.

I should say thatmy machine has only 2GB of memory. Could that be a problem?

Here is the thread dump.

intel-tomancak-3-333:Fiji.app tomancak$ Contents/MacOS/fiji-macosx 
^\2012-10-04 14:23:57
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.1-b02-384 mixed mode):

"AWT-Shutdown" prio=5 tid=102874000 nid=0x12b57c000 in Object.wait() [12b57b000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <7a42f0b90> (a java.lang.Object)
	at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:284)
	- locked <7a42f0b90> (a java.lang.Object)
	at java.lang.Thread.run(Thread.java:680)

"AWT-AppKit" daemon prio=5 tid=102873000 nid=0x7fff70129700 runnable [00000000]
   java.lang.Thread.State: RUNNABLE

"Low Memory Detector" daemon prio=5 tid=102848800 nid=0x10ade8000 runnable [00000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=9 tid=102847000 nid=0x10ace5000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=9 tid=102845800 nid=0x10abe2000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=9 tid=102844000 nid=0x10aadf000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Surrogate Locker Thread (Concurrent GC)" daemon prio=5 tid=102843000 nid=0x10a9dc000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=10282a000 nid=0x10a8d9000 in Object.wait() [10a8d8000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <7a4201300> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <7a4201300> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=102828800 nid=0x10a7d6000 in Object.wait() [10a7d5000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <7a42011d8> (a java.lang.ref.Reference$Lock)
	at java.lang.Object.wait(Object.java:485)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
	- locked <7a42011d8> (a java.lang.ref.Reference$Lock)

"main" prio=5 tid=102801800 nid=0x1000ca000 runnable [1000c8000]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainSocketImpl.initProto(Native Method)
	at java.net.PlainSocketImpl.<clinit>(PlainSocketImpl.java:89)
	at java.net.ServerSocket.setImpl(ServerSocket.java:245)
	at java.net.ServerSocket.<init>(ServerSocket.java:187)
	at java.net.ServerSocket.<init>(ServerSocket.java:106)
	at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(RMIDirectSocketFactory.java:27)
	at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(RMIMasterSocketFactory.java:333)
	at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(TCPEndpoint.java:649)
	at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:299)
	at sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:218)
	- locked <7a4569b38> (a sun.rmi.transport.tcp.TCPTransport)
	at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:393)
	at sun.rmi.transport.LiveRef.exportObject(LiveRef.java:129)
	at sun.rmi.server.UnicastServerRef.exportObject(UnicastServerRef.java:190)
	at java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:293)
	at java.rmi.server.UnicastRemoteObject.exportObject(UnicastRemoteObject.java:235)
	at ij.OtherInstance.startServer(OtherInstance.java:156)
	at ij.OtherInstance.sendArguments(OtherInstance.java:144)
	at ij.ImageJ.isRunning(ImageJ.java:670)
	at ij.ImageJ.main(ImageJ.java:620)
	at fiji.Main.main(Main.java:363)

"VM Thread" prio=9 tid=102824000 nid=0x10a6d3000 runnable 

"Gang worker#0 (Parallel GC Threads)" prio=9 tid=102804800 nid=0x10073b000 runnable 

"Gang worker#1 (Parallel GC Threads)" prio=9 tid=102805800 nid=0x102230000 runnable 

"Concurrent Mark-Sweep GC Thread" prio=9 tid=102808000 nid=0x10a3df000 runnable 
"VM Periodic Task Thread" prio=10 tid=10284b000 nid=0x10aeeb000 waiting on condition 

"Exception Catcher Thread" prio=10 tid=102802800 nid=0x100565000 runnable 
JNI global references: 995

Heap
 par new generation   total 19136K, used 7273K [7a4200000, 7a56c0000, 7a6b90000)
  eden space 17024K,  42% used [7a4200000, 7a491a4f8, 7a52a0000)
  from space 2112K,   0% used [7a52a0000, 7a52a0000, 7a54b0000)
  to   space 2112K,   0% used [7a54b0000, 7a54b0000, 7a56c0000)
 concurrent mark-sweep generation total 63872K, used 0K [7a6b90000, 7aa9f0000, 7f8000000)
 concurrent-mark-sweep perm gen total 131072K, used 8123K [7f8000000, 800000000, 800000000)

^\2012-10-04 14:24:57
Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.1-b02-384 mixed mode):

"TimerQueue" daemon prio=5 tid=10297f800 nid=0x134494000 in Object.wait() [134493000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <7a47d9948> (a javax.swing.TimerQueue)
	at javax.swing.TimerQueue.run(TimerQueue.java:232)
	- locked <7a47d9948> (a javax.swing.TimerQueue)
	at java.lang.Thread.run(Thread.java:680)

"DestroyJavaVM" prio=5 tid=102801800 nid=0x1000ca000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"AWT-EventQueue-0" prio=6 tid=1028f2800 nid=0x12e204000 in Object.wait() [12e203000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <7a6bc4ad8> (a java.awt.EventQueue)
	at java.lang.Object.wait(Object.java:485)
	at java.awt.EventQueue.getNextEvent(EventQueue.java:520)
	- locked <7a6bc4ad8> (a java.awt.EventQueue)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:263)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

"Java2D Disposer" daemon prio=10 tid=1028e9000 nid=0x12e101000 in Object.wait() [12e100000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <7a54b0110> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <7a54b0110> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at sun.java2d.Disposer.run(Disposer.java:127)
	at java.lang.Thread.run(Thread.java:680)

"AWT-Shutdown" prio=5 tid=1028d5000 nid=0x12de28000 in Object.wait() [12de27000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <7a6bbf698> (a java.lang.Object)
	at java.lang.Object.wait(Object.java:485)
	at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:265)
	- locked <7a6bbf698> (a java.lang.Object)
	at java.lang.Thread.run(Thread.java:680)

"GC Daemon" daemon prio=2 tid=1028ca000 nid=0x12dd05000 in Object.wait() [12dd04000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <7a6c24cd8> (a sun.misc.GC$LatencyLock)
	at sun.misc.GC$Daemon.run(GC.java:100)
	- locked <7a6c24cd8> (a sun.misc.GC$LatencyLock)

"RMI Reaper" prio=5 tid=1028c9800 nid=0x12db75000 in Object.wait() [12db74000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <7a6c23bc0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <7a6c23bc0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at sun.rmi.transport.ObjectTable$Reaper.run(ObjectTable.java:333)
	at java.lang.Thread.run(Thread.java:680)

"RMI TCP Accept-0" daemon prio=5 tid=102874000 nid=0x12b57c000 runnable [12b57b000]
   java.lang.Thread.State: RUNNABLE
	at java.net.PlainSocketImpl.socketAccept(Native Method)
	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
	- locked <7a6c23c40> (a java.net.SocksSocketImpl)
	at java.net.ServerSocket.implAccept(ServerSocket.java:462)
	at java.net.ServerSocket.accept(ServerSocket.java:430)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369)
	at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341)
	at java.lang.Thread.run(Thread.java:680)

"AWT-AppKit" daemon prio=5 tid=102873000 nid=0x7fff70129700 runnable [00000000]
   java.lang.Thread.State: RUNNABLE

"Low Memory Detector" daemon prio=5 tid=102848800 nid=0x10ade8000 runnable [00000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" daemon prio=9 tid=102847000 nid=0x10ace5000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" daemon prio=9 tid=102845800 nid=0x10abe2000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=9 tid=102844000 nid=0x10aadf000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Surrogate Locker Thread (Concurrent GC)" daemon prio=5 tid=102843000 nid=0x10a9dc000 waiting on condition [00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=10282a000 nid=0x10a8d9000 in Object.wait() [10a8d8000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <7a6b90cd8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
	- locked <7a6b90cd8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=102828800 nid=0x10a7d6000 in Object.wait() [10a7d5000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <7a6b90bc0> (a java.lang.ref.Reference$Lock)
	at java.lang.Object.wait(Object.java:485)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
	- locked <7a6b90bc0> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=9 tid=102824000 nid=0x10a6d3000 runnable 

"Gang worker#0 (Parallel GC Threads)" prio=9 tid=102804800 nid=0x10073b000 runnable 

"Gang worker#1 (Parallel GC Threads)" prio=9 tid=102805800 nid=0x102230000 runnable 

"Concurrent Mark-Sweep GC Thread" prio=9 tid=102808000 nid=0x10a3df000 runnable 
"VM Periodic Task Thread" prio=10 tid=10284b000 nid=0x10aeeb000 waiting on condition 

"Exception Catcher Thread" prio=10 tid=102802800 nid=0x100565000 runnable 
JNI global references: 3211

Heap
 par new generation   total 19136K, used 11129K [7a4200000, 7a56c0000, 7a6b90000)
  eden space 17024K,  54% used [7a4200000, 7a4b1d950, 7a52a0000)
  from space 2112K,  84% used [7a54b0000, 7a5670c30, 7a56c0000)
  to   space 2112K,   0% used [7a52a0000, 7a52a0000, 7a54b0000)
 concurrent mark-sweep generation total 63872K, used 582K [7a6b90000, 7aa9f0000, 7f8000000)
 concurrent-mark-sweep perm gen total 131072K, used 17481K [7f8000000, 800000000, 80
Comment 5 Curtis Rueden 2012-10-04 17:37:58 CDT
From the stack trace, it looks like a networking issue. The main thread is stuck trying to create an ImageJ server (this is how ImageJ knows it is already running when you drag more files onto the dock; it just passes them to the running instance over local loopback network, rather than spawning a second ImageJ).

It might be related it IPv6. Can you look over this article:
  http://support.apple.com/kb/TS3802

And see if anything there helps address the issue?
Comment 6 tomancak 2012-10-09 18:57:08 CDT
Ok, false alarm, the problem was with my computer. Gone after upgrade.