[ome-devel] Freezes when reading data from OMERO using the API
Josh Moore
josh at glencoesoftware.com
Wed Apr 13 14:35:43 BST 2011
Thanks for the logs, Vanni.
Due to the unclosed services you were running into this:
Caused by: java.net.SocketException: Too many open files
at java.net.Socket.createImpl(Socket.java:397)
at java.net.Socket.<init>(Socket.java:371)
at java.net.Socket.<init>(Socket.java:189)
at org.postgresql.core.PGStream.<init>(PGStream.java:62)
at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:77)
Once that happens, your server is in a lot of trouble. Had you restarted after changing your code to include service.close()?
Looking briefly over your code, the RenderingEnginePrx used in ReviewFrame.viewImage:
if (image.getId() == imageID)
{
RenderingEnginePrx engine = gateway.loadRenderingControl(image.getDefaultPixels().getId());
jPanelViewer.setRenderingControl(image, engine, gateway);
setTitle(TITLE + " - " + StringHelper.getImageName(image.getName()));
is also a stateful service and will need to be closed. If you could make that change, restart your server and try again, that'd be great.
Cheers,
~Josh.
On Apr 13, 2011, at 2:39 PM, Vanni Galli wrote:
> I will send to you the logs and the OMERO part of my Java code.
>
> In any case I have noticed that in the Blitz-0.log file this error appear several times:
>
> 2011-04-13 14:21:32,706 ERROR [ ome.services.blitz.impl.ServiceFactoryI] (l.Server-0) Error destroying servant: fe:80:0:0:0:0:0:0:58:41:db:ff:fe:2e:b9:64:271d9c5f:12f25f4ad70:-7d7aomero.api.RawPixelsStore=ome.services.blitz.impl.RawPixelsStoreI at 6411a446
> java.lang.RuntimeException: omero.InternalException
>
> Thanks again!
>
>
>
> --
> Scuola Universitaria Professionale della Svizzera Italiana
> Dipartimento Tecnologie Innovative
> Istituto Sistemi Informativi e Networking
>
> Vanni Galli
> Ricercatore
>
> Galleria 2
> CH - 6928 Manno
>
> T +41 (0)58 666 65 92
> vanni.galli at supsi.ch
> www.supsi.ch/dti
> -----Original Message----- From: Josh Moore
> Sent: Wednesday, April 13, 2011 2:31 PM
> To: Vanni Galli
> Cc: ome-devel at lists.openmicroscopy.org.uk ; Caterina Strambio De Castillia
> Subject: Re: [ome-devel] Freezes when reading data from OMERO using the API
>
>
> On Apr 13, 2011, at 2:21 PM, Vanni Galli wrote:
>> Hi Josh,
>>
>> I have added service.close() to the getPlane() method, but unfortunately the issue is not solved.
>
> Thanks, Vanni. Sorry that that didn't solve the whole issue. Could you send the contents of the var/log directory zipped (optionally off list) and perhaps more of your use of the OMERO API, like any other methods from Gateway.java that you may be using?
>
>> I runned the code several times. For the first times the images were correctly loaded, then the loading started to freeze for a couple of seconds, and then more and more. The last test was completely frozen and made OMERO to stop running (this behaviour is new to me), so I had to stop and restart OMERO.
>> It seems that reading bytes from my OMERO installation makes it more and more unstable, until the complete stop of the application.
>>
>> Thanks for your help!
>
> Gladly,
> ~Josh.
>
>> Best,
>> Vanni
>>
>>
>> -----Original Message----- From: Josh Moore
>> Sent: Wednesday, April 13, 2011 1:43 PM
>> To: Vanni Galli
>> Cc: ome-devel at lists.openmicroscopy.org.uk ; Caterina Strambio De Castillia
>> Subject: Re: [ome-devel] Freezes when reading data from OMERO using the API
>>
>>
>> On Apr 13, 2011, at 12:19 PM, Vanni Galli wrote:
>>
>>> Dear All,
>>
>> Hi Vanni,
>>
>>> I have an OMERO installation on a virtual machine.
>>>
>>> For the project I’m working on (the OMEGA project), I’m reading the images stored in OMERO using the API (in Java) and the Gateway.class present at http://trac.openmicroscopy.org.uk/ome/browser/insight/trunk/TEST/org/openmicroscopy/shoola/examples/data/Gateway.java?rev=7855.
>>>
>>> For a specific image I select a channel and a “Z” and I load the bytes for each “T”:
>>>
>>> for (int i = 0; i < framesNumber; i++)
>>> {
>>> try
>>> {
>>> byte[] pixels = gateway.getPlane(pixelsID, 1, i, 1);
>>> // send image to my algorithm
>>> }
>>> ...
>>>
>>> My code is working and I’m able to correct read the bytes. The problem is that the reading of the images sometimes freeze, in a completely random way.
>>>
>>> Most of the time the loading works perfectly and in a few seconds I’m able to load all the images, but sometimes (I would say around the 10% of the times) the loading freeze for several seconds or minutes and then it restart. At the end of the loading the byte are correctly loaded, but with this freeze in the middle.
>>>
>>> I have experienced this behavior also using OMERO.insight (on the same virtual machine): sometimes when I use the sliders (for the Z or T) the program freeze for some seconds.
>>>
>>> Is this problem related to OMERO? Or am I using the API in a wrong way?
>>
>> This is an issue of the test code (which is never very long running) leaking server memory:
>> http://trac.openmicroscopy.org.uk/ome/ticket/4953
>>
>> I've committed a fix here:
>> http://git.openmicroscopy.org/?p=ome.git;a=commit;h=57970aba45367b5ecf4b3a78ccef14e104e838ad
>>
>> Just fyi, any of the services which are returned by a method starting with "create" on ServiceFactoryPrx (or any instance of omero.api.StatefulServiceInterfacePrx) should have the close() method called on it when you are done.
>>
>> If you could give that a try and let us know how things go, that'd be great.
>>
>> Cheers,
>> ~Josh
>>
>>> Thank you very much for you help!
>>>
>>>
>>> These are the details about my virtual machine:
>>>
>>> Linux isin09 2.6.18-194.17.1.el5xen #1 SMP Wed Sep 29 13:30:21 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
>>> CentOS release 5.5 (Final)
>>>
>>> memory:
>>> total used free shared buffers cached
>>> Mem: 512 475 36 0 7 59
>>> -/+ buffers/cache: 408 103
>>> Swap: 1192 605 586
>>>
>>> disk space:
>>> Filesystem 1K-blocks Used Available Use% Mounted on
>>> /dev/xvda1 6940484 4174552 2407688 64% /
>>> /dev/xvda3 20641788 5621160 13971988 29% /home
>>> tmpfs 262144 0 262144 0% /dev/shm
>>>
>>>
>>> --
>>> Scuola Universitaria Professionale della Svizzera Italiana
>>> Dipartimento Tecnologie Innovative
>>> Istituto Sistemi Informativi e Networking
>>>
>>> Vanni Galli
>>> Ricercatore
>>>
>>> Galleria 2
>>> CH - 6928 Manno
>>>
>>> T +41 (0)58 666 65 92
>>> vanni.galli at supsi.ch
>>> www.supsi.ch/dti_______________________________________________
>>>
>>
>
More information about the ome-devel
mailing list