[Zope-DB] DCOracle2-Error ORA-24370: illegal piecewise operation attempted

jagarrido at emergya.info jagarrido at emergya.info
Thu Jun 29 15:34:19 EDT 2006


Hello everybody.

I installed a Oracle 8i client in Ubuntu Dapper machine(where zope
resides) and DCOracle2 product.

When run Zope, it shows this:

File "/home/jagarrido/Zope/DMR/lib/python/Zope2/__init__.py", line 47, in
startup
    _startup()
  File "/home/jagarrido/Zope/DMR/lib/python/Zope2/App/startup.py", line
64, in startup
    DB = ZODB.DB(storage)
  File "/home/jagarrido/Zope/DMR/lib/python/ZODB/DB.py", line 239, in
__init__
    storage.load(z64,'')
  File "/home/jagarrido/Zope/DMR/lib/python/DCOracleStorage/Full.py", line
250, in load
    s, c = self._call('load', (z_oid, version), 'pickle')
  File "/home/jagarrido/Zope/DMR/lib/python/DCOracleStorage/Full.py", line
201, in _call
    return apply(getattr(self, name), args+(c,))
  File "/home/jagarrido/Zope/DMR/lib/python/DCOracle2/DCOracle2.py", line
1492, in __call__
    cursor.execute(sql,__plist=args)
  File "/home/jagarrido/Zope/DMR/lib/python/DCOracle2/DCOracle2.py", line
973, in execute
    result = self._cursor.execute()
dco2.DatabaseError: (24370, 'ORA-24370: illegal piecewise operation
attempted')

I have investigated for it, and it is showed because I'd fix datatype long
raw for ZODB_PICKLE table(z_pickle column) to OCI_ONE_PIECE in DCOracle2
Product.



At compilation time(DCOracle2), show this warnigns:
(cd src; \
        ./testora python2.3)
Checking ORACLE_HOME...passed.
Checking for Oracle version...Oracle 8i found.
(cd src; \
        cp -p Setup.in Setup )
(cd src; \
        make -f Makefile.pre.in boot PYTHON=python2.3 || ./setuperrors; \
        make dummy || ./setuperrors)
make[1]: se ingresa al directorio `/home/jagarrido/DCOracle2/src'
rm -f *.o *~
rm -f *.a tags TAGS config.c Makefile.pre python sedscript
rm -f *.so *.sl so_locations
VERSION=`python2.3 -c "import sys; print sys.version[:3]"`; \
        installdir=`python2.3 -c "import sys; print sys.prefix"`; \
        exec_installdir=`python2.3 -c "import sys; print sys.exec_prefix"`; \
        make -f ./Makefile.pre.in VPATH=. srcdir=. \
                VERSION=$VERSION \
                installdir=$installdir \
                exec_installdir=$exec_installdir \
                Makefile
make[2]: se ingresa al directorio `/home/jagarrido/DCOracle2/src'
sed -n \
         -e '1s/.*/1i\\/p' \
         -e '2s%.*%# Generated automatically from Makefile.pre.in by
sedscript.%p' \
         -e '/^VERSION=/s/^VERSION=[    ]*\(.*\)/s%@VERSION[@]%\1%/p' \
         -e '/^CC=/s/^CC=[      ]*\(.*\)/s%@CC[@]%\1%/p' \
         -e '/^CCC=/s/^CCC=[    ]*\(.*\)/s%#@SET_CCC[@]%CCC=\1%/p' \
         -e '/^LINKCC=/s/^LINKCC=[      ]*\(.*\)/s%@LINKCC[@]%\1%/p' \
         -e '/^OPT=/s/^OPT=[    ]*\(.*\)/s%@OPT[@]%\1%/p' \
         -e '/^LDFLAGS=/s/^LDFLAGS=[    ]*\(.*\)/s%@LDFLAGS[@]%\1%/p' \
         -e '/^DEFS=/s/^DEFS=[  ]*\(.*\)/s%@DEFS[@]%\1%/p' \
         -e '/^LIBS=/s/^LIBS=[  ]*\(.*\)/s%@LIBS[@]%\1%/p' \
         -e '/^LIBM=/s/^LIBM=[  ]*\(.*\)/s%@LIBM[@]%\1%/p' \
         -e '/^LIBC=/s/^LIBC=[  ]*\(.*\)/s%@LIBC[@]%\1%/p' \
         -e '/^RANLIB=/s/^RANLIB=[      ]*\(.*\)/s%@RANLIB[@]%\1%/p' \
         -e '/^MACHDEP=/s/^MACHDEP=[    ]*\(.*\)/s%@MACHDEP[@]%\1%/p' \
         -e '/^SO=/s/^SO=[      ]*\(.*\)/s%@SO[@]%\1%/p' \
         -e '/^LDSHARED=/s/^LDSHARED=[  ]*\(.*\)/s%@LDSHARED[@]%\1%/p' \
         -e '/^CCSHARED=/s/^CCSHARED=[  ]*\(.*\)/s%@CCSHARED[@]%\1%/p' \
         -e '/^LINKFORSHARED=/s/^LINKFORSHARED=[       
]*\(.*\)/s%@LINKFORSHARED[@]%\1%/p' \
         -e '/^prefix=/s/^prefix=\(.*\)/s%^prefix=.*%prefix=\1%/p' \
         -e
