Re: Please give back ruby1.9/220.127.116.11-9 on hppa and alpha
On Thu, Feb 05, 2009 at 09:00:43PM +0100, Helge Deller wrote:
> dann frazier wrote:
> > On Mon, Feb 02, 2009 at 07:04:48PM +0100, Lucas Nussbaum wrote:
> >> ruby1.9 still fails to build on hppa and alpha.
> >> On hppa, it's caused by a kernel bug, which was partially fixed (at
> >> least the kernel doesn't panic() anymore). Since the issue is related to
> >> threading, it is possible that retrying could make it build
> >> successfully.
> > fyi, I've retried it numerous times on both buildds with no
> > luck. We're not crashing the buildd anymore - thanks to Helge's fix -
> The kudos belong to James Bottomley btw. I did debugging and testing,
> but James gave me the final hint to the solution then...
> > but the build hangs indefinitely. I've no objection to it being
> > retried again of course (and I'm not the buildd admin anyway) - I just
> > want to set your expectations.
> I tried a few times now to find the bug. I'm not sure if it's really due to
> a) a kernel bug (probably)
> b) the fact that hppa still uses Linuxthreads (although Dann mentioned
> in another mail that he saw similar problems with another server which
> used NPTL instead of Linuxthreads)
Since I don't remember the last time I tried, I've started another
build in my NPTL chroot running a fixed kernel to verify that I'm
still seeing it.
> c) wrong pthread coding in ruby1.9
> If it's due to a) (kernel bug), then it's hard to find and track down.
> I concentrated on b) and c) for now. LT uses a few signals to synchronize the
> threads, and ruby plays some small but bad games with signals in it's code, e.g.
> rb_disable_interrupt() and rb_enable_interrupt() in signal.c.
> With the attached patch/hack below I tried to work around possible LT-related cornercases
> in ruby1.9, but the issue stays the same: "make test" will make the ruby
> testsuite hang in the "test_thread.rb" test. It seems some thread is waiting
> for a signal which will not arrive, since the other thread is a zombie already....
> Anyway, it would be nice if someone with ruby knowledge could reduce
> the testsuite, so that it will be easier to reproduce the bug. I'm a little
> lost at this stage. Now since the hppa kernel doesn't crash any longer, building
> such a testcase should be much easier to create.