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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.