'/^exec_prefix=/s/^exec_prefix=\(.*\)/s%^exec_prefix=.*%exec_prefix=\1%/p'
\
         /usr/lib/python2.3/config/Makefile >sedscript
echo "/^#@SET_CCC@/d" >>sedscript
echo "/^installdir=/s%=.*%=     /usr%" >>sedscript
echo "/^exec_installdir=/s%=.*%=/usr%" >>sedscript
echo "/^srcdir=/s%=.*%=         .%" >>sedscript
echo "/^VPATH=/s%=.*%=          .%" >>sedscript
echo "/^LINKPATH=/s%=.*%=       %" >>sedscript
echo "/^BASELIB=/s%=.*%=        %" >>sedscript
echo "/^BASESETUP=/s%=.*%=      %" >>sedscript
sed -f sedscript ./Makefile.pre.in >Makefile.pre
/usr/lib/python2.3/config/makesetup \
                 -m Makefile.pre -c /usr/lib/python2.3/config/config.c.in
Setup -n  /usr/lib/python2.3/config/Setup
make -f Makefile do-it-again
make[3]: se ingresa al directorio `/home/jagarrido/DCOracle2/src'
/usr/lib/python2.3/config/makesetup \
                 -m Makefile.pre -c /usr/lib/python2.3/config/config.c.in
Setup -n  /usr/lib/python2.3/config/Setup
make[3]: se sale del directorio `/home/jagarrido/DCOracle2/src'
make[2]: se sale del directorio `/home/jagarrido/DCOracle2/src'
make[1]: se sale del directorio `/home/jagarrido/DCOracle2/src'
make[1]: se ingresa al directorio `/home/jagarrido/DCOracle2/src'
make[1]: `dummy' está actualizado.
make[1]: se sale del directorio `/home/jagarrido/DCOracle2/src'
( cd src; \
        make || ./builderrors)
make[1]: se ingresa al directorio `/home/jagarrido/DCOracle2/src'
gcc -pthread -fPIC -DNDEBUG -g -O3 -Wall -Wstrict-prototypes
-I/usr/include/python2.3 -I/usr/include/python2.3 @DEFS@  
-I/oratemp/app/rdbms/demo -I/oratemp/app/network/public
-I/oratemp/app/plsql/public -I/oratemp/app/rdbms/public -DORACLE8i
-DUSEOWNXID -c ././dco2.c -o ./dco2.o
gcc: @DEFS@: No existe el fichero ó directorio
In file included from /oratemp/app/rdbms/demo/oci.h:1648,
                 from ././dco2.c:109:
