NOTICE! This is a static HTML version of a legacy ImageJ Trac ticket.

The ImageJ project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Ticket #1154 (closed defect: fixed)

Opened 2012-05-04T14:48:00-05:00

Last modified 2012-05-18T16:48:10-05:00

Simultaneous image openings are problematic

Reported by: bdezonia Owned by: bdezonia
Priority: major Milestone: imagej2-b3-headless
Component: I/O Version:
Severity: serious Keywords:
Cc: Blocked By:


Open a big dataset (such as T1 head). While it is opening try opening blobs. One of the images loads as expected. The other takes minutes before it appears on the screen.

(One thing to test: true with File Open or just Open Samples?)

Change History

comment:1 Changed 2012-05-08T15:08:49-05:00 by bdezonia

Debugging with print statements it is apparent that the first image (T1) cannot load because it is stuck in LegacyPlugin::waitForPluginThreads(). Apparently a thread related to Blobs is being seen as alive in T1's thread queue.

Its acting like the Image Fetcher whitelisting is failing in this multiple plugin run setting. And thus T1 is waiting for Blob's ImageFetcher to terminate. This is speculation though. Debug further.

comment:2 Changed 2012-05-08T15:56:25-05:00 by bdezonia

It's not specifically a Image Fetcher thread. But it is a thread stuck in a TIMED_WAITING state. Thread has no discernable name except that it starts with "ImageJ". Not sure what to whitelist or how.

comment:3 Changed 2012-05-18T16:48:10-05:00 by bdezonia

  • Status changed from new to closed
  • Resolution set to fixed

With commit 4cceb5569b8f660c6be89cd209f1ae8a6b65a54c long thread waits have been eliminated by having each LegacyPlugin run inside a new thread whose threadgroup is specified. WaitForPluginThreads() now only checks that threads hatched within the context of my new threadgroup are still running.

This results in a quick speedup opening multiple images simultaneously. Until the menu creation slowing bug is fixed this is not readily apparent.