Re: make test hangs when re-installing DBI under 64-bit
Harry Jamieson <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.dbi.general |
|---|---|
| Message-ID | <[email protected]> |
On 8/20/2012 8:41 AM, Harry Jamieson wrote:
> Environment:
> IBM AIX 5.3.
> Perl 5.8.8 now linked to its 64-bit libraries.
> 64-bit compiled test simple 0.98
> 64-bit compiled MakeMaker 6.48.
>
> We didn't discover that IBM had shipped our AIX with Perl pointed to
> the 32-bit version until after we had already installed DBI, and now
> that we find that we must use DB2 instead of MySQL, we are forced to
> try to re-install everything under 64-bit. We have re-linked Perl to
> 64-bit and we were successful at re-installing test simple and
> makemaker under 64-bit. However, the make test for DBI hangs in a
> loop. Here is a trace (DBI_TRACE=2) showing two of the loops. The
> Makefile and make both looked good (I can send the lists from these if
> they would be helpful).
>
> <----- execute_request
> gofer receive_response
> gofer response_needs_retransmit: retries disabled (retry_limit not set)
> gofer response_needs_retransmit: retries disabled (retry_limit not set)
> !! ERROR: '2000000000' 'fake error from do method induced by
> DBI_GOFER_RANDO
> M env var (50%); DBD::ExampleP::db do failed at
> /usr/DBI/DBI-1.622/blib/lib/DBI/
> Gofer/Execute.pm line 329.' (err#91)
> <- do= undef at 86gofer_fail.t line 111
> !! ERROR: '2000000000' CLEARED by call to do method
> -> do for DBD::Gofer::db (DBI::db=HASH(0x110770380)~0x11076fe40
> 'set foo=1')
> thr#11000bab0
> -----> execute_request
> -> DBI->connect_cached(dbi:ExampleP:, , ****)
> -> connect_cached in DBD::_::dr for DBD::ExampleP::dr
> (DBI::dr=HASH(0x11072f
> 4d0)~0x11072f530 '' 0 **** HASH(0x11076b4f0)) thr#11000bab0
> <- connect_cached= DBI::db=HASH(0x1107447d0) at DBI.pm line 658
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'RaiseError'
> 1) thr#11000bab0
> <- STORE= 1 at DBI.pm line 710
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'PrintError'
> undef) thr#11000bab0
> <- STORE= 1 at DBI.pm line 710
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'AutoCommit'
> 1) thr#11000bab0
> <- STORE= 1 at DBI.pm line 710
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'Executed' 0
> ) thr#11000bab0
> <- STORE= 1 at DBI.pm line 713
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'dbi_go_exec
> ute_unique' 'DBI::Gofer::Execute|389218|fail=50%,do') thr#11000bab0
> <- STORE= 1 at DBI.pm line 713
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'PrintWarn'
> undef) thr#11000bab0
> <- STORE= 1 at DBI.pm line 713
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'dbi_connect
> _method' 'connect_cached') thr#11000bab0
> <- STORE= 1 at DBI.pm line 713
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'Username' 0
> ) thr#11000bab0
> <- STORE= 1 at DBI.pm line 713
> -> connected for DBD::ExampleP::db
> (DBI::db=HASH(0x1107447d0)~0x110744780 'd
> bi:ExampleP:' undef **** HASH(0x11076bf10)) thr#11000bab0
> <- connected= undef at DBI.pm line 720
> <- connect= DBI::db=HASH(0x1107447d0)
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'dbi_connect
> _closure' CODE(0x1107706e0)) thr#11000bab0
> <- STORE= 1 at DBI.pm line 729
> <> FETCH= HASH(0x110744930)2keys ('Callbacks' from cache) at
> Execute.pm line
> 578
> <> FETCH= HASH(0x110744930)2keys
> ('private_gofer_rand_fail_callbacks' from c
> ache) at Execute.pm line 579
> -> FETCH for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'CachedKids'
> ) thr#11000bab0
> <- FETCH= undef at Execute.pm line 221
> {{ do callback CODE(0x110744a00) being invoked
> }} do callback CODE(0x110744a00) returned, actual method will not
> be called
> !! ERROR: 2000000000 'fake error from do method induced by
> DBI_GOFER_RANDOM
> env var (50%)' (err#403)
> <- do= undef at Execute.pm line 329
> -> $DBI::err (*) FETCH from lasth=HASH
> <- $DBI::err= 2000000000
> -> $DBI::errstr (&) FETCH from lasth=HASH
> <- $DBI::errstr= 'fake error from do method induced by
> DBI_GOFER_RANDOM env
> var (50%)'
> -> $DBI::state (") FETCH from lasth=HASH
> <- $DBI::state= 'S1000'
> -> FETCH for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'Executed')
> thr#11000bab0
> ERROR: 2000000000 'fake error from do method induced by
> DBI_GOFER_RANDOM
> env var (50%)' (err#403)
> <- FETCH= '' at Execute.pm line 261
> -> set_err for DBD::ExampleP::db
> (DBI::db=HASH(0x1107447d0)~0x110744780 unde
> f undef) thr#11000bab0
> <- set_err= undef at Execute.pm line 234
> <----- execute_request
> gofer receive_response
> gofer response_needs_retransmit: retries disabled (retry_limit not set)
> gofer response_needs_retransmit: retries disabled (retry_limit not set)
> !! ERROR: '2000000000' 'fake error from do method induced by
> DBI_GOFER_RANDO
> M env var (50%); DBD::ExampleP::db do failed at
> /usr/DBI/DBI-1.622/blib/lib/DBI/
> Gofer/Execute.pm line 329.' (err#92)
> <- do= undef at 86gofer_fail.t line 111
> !! ERROR: '2000000000' CLEARED by call to do method
> -> do for DBD::Gofer::db (DBI::db=HASH(0x110770380)~0x11076fe40
> 'set foo=1')
> thr#11000bab0
> -----> execute_request
> -> DBI->connect_cached(dbi:ExampleP:, , ****)
> -> connect_cached in DBD::_::dr for DBD::ExampleP::dr
> (DBI::dr=HASH(0x11072f
> 4d0)~0x11072f530 '' 0 **** HASH(0x110745090)) thr#11000bab0
> <- connect_cached= DBI::db=HASH(0x1107447d0) at DBI.pm line 658
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'RaiseError'
> 1) thr#11000bab0
> <- STORE= 1 at DBI.pm line 710
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'PrintError'
> undef) thr#11000bab0
> <- STORE= 1 at DBI.pm line 710
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'AutoCommit'
> 1) thr#11000bab0
> <- STORE= 1 at DBI.pm line 710
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'Executed' 0
> ) thr#11000bab0
> <- STORE= 1 at DBI.pm line 713
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'dbi_go_exec
> ute_unique' 'DBI::Gofer::Execute|389218|fail=50%,do') thr#11000bab0
> <- STORE= 1 at DBI.pm line 713
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'PrintWarn'
> undef) thr#11000bab0
> <- STORE= 1 at DBI.pm line 713
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'dbi_connect
> _method' 'connect_cached') thr#11000bab0
> <- STORE= 1 at DBI.pm line 713
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'Username' 0
> ) thr#11000bab0
> <- STORE= 1 at DBI.pm line 713
> -> connected for DBD::ExampleP::db
> (DBI::db=HASH(0x1107447d0)~0x110744780 'd
> bi:ExampleP:' undef **** HASH(0x110775d60)) thr#11000bab0
> <- connected= undef at DBI.pm line 720
> <- connect= DBI::db=HASH(0x1107447d0)
> -> STORE for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'dbi_connect
> _closure' CODE(0x11076fd30)) thr#11000bab0
> <- STORE= 1 at DBI.pm line 729
> <> FETCH= HASH(0x110744930)2keys ('Callbacks' from cache) at
> Execute.pm line
> 578
> <> FETCH= HASH(0x110744930)2keys
> ('private_gofer_rand_fail_callbacks' from c
> ache) at Execute.pm line 579
> -> FETCH for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'CachedKids'
> ) thr#11000bab0
> <- FETCH= undef at Execute.pm line 221
> {{ do callback CODE(0x110744a00) being invoked
> }} do callback CODE(0x110744a00) returned
> -> do for DBD::ExampleP::db (DBI::db=HASH(0x1107447d0)~0x110744780
> 'set foo=
> 1' HASH(0x11076b1f0)) thr#11000bab0
> <- do= undef at Execute.pm line 329
> -> $DBI::err (*) FETCH from lasth=HASH
> <- $DBI::err= undef
> -> $DBI::errstr (&) FETCH from lasth=HASH
> <- $DBI::errstr= undef
> -> $DBI::state (") FETCH from lasth=HASH
> <- $DBI::state= ''
> -> FETCH for DBD::ExampleP::db (DBI::db=HASH(0x110744780)~INNER
> 'Executed')
> thr#11000bab0
> <- FETCH= 1 at Execute.pm line 261
> -> set_err for DBD::ExampleP::db
> (DBI::db=HASH(0x1107447d0)~0x110744780 unde
> f undef) thr#11000bab0
> <- set_err= undef at Execute.pm line 234
>
> Harry Jamieson
>
>
>
>
I got past the hanging problem by running it over and over again until
it went through. Now I get this....
Test returned status -1 (wstat 139, 0x8b)
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/50dbm_simple.t -1 139 ?? ?? % ??
t/51dbm_file.t -1 139 ?? ?? % ??
t/85gofer.t -1 139 ?? ?? % ??
t/zvg_50dbm_simple.t -1 139 ?? ?? % ??
t/zvg_51dbm_file.t -1 139 ?? ?? % ??
t/zvg_85gofer.t -1 139 ?? ?? % ??
t/zvn_50dbm_simple.t -1 139 ?? ?? % ??
t/zvn_51dbm_file.t 1 256 ?? ?? % ??
t/zvn_85gofer.t -1 139 ?? ?? % ??
t/zvp_19fhtrace.t 3 768 27 3 11.11% 17-19
t/zvp_50dbm_simple.t -1 139 ?? ?? % ??
t/zvp_51dbm_file.t 1 256 ?? ?? % ??
t/zvp_85gofer.t -1 139 ?? ?? % ??
t/zvxgn_50dbm_simple.t -1 139 ?? ?? % ??
t/zvxgn_51dbm_file.t -1 139 ?? ?? % ??
t/zvxgn_85gofer.t -1 139 ?? ?? % ??
t/zvxgnp_50dbm_simple.t -1 139 ?? ?? % ??
t/zvxgnp_51dbm_file.t -1 139 ?? ?? % ??
t/zvxgnp_85gofer.t -1 139 ?? ?? % ??
t/zvxgp_19fhtrace.t 3 768 27 3 11.11% 17-19
t/zvxgp_50dbm_simple.t -1 139 ?? ?? % ??
t/zvxgp_51dbm_file.t -1 139 ?? ?? % ??
t/zvxgp_85gofer.t -1 139 ?? ?? % ??
t/zvxnp_50dbm_simple.t -1 139 ?? ?? % ??
t/zvxnp_51dbm_file.t -1 139 ?? ?? % ??
t/zvxnp_85gofer.t -1 139 ?? ?? % ??
38 tests and 305 subtests skipped.
Failed 26/182 test scripts, 85.71% okay. -196/5977 subtests failed,
103.28% okay
.
make: 1254-004 The error code from the last command is 255.
Stop.
It's great that a minus number of tests failed. I'm going to install it
anyway. If it doesn't work, I'll abandon Perl altogether and write what
I need in C.
Harry Jamieson