minimal macro that demonstrates java 8 problem

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

minimal macro that demonstrates java 8 problem

Aryeh Weiss
I created a minimal macro that demonstrates the window update stopping,
until the ROI manager is closed.

run("Close All");
run("Cell Colony (31K)");
setAutoThreshold("Default");
//run("Threshold...");
run("Analyze Particles...", "display exclude clear include summarize add");

The first time this is run, all is well. However, when run a second
time, the window will stop updating. For example, show all will not
toggle the overlay, and newly opened windows are white. Then I close the
roi manager, and there is an instant update.

--aryeh

--
Aryeh Weiss
Faculty of Engineering
Bar Ilan University
Ramat Gan 52900 Israel

Ph:  972-3-5317638
FAX: 972-3-7384051


--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: minimal macro that demonstrates java 8 problem

Rasband, Wayne (NIH/NIMH) [E]
On Aug 6, 2015, at 12:35 AM, Aryeh Weiss <[hidden email]> wrote:

>
> I created a minimal macro that demonstrates the window update stopping, until the ROI manager is closed.
>
> run("Close All");
> run("Cell Colony (31K)");
> setAutoThreshold("Default");
> //run("Threshold...");
> run("Analyze Particles...", "display exclude clear include summarize add");
>
> The first time this is run, all is well. However, when run a second time, the window will stop updating. For example, show all will not toggle the overlay, and newly opened windows are white. Then I close the roi manager, and there is an instant update.

This Java 8 on Macs bug is worked around in the latest ImageJ daily build (1.50b7).

-wayne

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: minimal macro that demonstrates java 8 problem

Aryeh Weiss
On 8/11/15 9:13 PM, Rasband, Wayne (NIH/NIMH) [E] wrote:

> On Aug 6, 2015, at 12:35 AM, Aryeh Weiss <[hidden email]> wrote:
>> I created a minimal macro that demonstrates the window update stopping, until the ROI manager is closed.
>>
>> run("Close All");
>> run("Cell Colony (31K)");
>> setAutoThreshold("Default");
>> //run("Threshold...");
>> run("Analyze Particles...", "display exclude clear include summarize add");
>>
>> The first time this is run, all is well. However, when run a second time, the window will stop updating. For example, show all will not toggle the overlay, and newly opened windows are white. Then I close the roi manager, and there is an instant update.
> This Java 8 on Macs bug is worked around in the latest ImageJ daily build (1.50b7).
>
> -wayne
>
>
Thank you for this fix. It appears to work as advertised.
I am curious what the bug is,  and whether the various Java 8
workarounds you mentioned share  a common cause.

Best regards
--aryeh

--
Aryeh Weiss
Faculty of Engineering
Bar Ilan University
Ramat Gan 52900 Israel

Ph:  972-3-5317638
FAX: 972-3-7384051

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: minimal macro that demonstrates java 8 problem

Rasband, Wayne (NIH/NIMH) [E]
On Aug 11, 2015, at 10:44 PM, Aryeh Weiss <[hidden email]> wrote:

>
> On 8/11/15 9:13 PM, Rasband, Wayne (NIH/NIMH) [E] wrote:
>> On Aug 6, 2015, at 12:35 AM, Aryeh Weiss <[hidden email]> wrote:
>>> I created a minimal macro that demonstrates the window update stopping, until the ROI manager is closed.
>>>
>>> run("Close All");
>>> run("Cell Colony (31K)");
>>> setAutoThreshold("Default");
>>> //run("Threshold...");
>>> run("Analyze Particles...", "display exclude clear include summarize add");
>>>
>>> The first time this is run, all is well. However, when run a second time, the window will stop updating. For example, show all will not toggle the overlay, and newly opened windows are white. Then I close the roi manager, and there is an instant update.
>> This Java 8 on Macs bug is worked around in the latest ImageJ daily build (1.50b7).
>>
>> -wayne
>>
>>
> Thank you for this fix. It appears to work as advertised.
> I am curious what the bug is,  and whether the various Java 8 workarounds you mentioned share  a common cause.

This problem, and the problem that caused ImageJ to freeze when changing the display mode in the “Channels” dialog, were caused by this Java 8 on OS X bug:

   "Checkbox.setState() call causes ItemEvent to be filed"
   https://bugs.openjdk.java.net/browse/JDK-8074500

This bug caused an infinite loop of itemStateChanged() calls, which locked up the Event Dispatch Thread (EDT) and caused ImageJ to become unresponsive. The workaround is to not call Checkbox.setState() in code running on the EDT when ImageJ is running Java 8 on OS X.

-wayne

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html