tag 666601 - unreproducible
tag 666601 + patch
thanks

On Sun, Apr 01, 2012 at 03:38:04PM +0200, gregor herrmann wrote:
> tag 666601 + unreproducible
> thanks
> 
> On Sat, 31 Mar 2012 21:45:50 +0200, Lucas Nussbaum wrote:
> 
> > During a rebuild of all packages in sid, your package failed to build on
> > amd64.
> 
> > > #   Failed test 'printers are same instance'
> > > #   at t/apache/singleton/process/printer_instance.t line 13.
> > > #          got: 'Printer::PerProcess=HASH(0x2b2f4e8a6478)'
> > > #     expected: 'Printer::PerProcess=HASH(0x2b2f51a727c0)'
> > > # Looks like you failed 1 test of 1.
> > > t/apache/singleton/process/printer_instance.t .. 
> > > Dubious, test returned 1 (wstat 256, 0x100)
> > > Failed 1/1 subtests 
> > > t/apache/singleton/request/printer_instance.t .. ok
> 
> Hm, builds fine here (amd64 and i386 sid cowbuilder chroot) in
> several runs.

I can reproduce this, although rather unreliably, by running the
test suite in a loop. It happens with both apache2-mpm-prefork and
apache2-mpm-worker, although it seems rarer with -worker.

The test suite uses the default Apache::TestConfig setting of MaxClients
2, but (at least) this particular test clearly expects that the requests
are served by the same process. When this doesn't happen, the above
failure results.

Patch to set MaxClients to 1 attached, I haven't seen a single failure
with this. Not sure if this should apply to Apache 1 as well; that's
not an issue for Debian though.
-- 
Niko Tyni   [email protected]
>From d63e6400c68fd8a0bcdf399d3e973f2cc708dabc Mon Sep 17 00:00:00 2001
From: Niko Tyni <[email protected]>
Date: Sun, 1 Apr 2012 21:35:56 +0300
Subject: [PATCH] Only use one Apache child process for testing

As seen in <http://bugs.debian.org/666601>,
t/apache/singleton/process/printer_instance.t occasionally
fails in a non-deterministic way. This happens when sequential GET
requests get served by different Apache child processes.

The tests clearly expect only one process serving the pages, so limit
MaxClients to one.
---
 t/conf/extra.conf.in |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/t/conf/extra.conf.in b/t/conf/extra.conf.in
index 0cb6725..32cf82c 100644
--- a/t/conf/extra.conf.in
+++ b/t/conf/extra.conf.in
@@ -2,6 +2,7 @@
     PerlOptions +GlobalRequest
     # needed so $mod_perl::VERSION is available
     PerlModule mod_perl2
+    MaxClients 1
 </IfDefine>
 <IfDefine APACHE1>
     # needed so $mod_perl::VERSION is available
-- 
1.7.9.1

Reply via email to