Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the DBD-Oracle CPAN distribution.

Report information
The Basics
Id: 42842
Status: resolved
Priority: 0/
Queue: DBD-Oracle

People
Owner: Nobody in particular
Requestors: david [...] acz.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 1.22
Fixed in: (no value)



Subject: Test 31lob fails with 64-bit Instant Client
OS: SUSE Linux Enterprise Server 10 (x86_64) SP2 Perl: v5.8.8 built for x86_64-linux-thread-multi (standard SLES RPM 5.8.8-14.7) DBI: 1.607 (source install using cpan2rpm) DBD-Oracle: 1.22 Client: Instant Client 11.1.0.7.0 installed from RPMs Server: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production # perl Makefile.PL ... Reading /usr/share/oracle/11.1/client64/demo.mk WARNING: Oracle /usr/share/oracle/11.1/client64/demo.mk doesn't define a 'build' rule. WARNING: I will now try to guess how to build and link DBD::Oracle for you. ... cc -c -I/usr/include/oracle/11.1/client64 - I/usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/DBI - D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict- aliasing -pipe -Wdeclaration-after-statement -D_LARGEFILE_SOURCE - D_FILE_OFFSET_BITS=64 -O2 -fmessage-length=0 -Wall -D_FORTIFY_SOURCE=2 - g -Wall -pipe -DVERSION=\"1.22\" -DXS_VERSION=\"1.22\" -fPIC "- I/usr/lib/perl5/5.8.8/x86_64-linux-thread-multi/CORE" -Wall -Wno- comment -DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"11.1.0.7\" dbdimp.c ... dbdimp.c: In function ‘createxmlfromstring’: dbdimp.c:1077: warning: passing argument 4 of ‘OCILobWriteAppend’ from incompatible pointer type ... # ORACLE_USERID=(elided) make test ... DBD::Oracle::st execute failed: ORA-24813: cannot send or receive an unsupported LOB (DBD ERROR: OCIStmtExecute) [for Statement "BEGIN ? := DBMS_LOB.GETLENGTH( ? ); END;" with ParamValues: :p1=undef, :p2=OCILobLocatorPtr=SCALAR(0xa87860)] at t/31lob.t line 111. ... 4 tests and 124 subtests skipped. Failed 1/29 test scripts, 96.55% okay. 4/2090 subtests failed, 99.81% okay.
It think this is just a permission problem. Try running the make test as a user with full 'system' privilages and post the full results of the make test here.
This is a settings issue between you 11 client and you 10 db here is the poop from oracle <em> Cause: An attempt was made to send a LOB across the network, but either the server does not support the LOB sent by the client, or the client does not support the LOB sent by the server. This error usually occurs when the client and server are running different versions of Oracle. Action: Use a version of the Oracle that supports the LOB on both the client and the server. </em>
We are not using two different versions but we still receive this error when we run the test suite. We're using Oracle 11g (11.1.0.7.0) 64bit with the identical client. Here's the test output and I'm attaching the build.log. PERL_DL_NONLAZY=1 /opt/perl/perls/perl-5.12.2/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t # Test loading DBI, DBD::Oracle and version t/01base.t .............. ok t/10general.t ........... ok t/12impdata.t ........... ok t/14threads.t ........... ok t/15nls.t ............... ok t/20select.t ............ ok t/21nchar.t ............. ok t/22nchar_al32utf8.t .... ok t/22nchar_utf8.t ........ ok t/23wide_db.t ........... skipped: Database character set is not Unicode t/23wide_db_8bit.t ...... skipped: Database character set is not Unicode t/23wide_db_al32utf8.t .. skipped: Database character set is not Unicode t/24implicit_utf8.t ..... ok t/25plsql.t ............. ok t/26exe_array.t ......... ok t/28array_bind.t ........ ok t/30long.t .............. ok DBD::Oracle::st execute failed: ORA-24813: cannot send or receive an unsupported LOB (DBD ERROR: OCIStmtExecute) [for Statement "BEGIN ? := DBMS_LOB.GETLENGTH( ? ); END;" with ParamValues: :p1=undef, :p2=OCILobLocatorPtr=SCALAR(0x11885a18)] at t/31lob.t line 123. t/31lob.t ............... Dubious, test returned 1 (wstat 256, 0x100) Failed 4/11 subtests t/31lob_extended.t ...... ok t/32xmltype.t ........... ok t/34pres_lobs.t ......... ok Placeholder behaviour for ora_type=1 VARCHAR2 (the default) varies with Oracle version. Oracle 7 didn't strip trailing spaces, Oracle 8 did, until 9.2.x Your system doesn't. If that seems odd, let us know. t/40ph_type.t ........... ok t/50cursor.t ............ ok t/51scroll.t ............ ok t/55nested.t ............ ok t/56embbeded.t .......... ok t/58object.t ............ ok t/60reauth.t ............ skipped: ORACLE_USERID_2 not defined. t/70meta.t .............. ok t/80ora_charset.t ....... ok Test Summary Report ------------------- t/31lob.t (Wstat: 256 Tests: 8 Failed: 1) Failed test: 8 Non-zero exit status: 1 Parse errors: Bad plan. You planned 11 tests but ran 8. Files=30, Tests=2143, 18 wallclock secs ( 0.48 usr 0.10 sys + 7.08 cusr 0.95 csys = 8.61 CPU) Result: FAIL Failed 1/30 test programs. 1/2143 subtests failed. make: *** [test_dynamic] Error 255 -> FAIL Installing DBD::Oracle failed. See /export/home/mmusgrove/.cpanm/build.log for details. If you don't feel that this is an issue with your test case, then can you at least skip this test on Oracle 11 where it is known to not work. It's happening to more than a few people, just Google "DBD::Oracle ORA-24813" to see for yourself.
Subject: build.log
cpanm (App::cpanminus) 1.0012 on perl 5.012002 built for x86_64-linux-thread-multi Work directory is /export/home/mmusgrove/.cpanm/work/1284736354.13253 You have make /usr/bin/make You have LWP 5.836 You have /bin/tar: tar (GNU tar) 1.15.1 You have /usr/bin/unzip Searching DBD::Oracle on cpanmetadb ... Fetching http://search.cpan.org/CPAN/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.24b.tar.gz -> FAIL Download http://search.cpan.org/CPAN/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.24b.tar.gz failed. Retrying ... -> OK Unpacking DBD-Oracle-1.24b.tar.gz Entering DBD-Oracle-1.24 Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.56) Configuring DBD-Oracle-1.24 Running Makefile.PL Using DBI 1.613 (for perl 5.012002 on x86_64-linux-thread-multi) installed in /opt/perl/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux-thread-multi/auto/DBI/ Configuring DBD::Oracle for perl 5.012002 on linux (x86_64-linux-thread-multi) Remember to actually *READ* the README file! Especially if you have any problems. Installing on a linux, Ver#2.6 Using Oracle in /u01/app/oracle/product/db_1 DEFINE _SQLPLUS_RELEASE = "1101000700" (CHAR) Oracle version 11.1.0.7 (11.1) Found /u01/app/oracle/product/db_1/rdbms/lib/ins_rdbms.mk Using /u01/app/oracle/product/db_1/rdbms/lib/ins_rdbms.mk Your LD_LIBRARY_PATH env var is set to '/export/shared/lib64:/lib64:/usr/lib64:/lib:/usr/lib:/u01/app/oracle/product/db_1/lib:/export/shared/lib:/vobs/EFJ_Products/main/shared/tools/Boost/lib:/vobs/EFJ_Products/main/shared/release/lib/gcc/debug' Reading /u01/app/oracle/product/db_1/rdbms/lib/ins_rdbms.mk Reading /u01/app/oracle/product/db_1/rdbms/lib/env_rdbms.mk WARNING: Oracle /u01/app/oracle/product/db_1/rdbms/lib/ins_rdbms.mk doesn't define a 'build' rule. WARNING: I will now try to guess how to build and link DBD::Oracle for you. This kind of guess work is very error prone and Oracle-version sensitive. It is possible that it won't be supported in future versions of DBD::Oracle. *PLEASE* notify dbi-users about exactly _why_ you had to build it this way. Found header files in /u01/app/oracle/product/db_1/rdbms/public. Checking for functioning wait.ph System: perl5.012002 linux nmsdev1.efjdfw.local 2.6.18-164.el5 #1 smp thu sep 3 03:28:30 edt 2009 x86_64 x86_64 x86_64 gnulinux Compiler: cc -O2 -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 Linker: /usr/bin/ld Sysliblist: -ldl -lm -lpthread -lnsl -lirc -lipgo Oracle makefiles would have used these definitions but we override them: CC: $(COMPDIR)/bin/gcc CFLAGS: $(GFLAG) $(OPTIMIZE) $(CDEBUG) $(CCFLAGS) $(PFLAGS)\ $(SHARED_CFLAG) $(USRFLAGS) [$(GFLAG) -O3 $(CDEBUG) -m32 -trigraphs -fPIC -I/u01/app/oracle/product/db_1/rdbms/demo -I/u01/app/oracle/product/db_1/rdbms/public -I/u01/app/oracle/product/db_1/plsql/public -I/u01/app/oracle/product/db_1/network/public -DLINUX -D_GNU_SOURCE -D_LARGEFILE64_SOURCE=1 -D_LARGEFILE_SOURCE=1 -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS -D__NO_CTYPE=1 $(LPFLAGS) $(USRFLAGS)] LDFLAGS: $(LDFLAGS32) [-m32 -o $@ -L/u01/app/oracle/product/db_1/rdbms//lib32/ -L/u01/app/oracle/product/db_1/lib32/ -L/u01/app/oracle/product/db_1/lib32/stubs/] Linking with -lclntsh -ldl -lm -lpthread -lnsl -lirc -lipgo -ldl -lm -lpthread [from $(OCISHAREDLIBS)] Checking if your kit is complete... Looks good LD_RUN_PATH=/u01/app/oracle/product/db_1/lib Using DBD::Oracle 1.24. Using DBD::Oracle 1.24. Using DBI 1.613 (for perl 5.012002 on x86_64-linux-thread-multi) installed in /opt/perl/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux-thread-multi/auto/DBI/ Writing Makefile for DBD::Oracle *** If you have problems... read all the log printed above, and the README and README.help.txt files. (Of course, you have read README by now anyway, haven't you?) -> OK Finding PREREQ from Makefile ... Checking if you have DBI 1.51 ... Yes (1.613) Building and testing DBD-Oracle-1.24 for DBD::Oracle make: Warning: File `Makefile' has modification time 15 s in the future cp Oracle.pm blib/lib/DBD/Oracle.pm cp oraperl.ph blib/lib/oraperl.ph cp dbdimp.h blib/arch/auto/DBD/Oracle/dbdimp.h cp ocitrace.h blib/arch/auto/DBD/Oracle/ocitrace.h cp Oraperl.pm blib/lib/Oraperl.pm cp Oracle.h blib/arch/auto/DBD/Oracle/Oracle.h cp lib/DBD/Oracle/Object.pm blib/lib/DBD/Oracle/Object.pm cp mk.pm blib/arch/auto/DBD/Oracle/mk.pm cp lib/DBD/Oracle/GetInfo.pm blib/lib/DBD/Oracle/GetInfo.pm /opt/perl/perls/perl-5.12.2/bin/perl -p -e "s/~DRIVER~/Oracle/g" /opt/perl/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux-thread-multi/auto/DBI/Driver.xst > Oracle.xsi /opt/perl/perls/perl-5.12.2/bin/perl /opt/perl/perls/perl-5.12.2/lib/5.12.2/ExtUtils/xsubpp -typemap /opt/perl/perls/perl-5.12.2/lib/5.12.2/ExtUtils/typemap -typemap typemap Oracle.xs > Oracle.xsc && mv Oracle.xsc Oracle.c cc -c -I/u01/app/oracle/product/db_1/rdbms/public -I/u01/app/oracle/product/db_1/rdbms/demo -I/u01/app/oracle/product/db_1/rdbms/public -I/u01/app/oracle/product/db_1/plsql/public -I/u01/app/oracle/product/db_1/network/public -I/opt/perl/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.24\" -DXS_VERSION=\"1.24\" -fPIC "-I/opt/perl/perls/perl-5.12.2/lib/5.12.2/x86_64-linux-thread-multi/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"11.1.0.7\" Oracle.c cc -c -I/u01/app/oracle/product/db_1/rdbms/public -I/u01/app/oracle/product/db_1/rdbms/demo -I/u01/app/oracle/product/db_1/rdbms/public -I/u01/app/oracle/product/db_1/plsql/public -I/u01/app/oracle/product/db_1/network/public -I/opt/perl/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.24\" -DXS_VERSION=\"1.24\" -fPIC "-I/opt/perl/perls/perl-5.12.2/lib/5.12.2/x86_64-linux-thread-multi/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"11.1.0.7\" dbdimp.c cc -c -I/u01/app/oracle/product/db_1/rdbms/public -I/u01/app/oracle/product/db_1/rdbms/demo -I/u01/app/oracle/product/db_1/rdbms/public -I/u01/app/oracle/product/db_1/plsql/public -I/u01/app/oracle/product/db_1/network/public -I/opt/perl/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux-thread-multi/auto/DBI -D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"1.24\" -DXS_VERSION=\"1.24\" -fPIC "-I/opt/perl/perls/perl-5.12.2/lib/5.12.2/x86_64-linux-thread-multi/CORE" -Wall -Wno-comment -DUTF8_SUPPORT -DNEW_OCI_INIT -DORA_OCI_VERSION=\"11.1.0.7\" oci8.c Running Mkbootstrap for DBD::Oracle () chmod 644 Oracle.bs rm -f blib/arch/auto/DBD/Oracle/Oracle.so LD_RUN_PATH="/u01/app/oracle/product/db_1/lib" cc -shared -O2 -L/usr/local/lib -fstack-protector Oracle.o dbdimp.o oci8.o -o blib/arch/auto/DBD/Oracle/Oracle.so \ -L/u01/app/oracle/product/db_1/lib/ -lclntsh -ldl -lm -lpthread -lnsl -lirc -lipgo -ldl -lm -lpthread \ chmod 755 blib/arch/auto/DBD/Oracle/Oracle.so cp Oracle.bs blib/arch/auto/DBD/Oracle/Oracle.bs chmod 644 blib/arch/auto/DBD/Oracle/Oracle.bs /opt/perl/perls/perl-5.12.2/bin/perl "-Iblib/arch" "-Iblib/lib" ora_explain.PL ora_explain Extracted ora_explain from ora_explain.PL with variable substitutions. cp ora_explain blib/script/ora_explain /opt/perl/perls/perl-5.12.2/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/ora_explain Manifying blib/man1/ora_explain.1 Manifying blib/man3/DBD::Oracle.3 Manifying blib/man3/DBD::Oraperl.3 make: warning: Clock skew detected. Your build may be incomplete. make: Warning: File `Makefile' has modification time 6.5 s in the future PERL_DL_NONLAZY=1 /opt/perl/perls/perl-5.12.2/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t # Test loading DBI, DBD::Oracle and version t/01base.t .............. ok t/10general.t ........... ok t/12impdata.t ........... ok t/14threads.t ........... ok t/15nls.t ............... ok t/20select.t ............ ok t/21nchar.t ............. ok t/22nchar_al32utf8.t .... ok t/22nchar_utf8.t ........ ok t/23wide_db.t ........... skipped: Database character set is not Unicode t/23wide_db_8bit.t ...... skipped: Database character set is not Unicode t/23wide_db_al32utf8.t .. skipped: Database character set is not Unicode t/24implicit_utf8.t ..... ok t/25plsql.t ............. ok t/26exe_array.t ......... ok t/28array_bind.t ........ ok t/30long.t .............. ok DBD::Oracle::st execute failed: ORA-24813: cannot send or receive an unsupported LOB (DBD ERROR: OCIStmtExecute) [for Statement "BEGIN ? := DBMS_LOB.GETLENGTH( ? ); END;" with ParamValues: :p1=undef, :p2=OCILobLocatorPtr=SCALAR(0x11885a18)] at t/31lob.t line 123. t/31lob.t ............... Dubious, test returned 1 (wstat 256, 0x100) Failed 4/11 subtests t/31lob_extended.t ...... ok t/32xmltype.t ........... ok t/34pres_lobs.t ......... ok Placeholder behaviour for ora_type=1 VARCHAR2 (the default) varies with Oracle version. Oracle 7 didn't strip trailing spaces, Oracle 8 did, until 9.2.x Your system doesn't. If that seems odd, let us know. t/40ph_type.t ........... ok t/50cursor.t ............ ok t/51scroll.t ............ ok t/55nested.t ............ ok t/56embbeded.t .......... ok t/58object.t ............ ok t/60reauth.t ............ skipped: ORACLE_USERID_2 not defined. t/70meta.t .............. ok t/80ora_charset.t ....... ok Test Summary Report ------------------- t/31lob.t (Wstat: 256 Tests: 8 Failed: 1) Failed test: 8 Non-zero exit status: 1 Parse errors: Bad plan. You planned 11 tests but ran 8. Files=30, Tests=2143, 18 wallclock secs ( 0.48 usr 0.10 sys + 7.08 cusr 0.95 csys = 8.61 CPU) Result: FAIL Failed 1/30 test programs. 1/2143 subtests failed. make: *** [test_dynamic] Error 255 -> FAIL Installing DBD::Oracle failed. See /export/home/mmusgrove/.cpanm/build.log for details.

Message body is not shown because it is too large.

This is more flying blind stuff with the 64 bit side of things but I did manage to track down some problems bt changing a vew values to ub2 rather than ub1 I checked it into trunk which you can get here http://svn.perl.org/modules/dbd-oracle/trunk Please try it out. Cheers John