/oratemp/app/rdbms/demo/oci1.h:148: aviso: la declaración de la función no
es un prototipo
In file included from /oratemp/app/rdbms/demo/oci.h:1673,
                 from ././dco2.c:109:
/oratemp/app/rdbms/demo/ociap.h:6271: aviso: la declaración de la función
no es un prototipo
/oratemp/app/rdbms/demo/ociap.h:8753: aviso: la declaración de la función
no es un prototipo
/oratemp/app/rdbms/demo/ociap.h:8759: aviso: la declaración de la función
no es un prototipo
En el fichero incluído de /usr/include/python2.3/Python.h:8,
                 de ././dco2.c:125:
/usr/include/python2.3/pyconfig.h:853:1: aviso: se redefinió
"_POSIX_C_SOURCE"
En el fichero incluído de /usr/include/stdio.h:28,
                 de ././dco2.c:92:
/usr/include/features.h:190:1: aviso: esta es la ubicación de la
definición previa
././dco2.c: En la función 'RaiseOCIError1':
././dco2.c:1418: aviso: el puntero que apunta en el paso del argumento 1
de 'strlen' difiere en signo
././dco2.c: En la función 'Connect':
././dco2.c:1579: aviso: el puntero que apunta en el paso del argumento 3
de 'OCIServerAttach' difiere en signo
././dco2.c: En la función 'ServerContext_dealloc':
././dco2.c:1725: aviso: el puntero que apunta en el paso del argumento 4
de 'OCIErrorGet' difiere en signo
././dco2.c:1725: aviso: el puntero que apunta en el paso del argumento 5
de 'OCIErrorGet' difiere en signo
././dco2.c:1743: aviso: el puntero que apunta en el paso del argumento 4
de 'OCIErrorGet' difiere en signo
././dco2.c:1743: aviso: el puntero que apunta en el paso del argumento 5
de 'OCIErrorGet' difiere en signo
././dco2.c: En la función 'ServerContext_describe':
././dco2.c:2322: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto
././dco2.c: En la función 'Cursor_prepare':
././dco2.c:2659: aviso: el puntero que apunta en el paso del argumento 3
de 'OCIStmtPrepare' difiere en signo
././dco2.c: En la función 'Cursor_bind':
././dco2.c:3263: aviso: el puntero que apunta en el paso del argumento 4
de 'OCIBindByName' difiere en signo
././dco2.c: En la función 'Cursor_getdesc':
././dco2.c:3421: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto
././dco2.c:3433: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto
././dco2.c:3495: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto
././dco2.c: En la función 'LobLocator_read':
././dco2.c:5004: aviso: el puntero que apunta en el paso del argumento 2
de '_LobLocator_length' difiere en signo
././dco2.c: En la función 'OracleDate_alloc':
././dco2.c:5694: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto
././dco2.c: En la función 'BindingArray_alloc':
././dco2.c:6066: aviso: el puntero que apunta en la asignación difiere en
signo
././dco2.c: En la función 'BindingArray_realloc':
././dco2.c:6109: aviso: el puntero que apunta en la asignación difiere en
signo
././dco2.c: En la función 'trace':
././dco2.c:7500: aviso: el puntero que apunta en la devolución difiere en
signo
././dco2.c: En la función 'initdco2':
././dco2.c:7825: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto
././dco2.c:7829: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto
././dco2.c:7833: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto
././dco2.c:7837: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto
././dco2.c:7841: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto
././dco2.c:7845: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto
././dco2.c:7849: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto
././dco2.c:7853: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto
././dco2.c:7857: aviso: la dereferencia de punteros de tipo castigado
romperá las reglas de alias estricto


Suggestions to resolve?
Thanks for all


More information about the Zope-DB mailing list