Page 1 of 1

cleanse error

PostPosted: Mon Feb 06, 2017 12:31 pm
by twegier
Dear OME community,
I set up OMERO 5.2.7, the server is running but still in testing phase, and not available to users yet.
I encounter the following error when I run cleanse script: "communicator not destroyed during global destruction" from the omero_user system account (actually I placed it in omero_user crontab). No such error when I run the script as a system root with su omero_user -c command. Here is the script:
Code: Select all
#!/bin/bash

prefix=/home/omero_user/OMERO.server

$prefix/bin/omero -s localhost -u root -w ********* admin cleanse /OMERO

I understood that cleanse has to be run as a omero root task, but it was not clear to me which system account has to be used. Can it be run safely from omero_user system account without generating this error?

General question: should I actually place all maintenance scripts in the root crontab (so far, I placed cleanse_script in omero_user crontab, database_backup_script in postgres crontab, and omero_web_clearsessions script in root crontab)? I prefer to modify individual crontabs, as this gives me more control over execution timing as simply placing in cron.daily. Is this OK?
Below is omero diagnostics output:
Code: Select all
================================================================================
OMERO Diagnostics 5.2.7-ice36-b40
================================================================================
       
Commands:   java -version                  1.7.0     (/usr/bin/java)
Commands:   python -V                      2.7.6     (/usr/bin/python)
Commands:   icegridnode --version          3.6.3     (/usr/bin/icegridnode)
Commands:   icegridadmin --version         3.6.3     (/usr/bin/icegridadmin)
Commands:   psql --version                 9.4.10    (/usr/bin/psql)

Server:     icegridnode                    running
Server:     Blitz-0                        active (pid = 31376, enabled)
Server:     DropBox                        active (pid = 31399, enabled)
Server:     FileServer                     active (pid = 31408, enabled)
Server:     Indexer-0                      active (pid = 31409, enabled)
Server:     MonitorServer                  active (pid = 31412, enabled)
Server:     OMERO.Glacier2                 active (pid = 31410, enabled)
Server:     OMERO.IceStorm                 active (pid = 31426, enabled)
Server:     PixelData-0                    active (pid = 31428, enabled)
Server:     Processor-0                    active (pid = 31433, enabled)
Server:     Tables-0                       active (pid = 31440, enabled)
Server:     TestDropBox                    inactive (enabled)

Log dir:    /home/omero_user/OMERO.server/var/log exists
Log files:  Blitz-0.log                    174.0 MB      errors=1050 warnings=387
Log files:  DropBox.log                    19.0 KB       errors=0    warnings=7   
Log files:  FileServer.log                 2.0 KB       
Log files:  Indexer-0.log                  1.0 MB       
Log files:  MonitorServer.log              10.0 KB     
Log files:  OMEROweb.lock                  0.0 KB       
Log files:  OMEROweb.log                   336.0 KB      errors=0    warnings=21 
Log files:  OMEROweb_brokenrequest.lock    0.0 KB       
Log files:  OMEROweb_brokenrequest.log     0.0 KB       
Log files:  PixelData-0.log                433.0 KB     
Log files:  Processor-0.log                3.0 MB        errors=970  warnings=4   
Log files:  Tables-0.log                   12.0 KB       errors=0    warnings=4   
Log files:  TestDropBox.log                n/a
Log files:  master.err                     6.0 KB        errors=3    warnings=2   
Log files:  master.out                     0.0 KB       
Log files:  Total size                     180.04 MB


Environment:OMERO_HOME=(unset)             
Environment:OMERO_NODE=(unset)             
Environment:OMERO_MASTER=(unset)           
Environment:OMERO_USERDIR=(unset)         
Environment:OMERO_TMPDIR=(unset)           
Environment:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Environment:PYTHONPATH=(unset)             
Environment:ICE_HOME=(unset)               
Environment:LD_LIBRARY_PATH=(unset)       
Environment:DYLD_LIBRARY_PATH=(unset)     

OMERO SSL port:4064                           
OMERO TCP port:4063                           
OMERO data dir:'/OMERO'                       Exists? True   Is writable? True
OMERO temp dir:'/home/omero_user/omero/tmp'   Exists? True   Is writable? True   (Size: 0)

JVM settings: Blitz-${index}                -Xmx2505m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions
JVM settings: Indexer-${index}              -Xmx1670m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions
JVM settings: PixelData-${index}            -Xmx2505m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions
JVM settings: Repository-${index}           -Xmx1670m -XX:MaxPermSize=1g -XX:+IgnoreUnrecognizedVMOptions

OMERO.web status... [RUNNING] (PID 31676)
Django version: 1.8.17



Best,
Tomasz

Re: cleanse error

PostPosted: Tue Feb 07, 2017 10:15 am
by jmoore
Hi Tomasz,

twegier wrote:I encounter the following error when I run cleanse script: "communicator not destroyed during global destruction" from the omero_user system account (actually I placed it in omero_user crontab). No such error when I run the script as a system root with su omero_user -c command


This has started showing up more frequently with newer version of Python and/or Ice. It's non-fatal in that it's largely reporting that the closing of a resource happened earlier than expected during shutdown.

I understood that cleanse has to be run as a omero root task, but it was not clear to me which system account has to be used.


It needs to be a system account that has write access to your data directory (i.e. /OMERO). I'd think it should *not* be the system root user.

Can it be run safely from omero_user system account without generating this error?


I can safely be run from the omero_user system account. When/where this error will be generated is still unclear.

General question: should I actually place all maintenance scripts in the root crontab (so far, I placed cleanse_script in omero_user crontab, database_backup_script in postgres crontab, and omero_web_clearsessions script in root crontab)? I prefer to modify individual crontabs, as this gives me more control over execution timing as simply placing in cron.daily. Is this OK?


Sounds perfectly reasonable.

Below is omero diagnostics output...


Other than that you may also want more memory allocated to your servers for significant production use, and the number of errors you have listed, this looks fine. (Stopping your server and deleting var/log or even var/ before shifting to production would be safe & tidy).

All the best,
~Josh

Re: cleanse error

PostPosted: Fri Apr 13, 2018 8:16 pm
by Hang
Hi I'm having the same problem. I'm using root account to upload omero scripts. What's the solution for this?

Hang

Re: cleanse error

PostPosted: Mon Apr 16, 2018 8:38 am
by wmoore
Hi Hang,

When you say you're having the "Same problem", do you mean you're seeing the "communicator not destroyed" warning when uploading scripts, or are you having other problems?
If the scripts are uploading OK, then you can ignore the warning message. As Josh says "It's non-fatal in that it's largely reporting that the closing of a resource happened earlier than expected during shutdown."

If you're having other issues with scripts uploads, you should probably describe that on a new thread, since it's probably not related to the "cleanse error" discussion.

Thanks,

Will.