Task #11561 (new)
Opened 11 years ago
Last modified 9 years ago
Python servers hang at startup when Ice.Trace is enabled
Reported by: | spli | Owned by: | spli |
---|---|---|---|
Priority: | minor | Milestone: | Unscheduled |
Component: | OmeroPy | Version: | 4.4.9 |
Keywords: | BACKPORT-4.4 | Cc: | python-team |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description
In an attempt to debug #8266 I wanted to enable Ice network tracing:
Add
<property name="Ice.Trace.Protocol" value="1"/> <property name="Ice.Trace.Network" value="3"/>
to the <properties id="PythonServer"> section of etc/grid/templates.xml, and
<property name="Ice.StdErr" value="${OMERO_LOGS}${server}-ice.err"/> <property name="Ice.StdOut" value="${OMERO_LOGS}${server}-ice.out"/>
to the <server-template id="ProcessorTemplate"> section.
The Processor server will fail to start on Debian 7 (Ice 3.4), but it does start on Mac OS X. I've added additional logging
def tmp_log(msg): with open('tmp.log', 'a') as f: f.write(msg + '\n')
to
lib/python/omero/util/__init__.py
lib/python/omero/processor.py
/usr/lib/pymodules/python2.7/Ice.py
and it appears to hang in the call to IcePy.Communicator in Ice.py initialize():
def initialize(args=None, data=None): communicator = IcePy.Communicator(args, data) return CommunicatorI(communicator)
IcePy is a C++ python extension ...
Change History (4)
comment:1 Changed 11 years ago by spli
comment:2 Changed 11 years ago by spli
More Ice Python debugging errors noted by Josh:
http://www.zeroc.com/forums/help-center/1627-debugging-python.html
comment:3 Changed 10 years ago by spli
- Milestone changed from 5.1.0 to 5.x
comment:4 Changed 9 years ago by jamoore
- Milestone changed from 5.x to Unscheduled
After adding some quick and dirty additional logging to the C++ libraries:
it looks like it hangs in
and that's as far as I've got.
Note these files are auto-generated as part of the zeroc-ice 3.4 build process. <<<<<<<< indicates the last good log message (i.e. I think it hangs in the following line).
Initialize.cpp
Instance.cpp
Instance.cpp
Locator.cpp
Outgoing.cpp