Summary
This article discusses a benign error reported during the OpsCenter server startup.
Applies to
- OpsCenter 6.5.0 or newer
Symptoms
When starting the OpsCenter service, the following error appears in the startup.log
:
02:04:49 [opscenterd] INFO: Opscenterd starting up... 02:04:51 [opscenterd] CRITICAL: Unhandled Error Traceback (most recent call last): File "/usr/share/opscenter/lib/py/twisted/python/usage.py", line 411, in fn = lambda name, value, m=method: m(value) File "/usr/share/opscenter/lib/py/twisted/application/app.py", line 486, in opt_reactor installReactor(shortName) File "/usr/share/opscenter/lib/py/twisted/application/reactors.py", line 80, in installReactor for installer in getReactorTypes(): File "/usr/share/opscenter/lib/py/twisted/plugin.py", line 213, in getPlugins allDropins = getCache(package) --- --- File "/usr/share/opscenter/lib/py/twisted/plugin.py", line 171, in getCache provider = pluginModule.load() File "/usr/share/opscenter/lib/py/twisted/python/modules.py", line 394, in load return self.pathEntry.pythonPath.moduleLoader(self.name) File "/usr/share/opscenter/lib/py/twisted/python/reflect.py", line 303, in namedAny topLevelPackage = _importAndCheckStack(trialname) File "/usr/share/opscenter/lib/py/twisted/python/reflect.py", line 303, in namedAny topLevelPackage = _importAndCheckStack(trialname) File "/usr/share/opscenter/lib/py/twisted/python/reflect.py", line 242, in _importAndCheckStack return __import__(importName) File "/usr/share/opscenter/lib/py/twisted/python/reflect.py", line 242, in _importAndCheckStack return __import__(importName) File "/usr/share/opscenter/lib/py/twisted/plugins/cred_sshkeys.py", line 23, in from twisted.conch.checkers import ( File "/usr/share/opscenter/lib/py/twisted/plugins/cred_sshkeys.py", line 23, in from twisted.conch.checkers import ( File "/usr/share/opscenter/lib/py/twisted/conch/checkers.py", line 15, in import crypt File "/usr/share/opscenter/lib/jvm/jython-standalone-2.7.0.11.jar/Lib/crypt.py", line 6, in exceptions.TypeError: getPOSIX(): 1st arg can't be coerced to jnr.posix.POSIXHandler
Cause
A change to the "shading" of the JNR packages in OpsCenter has resulted in the libraries to not be in the expected place and cannot be located on startup. Twisted modules load the libraries on startup and generate the TypeError
.
Solution
Despite being marked as CRITICAL
in the logs, the error is benign and OpsCenter eventually starts up successfully without impact to its operation so the error can be safely ignored. An improvement to the way the shading is handled will be implemented in a future release of OpsCenter (OPSC-14912).