Porting omniORB python to OpenVMS

bvisscher at my-deja.com bvisscher at my-deja.com
Tue Feb 1 18:55:05 EST 2000
Hello,

I have been attempting to port the omniORB python CORBA mapping
(omniORBpy) to OpenVMS and I think I need some help.

I have been using Uwe Zessin's excellent port of python for OpenVMS
(version 1.5.2-V005).  Good job!

I have made some source code changes for OpenVMS version 7.1 and for
threading support.  For example, I have managed to get popen working
(the VMS RTL call is idiosyncratic).  I modified the LINK line to
include /thread=(multi, upcall) since I will need good thread support
for omniORB.

OmniORBpy requires both embedding (for the IDL compiler) and extending
(for the python callable interface).

Embedding works.  Extending doesn't :-(.

To extend, I follow the directions on the OpenVMS python website and
modify config.dat by adding the following line:

_omnipy            init_omnipy        D omnilib:omni_share.olb/library

just before:

!: -- ADDMODULE MARKER 2 -- */

I then execute the necessary command procedures.  The resulting python
interpreter works fine until I try to import the _omnipy module.  When I
do that I get:

python -v exampleserver.py
[...]
import StringIO # precompiled from
/PYVMS_DISK/PYTHON/PYTHON-1_5_2/LIB/StringIO.
pyc
import _omnipy # builtin
Fatal Python error: PyThreadState_Get: no current thread
%SYSTEM-F-OPCCUS, opcode reserved to customer fault at
PC=FFFFFFFF809D25A8, PS=0
000001B
%TRACE-F-TRACEBACK, symbolic stack dump follows
  image    module    routine             line      rel PC           abs
PC
                                            0 FFFFFFFF809D25A8
FFFFFFFF809D25A8
                                            0 FFFFFFFF8093E568
FFFFFFFF8093E568
 _OMNIPYMODULE_0_2                          0 00000000000CC068
000000000055E068
 _OMNIPYMODULE_0_2                          0 00000000000CDC00
000000000055FC00
 _OMNIPYMODULE_0_2                          0 00000000000B0110
0000000000542110
 _OMNIPYMODULE_0_2                          0 00000000000B0A40
0000000000542A40
 _OMNIPYMODULE_0_2                          0 00000000000CF050
0000000000561050
 _OMNIPYMODULE_0_2  OMNIPY  init_omnipy
                                        30016 00000000000041B8
000000000062AB08
 PYTHON_ALPHA                               0 0000000000082348
0000000000092348
 PYTHON_ALPHA                               0 0000000000082144
0000000000092144
[...]

Any help would be greatly appreciated.  (I have seen something similar
when I was doing something silly.  The code in question was (I think)
running before main started.  Not the case here.)

(Apologies to anyone not interested in this.  I hope Uwe reads this!)

Thanks in advance,

Bruce Visscher


Sent via Deja.com http://www.deja.com/
Before you buy.



More information about the Python-list mailing list