I've been trying to get DBD::Oracle 1.12 working on Solaris 8, with perl 5.8.0, DBI 1.30, and Oracle 9.2.0.1 Unfortunately, the 'make test' is failing, and even if I ignore that, the same problems show up when I try to run scripts that work fine on an older environment, namely, the fetch statements return ORA-03106: fatal two-task communication protocol error (DBD ERROR: OCIStmtFetch). Also, the 'make test' routine hangs at test 55 of the plsql tests.

In order to get it to compile, with the 64 bit error, I had to change all the $ORACLE_HOME/lib and $ORACLE_HOME/rdbms/lib references to lib32 in the Makefile. I'd done this on another machine where DBD::Oracle works fine.

This is listed as an internal Oracle error, and the Oracle documentation says pretty much "it shouldn't happen". However, my DBA tells me he sees no problems with how Oracle itself is operating. Here's the verbose output from 'make test', up until the point where it hangs:


PERL_DL_NONLAZY=1 /usr/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib/lib', 'blib/arch')" t/*.t
t/base.......1..5
ok 1
ok 2
ok 3
ok 4
ok 5
ok
t/general....1..17
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
DBD::Oracle::st fetch failed: ORA-03106: fatal two-task communication protocol error (DBD ERROR: OCIStmtFetch) at t/general.t line 47.
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok
t/long.......create table dbd_ora__drop_me ( idx integer, lng LONG, dt date )
1..143
long_data0 length 10240
long_data1 length 81920
long_data2 length 71680
create table dbd_ora__drop_me ( idx integer, lng LONG, dt date )
--- insert some LONG data
ok 1
ok 2
ok 3
ok 4
--- fetch LONG data back again -- truncated - LongTruncOk == 1
LongReadLen 20, LongTruncOk 1
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
--- fetch LONG data back again -- truncated - LongTruncOk == 0
LongReadLen 81910, LongTruncOk
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
--- fetch LONG data back again -- complete - LongTruncOk == 0
LongReadLen 82920, LongTruncOk
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
--- fetch LONG data back again -- via blob_read
Skipped blob_read tests for LONGs with OCI8 - not currently supported.
ok 25
ok 26
ok 27
ok 28
ok 29
ok 30
ok 31
ok 32
ok 33
ok 34
ok 35
long_data0 length 20480
long_data1 length 81920
long_data2 length 71680
create table dbd_ora__drop_me ( idx integer, lng LONG RAW, dt date )
--- insert some LONG RAW data
ok 36
ok 37
ok 38
ok 39
--- fetch LONG RAW data back again -- truncated - LongTruncOk == 1
LongReadLen 20, LongTruncOk 1
ok 40
ok 41
ok 42
ok 43
ok 44
ok 45
--- fetch LONG RAW data back again -- truncated - LongTruncOk == 0
LongReadLen 40955, LongTruncOk
ok 46
ok 47
ok 48
ok 49
ok 50
ok 51
--- fetch LONG RAW data back again -- complete - LongTruncOk == 0
LongReadLen 82920, LongTruncOk
ok 52
ok 53
ok 54
ok 55
ok 56
ok 57
ok 58
ok 59
--- fetch LONG RAW data back again -- via blob_read
Skipped blob_read tests for LONGs with OCI8 - not currently supported.
ok 60
ok 61
ok 62
ok 63
ok 64
ok 65
ok 66
ok 67
ok 68
ok 69
ok 70
long_data0 length 10240
long_data1 length 81920
long_data2 length 71680
create table dbd_ora__drop_me ( idx integer, lng CLOB, dt date )
create table dbd_ora__drop_me ( idx integer, lng CLOB, dt date )
--- insert some CLOB data
ok 71
ok 72
ok 73
ok 74
--- fetch CLOB data back again -- truncated - LongTruncOk == 1
LongReadLen 20, LongTruncOk 1
ok 75
ok 76
ok 77
ok 78
ok 79
ok 80
--- fetch CLOB data back again -- truncated - LongTruncOk == 0
LongReadLen 81910, LongTruncOk
ok 81
ok 82
ok 83
ok 84
ok 85
ok 86
--- fetch CLOB data back again -- complete - LongTruncOk == 0
LongReadLen 82920, LongTruncOk
ok 87
ok 88
ok 89
ok 90
ok 91
ok 92
ok 93
ok 94
--- fetch CLOB data back again -- via blob_read
ok 95
ok 96
ok 97
ok 98
ok 99
ok 100
ok 101
ok 102
ok 103
ok 104
ok 105
long_data0 length 10240
long_data1 length 81920
long_data2 length 71680
create table dbd_ora__drop_me ( idx integer, lng BLOB, dt date )
--- insert some BLOB data
ok 106
ok 107
ok 108
ok 109
--- fetch BLOB data back again -- truncated - LongTruncOk == 1
LongReadLen 20, LongTruncOk 1
ok 110
ok 111
ok 112
ok 113
ok 114
ok 115
--- fetch BLOB data back again -- truncated - LongTruncOk == 0
LongReadLen 81910, LongTruncOk
ok 116
ok 117
ok 118
ok 119
ok 120
ok 121
--- fetch BLOB data back again -- complete - LongTruncOk == 0
LongReadLen 82920, LongTruncOk
ok 122
ok 123
ok 124
ok 125
ok 126
ok 127
ok 128
ok 129
--- fetch BLOB data back again -- via blob_read
ok 130
ok 131
ok 132
ok 133
ok 134
ok 135
ok 136
ok 137
ok 138
ok 139
ok 140
--- testing ora_auto_lob to access raw LobLocator
ok 141
ok 142
ok 143
ok
t/ph_type....1..53
ok 1
#
# testing VARCHAR2 (ora_type 1) ...
#
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
DBD::Oracle::db selectall_hashref failed: ORA-03106: fatal two-task communication protocol error (DBD ERROR: OCIStmtFetch) at t/ph_type.t line 82.
ok 8
# failed test 9 at line 86
not ok 9
# failed test 10 at line 87
not ok 10
# failed test 11 at line 88
not ok 11
ok 12
Use of uninitialized value in string eq at t/ph_type.t line 102.
expected 'trailing' but got undef for VARCHAR2
Use of uninitialized value in string eq at t/ph_type.t line 112.
# failed test 13 at line 107
expected 'embedded.nul' but got undef for VARCHAR2
not ok 13
# failed test 14 at line 112
not ok 14
#
# testing STRING (ora_type 5) ...
#
# skipping tests
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
ok 26
#
# testing CHAR (ora_type 96) ...
#
ok 27
ok 28
ok 29
ok 30
ok 31
Use of uninitialized value in hash element at /usr/local/lib/perl5/site_perl/5.8.0/sun4-solaris-thread-multi/DBI.pm line 1611.
ok 32
Use of uninitialized value in hash element at /usr/local/lib/perl5/site_perl/5.8.0/sun4-solaris-thread-multi/DBI.pm line 1611.
DBD::Oracle::db selectall_hashref failed: ORA-03106: fatal two-task communication protocol error (DBD ERROR: OCIStmtFetch) at t/ph_type.t line 82.
ok 33
# failed test 34 at line 86
not ok 34
# failed test 35 at line 87
not ok 35
# failed test 36 at line 88
not ok 36
Use of uninitialized value in string eq at t/ph_type.t line 102.
ok 37
expected 'trailing ' but got undef for CHAR
Use of uninitialized value in string eq at t/ph_type.t line 112.
# failed test 38 at line 107
expected 'embedded.nul' but got undef for CHAR
not ok 38
# failed test 39 at line 112
not ok 39
#
# testing CHARZ (ora_type 97) ...
#
# skipping tests
ok 40
ok 41
ok 42
ok 43
ok 44
ok 45
ok 46
ok 47
ok 48
ok 49
ok 50
ok 51
ok 52
ok 53
FAILED tests 9-11, 13-14, 34-36, 38-39
Failed 10/53 tests, 81.13% okay
t/plsql......1..63
ok 1
ok 2
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15
ok 16
ok 17
ok 18
ok 19
ok 20
ok 21
ok 22
ok 23
ok 24
ok 25
ok 26
ok 27
ok 28
ok 29
ok 30
ok 31
ok 32
ok 33
ok 34
ok 35
ok 36
ok 37
ok 38
ok 39
ok 40
ok 41
ok 42
ok 43
ok 44
ok 45
ok 46
ok 47
ok 48
ok 49
ok 50
ok 51
ok 52
ok 53
ok 54
ok 55
make: *** [test_dynamic] Error 130


At which point it hangs and I had to ctrl-C it....

Thanks for any help.

--
----------------------------------------------------------------------
Greg Baumgartel (303) 226-9941
Qwest Information Technologies
Lead SW Development Engineer [EMAIL PROTECTED]

Reply via email to