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 #1163 (closed defect: invalid)

Opened 2012-05-09T13:23:23-05:00

Last modified 2012-07-03T13:06:22-05:00

DynamicPlugin instances should keep a local copy of their DynamicPluginInfo

Reported by: curtis Owned by: bdezonia
Priority: major Milestone: imagej2-b3-headless
Component: Plugin Framework Version:
Severity: serious Keywords:
Cc: Blocked By:
Blocking: #1051


Currently, if you try to run the same DynamicPlugin with two different inputs simultaneously, they will end up manipulating the same DynamicPluginInfo object in incompatible ways. The result is very much not thread safe.

Instead, DynamicPlugins should each work with their own copy of their DynamicPluginInfo, to avoid any conflicts.

Change History

comment:1 Changed 2012-05-14T11:22:27-05:00 by bdezonia

  • Milestone changed from imagej-2.0.0-beta3 to imagej-2.0.0-beta4

comment:2 Changed 2012-05-14T11:25:48-05:00 by bdezonia

  • Milestone changed from imagej-2.0.0-beta4 to imagej-2.0.0-beta3

comment:3 Changed 2012-05-14T13:28:07-05:00 by curtis

  • Blocking 1051 added

comment:4 Changed 2012-07-03T13:06:22-05:00 by curtis

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

I investigated this, and my initial analysis was wrong. Each DynamicPlugin instance keeps a local copy of its DynamicPluginInfo. Running the same DynamicPlugin in multiple threads simultaneously appears to work fine, in both theory and practice.