Re: System specific issues with FIJI

Posted by Benoit Lombardot on
URL: http://imagej.273.s1.nabble.com/System-specific-issues-with-FIJI-tp5011752p5011757.html

Hi Mark,

Thanks a lot for your detailed feedback. I will follow the directions
you propose and report any results here.

Regarding the wiki debugging intro page I find it very informative. My
issue I believe was since I haven't understood what potential issues the
stack trace was pointing at, I felt a bit disoriented as where to look next.

Thanks again for your help,
Best,

Benoit


Le 24/02/2015 19:14, Mark Hiner a écrit :

> Hi Benoit,
>
>   >I have read through the fiji debug page but am not sure what to do, let
> say, after starting FIJI in debug mode
>
> The general goal of the debug options (whether launching in debug mode,
> launching from the command line or turning Edit>Options>Misc...>Debug mode
> on) is to expose additional information that may normally be hidden or lost
> - e.g. because of suppression of logging output, or missing error messages
> (perhaps because they caused the application to crash before any logging
> could occur).
>
> So the typical workflow with these settings would be something like:
> Something terrible happens but I don't know what > restart Fiji in debug
> mode > repeat action that caused terrible thing > observe new information
> (hopefully)
>
>> Error message of case 1:
>> ...
> In this case you already have the error message, so just capturing extra
> debugging information may not be helpful.
>
> But you can learn something from the messages - since you got an out of
> memory exception with a small dataset and reasonable memory settings, and I
> noticed that the stack trace is full new thread instantiation all coming
> from the same origin (MinMax computation) it would be reasonable to suspect
> a memory leak due to a multi-threading error.
>
> At this point you've identified the area of the problem (the
> DefaultMinMaxMethod) and we would need to investigate what the code is
> actually doing, e.g. via remote debugging[1]. So that would be the next
> thing for you to either try yourself, or submit a bug report.
>
>> 2 - I have another issue with saving overlay in tiff image with Fiji.
>> Any idea of what could be the issue?
> Hard to say, but when I have a use case that works in one environment but
> not another, the first things I always check are:
> 1) the state of plugins/update sites (e.g. that reported by Plugins > Debug
>> System information, or Help > Report a Bug)
> 2) the java version
>
> Note that the Java version could also be a factor in your first problem
> since you're going from Mavericks to Yosemite (the latter defaulting to
> Java 8) so you may want to experiment with different Java versions[2] in
> both cases.
>
> Anyway I hope this clarifies things a bit and gives you some direction. Let
> me know if any of this is unclear. Also, it's great that you started with
> the wiki, and any feedback to improve the Debugging Intro page[3] would
> certainly be welcome (e.g. would it help if the sections were more
> step-by-step, or if we added a higher-level "philosophy of debugging"
> intro, or revised individual sections to be more explicit about how that
> particular technique should be used...?).
>
> Best,
> Mark
>
> [1] http://imagej.net/Debugging_intro#Attaching_to_ImageJ_instances
> [2]
> http://imagej.net/FAQ#How_do_I_launch_ImageJ_with_a_different_version_of_Java.3F
> [3] http://imagej.net/Debugging_intro
>
>
> On Tue, Feb 24, 2015 at 9:13 AM, Benoit Lombardot <[hidden email]>
> wrote:
>
>> Dear IJ users,
>>
>> I am bumping in little  issues with FIJI. I have some issue occuring on
>> one system but not on another with the same FIJI installation. That would
>> be great if anyone had advise to get me started with that debugging. I have
>> read through the fiji debug page but am not sure what to do, let say, after
>> starting FIJI in debug mode. For now,  I am a bit stuck, but willing to
>> learn.
>>
>> Below is a description of the 2 (independent) issues I have met. It is a
>> quite general description but just let me know what additional information
>> could be needed here.
>>
>> 1 - One plugin I wrote works on a mac with mac os 10.9.3 (it also works
>> with win7, ubuntu and centos systems) but crashes on a mac os 10.10.1
>> throwing an out of memory error (despite a small dataset, proper physical
>> memory and adequate memory settings in FIJI). It is not clear to me where
>> the error is happening as it does not refer explicitly to the function of
>> the plugin. I added the error message below.
>>
>> 2 - I have another issue with saving overlay in tiff image with Fiji. It
>> works fine on my laptop (a mac with osx 10.9.3) but does not save the
>> overlay on my user laptop ( a mac with osx 10.9.5) and does not output
>> errors. I copied his Fiji installation on my laptop and the the overlay is
>> saved properly on my machine. Any idea of what could be the issue?
>>
>> For the 2 cases I used FIJI (IJ 2.0.0-rc-24 / IJ 1.49m)
>>
>> Thanks for your help,
>> Best,
>>
>> Benoit
>>
>>
>>
>> Error message of case 1:
>> Exception in thread "SciJava-111bda67-Thread-2203"
>> java.lang.OutOfMemoryError: unable to create new native thread
>> at java.lang.Thread.start0(Native Method)
>> at java.lang.Thread.start(Thread.java:673)
>> at java.util.concurrent.ThreadPoolExecutor.addThread(
>> ThreadPoolExecutor.java:681)
>> at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(
>> ThreadPoolExecutor.java:727)
>> at java.util.concurrent.ThreadPoolExecutor.execute(
>> ThreadPoolExecutor.java:655)
>> at java.util.concurrent.AbstractExecutorService.submit(
>> AbstractExecutorService.java:78)
>> at org.scijava.thread.DefaultThreadService.run(
>> DefaultThreadService.java:80)
>> at org.scijava.event.DefaultEventBus.publishLater(
>> DefaultEventBus.java:217)
>> at org.scijava.event.DefaultEventBus.publishLater(
>> DefaultEventBus.java:105)
>> at org.scijava.event.DefaultEventService.publishLater(
>> DefaultEventService.java:111)
>> at org.scijava.app.DefaultStatusService.publish(
>> DefaultStatusService.java:112)
>> at org.scijava.app.DefaultStatusService.showStatus(
>> DefaultStatusService.java:73)
>> at net.imagej.minmax.DefaultMinMaxMethod.report(
>> DefaultMinMaxMethod.java:301)
>> at net.imagej.minmax.DefaultMinMaxMethod.compute(
>> DefaultMinMaxMethod.java:234)
>> at net.imagej.minmax.DefaultMinMaxMethod$1.run(
>> DefaultMinMaxMethod.java:180)
>> at java.lang.Thread.run(Thread.java:695)
>> Exception in thread "SciJava-111bda67-Thread-2199"
>> java.lang.OutOfMemoryError: unable to create new native thread
>> at java.lang.Thread.start0(Native Method)
>> at java.lang.Thread.start(Thread.java:673)
>> at java.util.concurrent.ThreadPoolExecutor.addThread(
>> ThreadPoolExecutor.java:681)
>> at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(
>> ThreadPoolExecutor.java:727)
>> at java.util.concurrent.ThreadPoolExecutor.execute(
>> ThreadPoolExecutor.java:655)
>> at java.util.concurrent.AbstractExecutorService.submit(
>> AbstractExecutorService.java:78)
>> at org.scijava.thread.DefaultThreadService.run(
>> DefaultThreadService.java:80)
>> at org.scijava.event.DefaultEventBus.publishLater(
>> DefaultEventBus.java:217)
>> at org.scijava.event.DefaultEventBus.publishLater(
>> DefaultEventBus.java:105)
>> at org.scijava.event.DefaultEventService.publishLater(
>> DefaultEventService.java:111)
>> at org.scijava.app.DefaultStatusService.publish(
>> DefaultStatusService.java:112)
>> at org.scijava.app.DefaultStatusService.showStatus(
>> DefaultStatusService.java:73)
>> at net.imagej.minmax.DefaultMinMaxMethod.report(
>> DefaultMinMaxMethod.java:301)
>> at net.imagej.minmax.DefaultMinMaxMethod.compute(
>> DefaultMinMaxMethod.java:234)
>> at net.imagej.minmax.DefaultMinMaxMethod$1.run(
>> DefaultMinMaxMethod.java:180)
>> at java.lang.Thread.run(Thread.java:695)
>> Exception in thread "SciJava-111bda67-Thread-2201"
>> java.lang.OutOfMemoryError: unable to create new native thread
>> at java.lang.Thread.start0(Native Method)
>> at java.lang.Thread.start(Thread.java:673)
>> at java.util.concurrent.ThreadPoolExecutor.addThread(
>> ThreadPoolExecutor.java:681)
>> at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(
>> ThreadPoolExecutor.java:727)
>> at java.util.concurrent.ThreadPoolExecutor.execute(
>> ThreadPoolExecutor.java:655)
>> at java.util.concurrent.AbstractExecutorService.submit(
>> AbstractExecutorService.java:78)
>> at org.scijava.thread.DefaultThreadService.run(
>> DefaultThreadService.java:80)
>> at org.scijava.event.DefaultEventBus.publishLater(
>> DefaultEventBus.java:217)
>> at org.scijava.event.DefaultEventBus.publishLater(
>> DefaultEventBus.java:105)
>> at org.scijava.event.DefaultEventService.publishLater(
>> DefaultEventService.java:111)
>> at org.scijava.app.DefaultStatusService.publish(
>> DefaultStatusService.java:112)
>> at org.scijava.app.DefaultStatusService.showStatus(
>> DefaultStatusService.java:73)
>> at net.imagej.minmax.DefaultMinMaxMethod.report(
>> DefaultMinMaxMethod.java:301)
>> at net.imagej.minmax.DefaultMinMaxMethod.compute(
>> DefaultMinMaxMethod.java:234)
>> at net.imagej.minmax.DefaultMinMaxMethod$1.run(
>> DefaultMinMaxMethod.java:180)
>> at java.lang.Thread.run(Thread.java:695)
>> Exception in thread "SciJava-111bda67-Thread-2202"
>> java.lang.OutOfMemoryError: unable to create new native thread
>> at java.lang.Thread.start0(Native Method)
>> at java.lang.Thread.start(Thread.java:673)
>> at java.util.concurrent.ThreadPoolExecutor.addThread(
>> ThreadPoolExecutor.java:681)
>> at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(
>> ThreadPoolExecutor.java:727)
>> at java.util.concurrent.ThreadPoolExecutor.execute(
>> ThreadPoolExecutor.java:655)
>> at java.util.concurrent.AbstractExecutorService.submit(
>> AbstractExecutorService.java:78)
>> at org.scijava.thread.DefaultThreadService.run(
>> DefaultThreadService.java:80)
>> at org.scijava.event.DefaultEventBus.publishLater(
>> DefaultEventBus.java:217)
>> at org.scijava.event.DefaultEventBus.publishLater(
>> DefaultEventBus.java:105)
>> at org.scijava.event.DefaultEventService.publishLater(
>> DefaultEventService.java:111)
>> at org.scijava.app.DefaultStatusService.publish(
>> DefaultStatusService.java:112)
>> at org.scijava.app.DefaultStatusService.showStatus(
>> DefaultStatusService.java:73)
>> at net.imagej.minmax.DefaultMinMaxMethod.report(
>> DefaultMinMaxMethod.java:301)
>> at net.imagej.minmax.DefaultMinMaxMethod.compute(
>> DefaultMinMaxMethod.java:234)
>> at net.imagej.minmax.DefaultMinMaxMethod$1.run(
>> DefaultMinMaxMethod.java:180)
>> at java.lang.Thread.run(Thread.java:695)
>> Exception in thread "SciJava-111bda67-Thread-2200"
>> java.lang.OutOfMemoryError: unable to create new native thread
>> at java.lang.Thread.start0(Native Method)
>> at java.lang.Thread.start(Thread.java:673)
>> at java.util.concurrent.ThreadPoolExecutor.addThread(
>> ThreadPoolExecutor.java:681)
>> at java.util.concurrent.ThreadPoolExecutor.addIfUnderMaximumPoolSize(
>> ThreadPoolExecutor.java:727)
>> at java.util.concurrent.ThreadPoolExecutor.execute(
>> ThreadPoolExecutor.java:655)
>> at java.util.concurrent.AbstractExecutorService.submit(
>> AbstractExecutorService.java:78)
>> at org.scijava.thread.DefaultThreadService.run(
>> DefaultThreadService.java:80)
>> at org.scijava.event.DefaultEventBus.publishLater(
>> DefaultEventBus.java:217)
>> at org.scijava.event.DefaultEventBus.publishLater(
>> DefaultEventBus.java:105)
>> at org.scijava.event.DefaultEventService.publishLater(
>> DefaultEventService.java:111)
>> at org.scijava.app.DefaultStatusService.publish(
>> DefaultStatusService.java:112)
>> at org.scijava.app.DefaultStatusService.showStatus(
>> DefaultStatusService.java:73)
>> at net.imagej.minmax.DefaultMinMaxMethod.report(
>> DefaultMinMaxMethod.java:301)
>> at net.imagej.minmax.DefaultMinMaxMethod.compute(
>> DefaultMinMaxMethod.java:234)
>> at net.imagej.minmax.DefaultMinMaxMethod$1.run(
>> DefaultMinMaxMethod.java:180)
>> at java.lang.Thread.run(Thread.java:695)
>>
>> --
>> Benoit Lombardot
>> Bio-Image informatics, Scientific Computing Facility
>> Max Planck Institute CBG
>> Pfotenhauer Str. 108, 01307 Dresden
>>
>>
>> --
>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
Benoit Lombardot
Bio-Image informatics, Scientific Computing Facility

Max Planck Institute CBG
Pfotenhauer Str. 108, 01307 Dresden
room: 106 (s)
phone: +49 351 210 2544
fax:   +49 351 210 1689

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