We are observing the attached test failures on 64 bit HP-UX systems.  They
happen on both PA-RISC and IPF systems.  I compiled Apache 2.0.48, Perl
5.8.2 and mod_perl 1.99_11 both with the HP ANSI C compiler and with GCC.
The errors are always the same.  They don't appear in 32 bit mode at all.

TJ thinks that these failures are related to failure of the
get_remote_addr() function in
apache/srclib/apr/network_io/unix/sockaddr.c.  It looks like getpeername()
doesn't work correctly in 64 bit mode on HP-UX.

If this is true, then this is not a mod_perl problem, but an Apache or
HP-UX problem.

Any other ideas?

Cheers,
-Jan


TJ Saunders <[EMAIL PROTECTED]> wrote:

>When running mod_perl's test suite on bigsur03, compiled with a 64-bit 
>apache2 and using the 64-bit ActivePerl, there are two test failures:
>
>  [snip]
>  apr/date..........................ok
>  apr/netlib........................FAILED test 5
>          Failed 1/5 tests, 80.00% okay
>  apr/os............................ok
>  [snip]
>  preconnection/note................# Failed test 1 in preconnection/note.t at line 
> 17 FAILED test 1
>          Failed 1/1 tests, 0.00% okay
>  protocol/echo.....................ok
>  protocol/echo_filter..............ok
>  protocol/eliza....................skipped
>          all skipped: cannot find module 'Chatbot::Eliza'
>  Failed Test          Stat Wstat Total Fail  Failed  List of Failed
>  -------------------------------------------------------------------------------
>  apr/netlib.t                        5    1  20.00%  5
>  preconnection/note.t                1    1 100.00%  1
>  9 tests skipped.
>
>Running the test suite again verbosely yields the following output for the 
>two failed tests in question:
>
>  [snip]
>  apr/netlib........................1..5
>  # Running under perl version 5.008002 for hpux
>  # Current time local: Mon Dec  1 20:54:27 2003
>  # Current time GMT:   Tue Dec  2 04:54:27 2003
>  # Using Test.pm version 1.24
>  ok 1
>  # testing : remote_ip eq remote_addr->ip_get
>  # expected: 0.0.0.0
>  # received: 0.0.0.0
>  ok 2
>  ok 3
>  # testing : reversed remote_ip eq reversed remote_addr->ip_get
>  # expected: 0.0.0.0
>  # received: 0.0.0.0
>  ok 4
>  not ok 5
>  FAILED test 5
>          Failed 1/5 tests, 80.00% okay
>  [snip]
>  preconnection/note................# connecting to 
> http://localhost:8533/TestPreConnection__note 1..1
>  # Running under perl version 5.008002 for hpux
>  # Current time local: Mon Dec  1 20:56:19 2003
>  # Current time GMT:   Tue Dec  2 04:56:19 2003
>  # Using Test.pm version 1.24
>  # Failed test 1 in preconnection/note.t at line 17
>  # testing : connection notes
>  # expected: 127.0.0.1
>  # received: 0.0.0.0
>  not ok 1
>  FAILED test 1
>          Failed 1/1 tests, 0.00% okay
>
>Since the apr/netlib.t test, when run verbosely, did not show what the 
>expected/received strings were, I looked into where the particular failing 
>test was defined (t/response/TestAPR/netlib.pm):
>
>  sub handler {
>      my $r = shift; 
>      my $c = $r->connection; 
>      my $p = $r->pool;
>
>      plan $r, tests => 5;
>
>      my $ip = $c->remote_ip;
>
>      ok $ip;
>
>      ok t_cmp($ip, $c->remote_addr->ip_get,
>               "remote_ip eq remote_addr->ip_get");
>
>      my $ipsub = APR::IpSubnet->new($p, $ip);
>
>      ok $ipsub->test($c->remote_addr);
>
>      my $reverse_remote_ip = scalar reverse $ip;
>
>      ok t_cmp($reverse_remote_ip, scalar reverse($c->remote_addr->ip_get),
>               "reversed remote_ip eq reversed remote_addr->ip_get");
>
>      $ipsub = APR::IpSubnet->new($p, $reverse_remote_ip);
>
>      if (!$ipsub) {
>          ok 1; #this happens on win32
>      }
>      else {
>          ok ! $ipsub->test($c->remote_addr);
>      }
>
>      Apache::OK;
>  }
>
>The thing that is odd is those "0.0.0.0".


-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html

Reply via email to