GNU bug report logs -
#10336
Holidays vs. release
Previous Next
Reported by: <dsmich <at> roadrunner.com>
Date: Wed, 21 Dec 2011 05:37:02 UTC
Severity: normal
Done: Andy Wingo <wingo <at> pobox.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 10336 in the body.
You can then email your comments to 10336 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guile <at> gnu.org
:
bug#10336
; Package
guile
.
(Wed, 21 Dec 2011 05:37:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
<dsmich <at> roadrunner.com>
:
New bug report received and forwarded. Copy sent to
bug-guile <at> gnu.org
.
(Wed, 21 Dec 2011 05:37:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
---- dsmich <at> roadrunner.com wrote:
>
> ---- "Ludovic Courtès" <ludo <at> gnu.org> wrote:
> > Hello Guilers!
> >
> > I initially thought it would be great to push a 2.0.4 tarball by the end
> > of the year, but since I’ll be on holidays starting from tomorrow until
> > Jan. 3rd, I won’t be able to make it. Sorry about that!
>
> I'm still getting that one failure in make check. Something about gc a lexicals? (Sorry I'm not at that machine.) Probably would be a good idea to tune that up before release anyway.
>
> I'll post details when I can.
I'm on a 32bit Debian intel system. libgc is 7.2alpha4
git describe is
v2.0.3-82-ga2c6601
The single failure running make check is
Running gc.test
FAIL: gc.test: gc: Lexical vars are collectable
-Dale
Information forwarded
to
bug-guile <at> gnu.org
:
bug#10336
; Package
guile
.
(Thu, 05 Jan 2012 00:02:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 10336 <at> debbugs.gnu.org (full text, mbox):
<dsmich <at> roadrunner.com> skribis:
> I'm on a 32bit Debian intel system. libgc is 7.2alpha4
>
> git describe is
> v2.0.3-82-ga2c6601
>
> The single failure running make check is
>
> Running gc.test
> FAIL: gc.test: gc: Lexical vars are collectable
Same problem on Hydra, but only i686, not x86_64.
Andy: is it on purpose that this test doesn’t have a call to
‘stack-cleanup’ like those above? Should we add one?
Ludo’.
Information forwarded
to
bug-guile <at> gnu.org
:
bug#10336
; Package
guile
.
(Wed, 25 Jan 2012 16:12:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 10336 <at> debbugs.gnu.org (full text, mbox):
Hello!
ludo <at> gnu.org (Ludovic Courtès) skribis:
> <dsmich <at> roadrunner.com> skribis:
>
>> I'm on a 32bit Debian intel system. libgc is 7.2alpha4
>>
>> git describe is
>> v2.0.3-82-ga2c6601
>>
>> The single failure running make check is
>>
>> Running gc.test
>> FAIL: gc.test: gc: Lexical vars are collectable
>
> Same problem on Hydra, but only i686, not x86_64.
So I looked into it, and there’s at least one thing wrong: the test must
be compiled with #:partial-eval? #f, otherwise the ‘let’ vanishes, which
defeats the test.
Second thing, it suffices to insert a function call like
((lambda (x) #f) #f) just before calls to ‘gc’ to solve the problem.
So I’m thinking we may have a real bug here.
I’ve changed the test this way:
(pass-if "Lexical vars are collectable"
(pair?
(compile
'(begin
(define guardian (make-guardian))
(let ((f (list 1 2 3)))
(guardian f))
;; Note: no `stack-cleanup' call should be needed here since
;; leaving `let' should have the same effect.
;((lambda (x) x) #f)
(gc)(gc)(gc)
(guardian))
;; Turn the partial evaluator off so that `let' is preserved.
#:opts '(#:partial-eval? #f)
#:env (current-module))))
The assembly code does seem to push ‘void’ in all cases, though, but
this needs to be double-checked.
Thanks,
Ludo’.
Information forwarded
to
bug-guile <at> gnu.org
:
bug#10336
; Package
guile
.
(Wed, 25 Jan 2012 18:08:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 10336 <at> debbugs.gnu.org (full text, mbox):
Hi Ludovic,
I pushed a couple patches that should help this bug out, though for some
reason I wasn't able to reproduce the issue before. I wonder why.
On Wed 25 Jan 2012 17:10, ludo <at> gnu.org (Ludovic Courtès) writes:
> So I looked into it, and there’s at least one thing wrong: the test must
> be compiled with #:partial-eval? #f, otherwise the ‘let’ vanishes, which
> defeats the test.
Indeed. I think I fixed that now.
> Second thing, it suffices to insert a function call like
> ((lambda (x) #f) #f) just before calls to ‘gc’ to solve the problem.
Strange. Another thing was that the function was a constant, not a
closure, so it wasn't going to be collectable in the first place.
Can you retry the test now, Dale?
Thanks,
Andy
--
http://wingolog.org/
Information forwarded
to
bug-guile <at> gnu.org
:
bug#10336
; Package
guile
.
(Wed, 25 Jan 2012 20:36:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 10336 <at> debbugs.gnu.org (full text, mbox):
Hello,
Andy Wingo <wingo <at> pobox.com> skribis:
> I pushed a couple patches that should help this bug out,
As I wrote, it doesn’t solve the problem. :-/
However, I suspect it’s just one or two words on the stack that fail to
be cleared, which is why I ended up looking at the assembly in search of
a real bug.
> Can you retry the test now, Dale?
It’s retried at every commit. ;-)
http://hydra.nixos.org/jobset/gnu/guile-2-0/
(It’s on i686-linux-gnu.)
Ludo’.
Information forwarded
to
bug-guile <at> gnu.org
:
bug#10336
; Package
guile
.
(Wed, 25 Jan 2012 23:07:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 10336 <at> debbugs.gnu.org (full text, mbox):
Hi,
On Wed 25 Jan 2012 21:34, ludo <at> gnu.org (Ludovic Courtès) writes:
> Andy Wingo <wingo <at> pobox.com> skribis:
>
>> I pushed a couple patches that should help this bug out,
>
> As I wrote, it doesn’t solve the problem. :-/
Ah sorry, I misunderstood.
> I suspect it’s just one or two words on the stack that fail to be
> cleared, which is why I ended up looking at the assembly in search of
> a real bug.
Interesting. That would explain why it would be architecture-specific,
as well.
Thanks for the patience :)
Andy
--
http://wingolog.org/
Information forwarded
to
bug-guile <at> gnu.org
:
bug#10336
; Package
guile
.
(Thu, 26 Jan 2012 04:42:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 10336 <at> debbugs.gnu.org (full text, mbox):
---- Andy Wingo <wingo <at> pobox.com> wrote:
> Hi Ludovic,
>
> I pushed a couple patches that should help this bug out, though for some
> reason I wasn't able to reproduce the issue before. I wonder why.
>
> On Wed 25 Jan 2012 17:10, ludo <at> gnu.org (Ludovic Courtès) writes:
>
> > So I looked into it, and there’s at least one thing wrong: the test must
> > be compiled with #:partial-eval? #f, otherwise the ‘let’ vanishes, which
> > defeats the test.
>
> Indeed. I think I fixed that now.
>
> > Second thing, it suffices to insert a function call like
> > ((lambda (x) #f) #f) just before calls to ‘gc’ to solve the problem.
>
> Strange. Another thing was that the function was a constant, not a
> closure, so it wasn't going to be collectable in the first place.
>
> Can you retry the test now, Dale?
Sure. v2.0.3-190-gf5e772b still has the same failure.
-Dale
Information forwarded
to
bug-guile <at> gnu.org
:
bug#10336
; Package
guile
.
(Fri, 27 Jan 2012 18:37:01 GMT)
Full text and
rfc822 format available.
Message #26 received at 10336 <at> debbugs.gnu.org (full text, mbox):
retitle 10366 lexical vars are collectable test is failing
On Wed 25 Jan 2012 17:10, ludo <at> gnu.org (Ludovic Courtès) writes:
> Second thing, it suffices to insert a function call like
> ((lambda (x) #f) #f) just before calls to ‘gc’ to solve the problem.
>
> So I’m thinking we may have a real bug here.
I pushed an experimental patch that attempts to NULL out variables that
are local to the VM. Let's see what hydra does with it.
Andy
--
http://wingolog.org/
Reply sent
to
Andy Wingo <wingo <at> pobox.com>
:
You have taken responsibility.
(Wed, 01 Feb 2012 23:17:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
<dsmich <at> roadrunner.com>
:
bug acknowledged by developer.
(Wed, 01 Feb 2012 23:17:02 GMT)
Full text and
rfc822 format available.
Message #31 received at 10336-done <at> debbugs.gnu.org (full text, mbox):
On Fri 27 Jan 2012 19:36, Andy Wingo <wingo <at> pobox.com> writes:
> On Wed 25 Jan 2012 17:10, ludo <at> gnu.org (Ludovic Courtès) writes:
>
>> Second thing, it suffices to insert a function call like
>> ((lambda (x) #f) #f) just before calls to ‘gc’ to solve the problem.
>>
>> So I’m thinking we may have a real bug here.
>
> I pushed an experimental patch that attempts to NULL out variables that
> are local to the VM. Let's see what hydra does with it.
In the end that failed. I pushed a different patch that tried to NULL
out recursively called C stack frames. Perhaps it worked? As tests are
passing, I will close this one for now. It's possible that simply
recursing through the VM wouldn't work well, as there might be stack
slots in vm_engine that don't get set in all code paths. If we see
errors in the future, let's just mark those as flaky and move on. Let's
also try to reduce the number of UNRESOLVED results in general, so that
these hacks will be more visible.
Regards,
Andy
--
http://wingolog.org/
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 01 Mar 2012 12:24:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 13 years and 116 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.