On Thu, Aug 04, 2011 at 11:48:27AM +0300, Niko Tyni wrote:
> On Tue, Aug 02, 2011 at 04:31:38PM +0300, Niko Tyni wrote:
> > On Sun, May 29, 2011 at 04:01:48PM +0100, Dominic Hargreaves wrote:
> > > Source: perl
> > > Version: 5.14.0-1
> > > Severity: important
> > > 
> > > perl 5.14 failed to build on kfreebsd-i386:
> > > 
> > > <https://buildd.debian.org/status/fetch.php?pkg=perl&arch=kfreebsd-i386&ver=5.14.0-1&stamp=1306233511>
> > > 
> > > t/op/threads...................................................FAILED--expected
> > >  24 tests, saw 23
> > 
> > I'm able to reproduce this on a kvm kfreebsd-i386 virtual machine with
> > SMP enabled (but not on a non-SMP kernel, where the package builds fine.)

>  perl -Mthreads -e 'threads->create(sub {})->detach; fork'

> I'll report it upstream, but it seems possible that the problem is more
> on the libc / kernel side. Cc'ing the kfreebsd porter list. Help would
> be appreciated.

This also crashes on Squeeze, albeit with a SIGBUS instead of SIGSEGV.
IMO that means this bug shouldn't block Perl 5.14 going into wheezy.

I don't think there's much else we can do about this, so I propose we
add the attached patch to skip the crashing test but leave this bug open.
-- 
Niko Tyni   nt...@debian.org
>From 214e26994c4c7f64174019bd346b786f468d228d Mon Sep 17 00:00:00 2001
From: Niko Tyni <nt...@debian.org>
Date: Fri, 5 Aug 2011 10:50:18 +0300
Subject: [PATCH] Skip a crashing test case in t/op/threads.t on GNU/kFreeBSD

Bug: http://rt.perl.org/rt3/Ticket/Display.html?id=96272
Bug-Debian: http://bugs.debian.org/628493

The crash is not a regression in 5.14, it just gets triggered there by
a new unrelated test case.

Skip the test until the culprit is found.

Patch-Name: debian/skip-kfreebsd-crash.diff
---
 t/op/threads.t |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/t/op/threads.t b/t/op/threads.t
index 24e84e4..6a91366 100644
--- a/t/op/threads.t
+++ b/t/op/threads.t
@@ -342,6 +342,9 @@ threads->create(
 
 EOI
 
+SKIP: {
+    skip "[perl #96272] avoid crash on GNU/kFreeBSD", 1
+        if $^O eq 'gnukfreebsd';
 # [perl #78494] Pipes shared between threads block when closed
 watchdog 10;
 {
@@ -351,5 +354,6 @@ watchdog 10;
   threads->create(sub { })->join;
   ok(1, "Pipes shared between threads do not block when closed");
 }
+}
 
 # EOF

Reply via email to