unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* Re: Holidays vs. release
       [not found] <20111220210919.0YNV7.4169.root@cdptpa-web14-z02>
@ 2011-12-21  0:59 ` dsmich
  2012-01-04 23:57   ` bug#10336: " Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: dsmich @ 2011-12-21  0:59 UTC (permalink / raw)
  To: guile-devel, Ludovic Courtès, dsmich, bug-guile


---- dsmich@roadrunner.com wrote: 
> 
> ---- "Ludovic Courtès" <ludo@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




^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#10336: Holidays vs. release
  2011-12-21  0:59 ` Holidays vs. release dsmich
@ 2012-01-04 23:57   ` Ludovic Courtès
  2012-01-25 16:10     ` Ludovic Courtès
  0 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2012-01-04 23:57 UTC (permalink / raw)
  To: dsmich; +Cc: 10336

<dsmich@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’.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#10336: Holidays vs. release
  2012-01-04 23:57   ` bug#10336: " Ludovic Courtès
@ 2012-01-25 16:10     ` Ludovic Courtès
  2012-01-25 18:07       ` Andy Wingo
                         ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Ludovic Courtès @ 2012-01-25 16:10 UTC (permalink / raw)
  To: dsmich; +Cc: 10336

Hello!

ludo@gnu.org (Ludovic Courtès) skribis:

> <dsmich@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’.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#10336: Holidays vs. release
  2012-01-25 16:10     ` Ludovic Courtès
@ 2012-01-25 18:07       ` Andy Wingo
  2012-01-26  4:40         ` dsmich
  2012-01-25 20:34       ` Ludovic Courtès
  2012-01-27 18:36       ` bug#10336: lexical vars are collectable test is failing Andy Wingo
  2 siblings, 1 reply; 9+ messages in thread
From: Andy Wingo @ 2012-01-25 18:07 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 10336

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@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/





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#10336: Holidays vs. release
  2012-01-25 16:10     ` Ludovic Courtès
  2012-01-25 18:07       ` Andy Wingo
@ 2012-01-25 20:34       ` Ludovic Courtès
  2012-01-25 23:05         ` Andy Wingo
  2012-01-27 18:36       ` bug#10336: lexical vars are collectable test is failing Andy Wingo
  2 siblings, 1 reply; 9+ messages in thread
From: Ludovic Courtès @ 2012-01-25 20:34 UTC (permalink / raw)
  To: dsmich; +Cc: 10336

Hello,

Andy Wingo <wingo@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’.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#10336: Holidays vs. release
  2012-01-25 20:34       ` Ludovic Courtès
@ 2012-01-25 23:05         ` Andy Wingo
  0 siblings, 0 replies; 9+ messages in thread
From: Andy Wingo @ 2012-01-25 23:05 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 10336

Hi,

On Wed 25 Jan 2012 21:34, ludo@gnu.org (Ludovic Courtès) writes:

> Andy Wingo <wingo@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/





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#10336: Holidays vs. release
  2012-01-25 18:07       ` Andy Wingo
@ 2012-01-26  4:40         ` dsmich
  0 siblings, 0 replies; 9+ messages in thread
From: dsmich @ 2012-01-26  4:40 UTC (permalink / raw)
  To: Ludovic Courtès, Andy Wingo; +Cc: 10336


---- Andy Wingo <wingo@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@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






^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#10336: lexical vars are collectable test is failing
  2012-01-25 16:10     ` Ludovic Courtès
  2012-01-25 18:07       ` Andy Wingo
  2012-01-25 20:34       ` Ludovic Courtès
@ 2012-01-27 18:36       ` Andy Wingo
  2012-02-01 23:16         ` Andy Wingo
  2 siblings, 1 reply; 9+ messages in thread
From: Andy Wingo @ 2012-01-27 18:36 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 10336

retitle 10366 lexical vars are collectable test is failing

On Wed 25 Jan 2012 17:10, ludo@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/





^ permalink raw reply	[flat|nested] 9+ messages in thread

* bug#10336: lexical vars are collectable test is failing
  2012-01-27 18:36       ` bug#10336: lexical vars are collectable test is failing Andy Wingo
@ 2012-02-01 23:16         ` Andy Wingo
  0 siblings, 0 replies; 9+ messages in thread
From: Andy Wingo @ 2012-02-01 23:16 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 10336-done

On Fri 27 Jan 2012 19:36, Andy Wingo <wingo@pobox.com> writes:

> On Wed 25 Jan 2012 17:10, ludo@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/





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-02-01 23:16 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20111220210919.0YNV7.4169.root@cdptpa-web14-z02>
2011-12-21  0:59 ` Holidays vs. release dsmich
2012-01-04 23:57   ` bug#10336: " Ludovic Courtès
2012-01-25 16:10     ` Ludovic Courtès
2012-01-25 18:07       ` Andy Wingo
2012-01-26  4:40         ` dsmich
2012-01-25 20:34       ` Ludovic Courtès
2012-01-25 23:05         ` Andy Wingo
2012-01-27 18:36       ` bug#10336: lexical vars are collectable test is failing Andy Wingo
2012-02-01 23:16         ` Andy Wingo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).