[ome-devel] Freezes when reading data from OMERO using the API

Josh Moore josh at glencoesoftware.com
Wed Apr 13 15:15:24 BST 2011


On Apr 13, 2011, at 4:02 PM, Vanni Galli wrote:

> I tried to run the LoaderThread several times, so I'm sure is only calling the Gateway.getPlane() method, which now calls also service.close(). No other unclosed services should be called.
> 
> Unfortunately I still have the same problems, I'm loading an image with 200 frames and this is what happens:
> - the loading works fine for the first 5-6 times
> - the loading starts to freeze randomly for some seconds
> - the loading starts to be really really slow, with a couple of freezes of 1-3 minutes
> - omero crashes

How large is each frame that's being returned? Are you getting OutOfMemory or "too many open file" messages in your Blitz-0.log (since the last restart)? Would you mind sending just Blitz-0.log again since you've run your reduced LoaderThread test?

Cheers,
~Josh.



> -- 
> 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 3:35 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
> 
> 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