Bug#721421: libdevel-bt-perl: FTBFS on armel, hurd-i386, kfreebsd-amd64

2014-09-27 Thread Leon Timmermans
On Sat, Sep 27, 2014 at 9:48 AM, Niko Tyni  wrote:

> tag 721421 patch
> thanks
>
> On Fri, Sep 26, 2014 at 11:12:06PM +0300, Niko Tyni wrote:
>
> > The problem apparently happens when the timeout in the select loop
> > (one second) triggers before execvp() has been called.
> >
> > I can reproduce a similar "race" on my x86_64 machine by inserting a
> > sleep(1) call right before the execvp() call.
> >
> > I still haven't got to the bottom of it, but it looks like the gdb
> > output is lost somewhere with select() timeouting (and returning zero)
> > on subsequent calls too even though gdb has happily written to the pipe.
>
> Further investigation with strace shows that the fd_set passed into
> select() becomes empty if execvp() happens after the first select()
> call. I was able to reproduce this with gdb replaced by a trivial program
> that just prints to stdout (which greatly helped debugging.)
>
> So I suppose the execvp() call somehow invalidates the fd set?
>
> I haven't found an explanation for this observed behaviour. The closest
> thing I was able to find was this in the select_tut(2) Linux manual page
> (on Debian sid if that matters):
>
>11. Since  select()  modifies  its  file descriptor sets, if the
>call is being used in a loop, then the sets must be
>reinitialized before each call.
>
> Reinitializing the set in the loop fixes it and seems to be the correct
> thing to do anyway. Patch attached, this makes it work for me on both
> mips and amd64.
>

Right, that is definitely a bug. Haven't used select in such a long time
that I had looked over that insanity.

Leon


Bug#721421: libdevel-bt-perl: FTBFS on armel, hurd-i386, kfreebsd-amd64

2014-09-25 Thread Leon Timmermans
On Tue, Sep 23, 2014 at 9:59 PM, Niko Tyni  wrote:

> I also had a look at the mips one, and there the problem doesn't seem
> to be with the backtrace, as running gdb separately works as expected.
> However, running perl with -d:bt doesn't seem to do anything. It looks
> like the host is just too slow; inserting a 'sleep(1)' just before the
> "thread apply all backtrace" command in stack_trace() fixes it for
> me. Perhaps the code should just check that the fd is ready for writing?
>

This should not matter. Pipes are buffered at a kernel level. This is not
making sense to me.

Leon


Bug#721421: libdevel-bt-perl: FTBFS on armel, hurd-i386, kfreebsd-amd64

2014-09-23 Thread Leon Timmermans
On Mon, Sep 22, 2014 at 12:21 AM, gregor herrmann  wrote:

> Here we go:
>
> That's armhf on a Debian box in an unstable chroot:
>
> (sid_armhf-dchroot)gregoa@harris:~$ (echo r; echo bt; echo quit) | gdb
> --args perl -e 'unpack "p", pack "L!", 1' | egrep '^#'
> #1  0xb6f3f048 in Perl_newSVpv () from
> /usr/lib/arm-linux-gnueabihf/libperl.so.5.20
> #2  0x00040002 in ?? ()
>

That looks wrong to me. Does a debugging perl show the same result?

Leon


Bug#721421: libdevel-bt-perl: FTBFS on armel, hurd-i386, kfreebsd-amd64

2014-09-21 Thread Leon Timmermans
On Sun, Sep 21, 2014 at 7:37 PM, Dominic Hargreaves  wrote:

> On Thu, Sep 04, 2014 at 02:25:44PM +0200, gregor herrmann wrote:
> > On Mon, 01 Sep 2014 19:24:18 +0200, Leon Timmermans wrote:
> >
> > > The attached patch might fix the issue on Hurd, I can't really say much
> > > about the issue on armel or kfreebsd-amd64 without having some
> build/test
> > > output from them though.
> >
> > Thanks for the patch, I've applied it now and uploaded the new
> > version.
> >
> > Build logs (with TEST_VERBOSE=1) will show up shortly at
> > https://buildd.debian.org/status/package.php?p=libdevel-bt-perl or
> > https://buildd.debian.org/status/logs.php?pkg=libdevel-bt-perl
>
> Hurd is still failing, although that's not the priority at the moment.
> It's just armhf and mips we care about, since the bug is only considered
> release-critical if it's a regression, and it's never built successfully
> on kFreeBSD, Hurd or arm64 (and at least Hurd isn't a release
> architecture).
>
> Here are some log extracts from recent builds:
>
> armhf:
>
>
> https://buildd.debian.org/status/fetch.php?pkg=libdevel-bt-perl&arch=armhf&ver=0.06-2&stamp=1409851075
>

That suggests the issue is missing symbols in the gdb output. What is the
output on such a machine of:
(echo r; echo bt; echo quit) | gdb --args perl -e 'unpack "p", pack "L!",
1' | egrep '^#'
Does that include a perl_run entry?

mips:
>
>
> https://buildd.debian.org/status/fetch.php?pkg=libdevel-bt-perl&arch=mips&ver=0.06-2&stamp=1410539249
>

That shows the gdb output to be empty. That's either a bug in devel-bt or a
bug in gdb. I'd say the former is more likely, but I can't diagnose it at a
distance.

Leon


Bug#721421: libdevel-bt-perl: FTBFS on armel, hurd-i386, kfreebsd-amd64

2014-09-01 Thread Leon Timmermans
The attached patch might fix the issue on Hurd, I can't really say much
about the issue on armel or kfreebsd-amd64 without having some build/test
output from them though.

Leon
From 7243c7acfa7731697dfd75e930906817588c9c2f Mon Sep 17 00:00:00 2001
From: Leon Timmermans 
Date: Mon, 1 Sep 2014 11:53:23 +0200
Subject: [PATCH] Raise instead of kill the signal

---
 t/basic.t | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/basic.t b/t/basic.t
index 4519941..95fbb90 100644
--- a/t/basic.t
+++ b/t/basic.t
@@ -18,7 +18,7 @@ local $ENV{PERL5LIB} = join $Config::Config{path_sep} => @INC;
 for my $signal (@signals) {
 next unless __PACKAGE__->can($signal);
 my $signum = __PACKAGE__->can($signal)->();
-my @cmd = ($^X, qw(-d:bt -e), "kill $signum, \$\$");
+my @cmd = ($^X, qw(-d:bt -MPOSIX=raise -e), "raise($signum)");
 
 use Capture::Tiny 'capture';
 my ($stdout) = capture { system @cmd };
-- 
1.9.1



Bug#714542: cdbs: Please use "--" long option prefixes for Perl's Module::Build build system

2013-06-30 Thread Leon Timmermans
> As we take pride in CDBS being backporting-friendly, it would be nice if
you could also test in a Squeeze (i.e. oldstable) environment that the
change doesn't break things that far back either.

The 'new style' arguments were introduced in Module::Build 0.17,
released in March 2003. Backwards compatibility really shouldn't be an
issue.

Leon


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org