unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* plugged a memleak
@ 2012-03-18 20:20 Andy Wingo
  2012-03-21 21:02 ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Andy Wingo @ 2012-03-18 20:20 UTC (permalink / raw)
  To: guile-devel

Hi all,

I just fixed a long-standing memory leak in Guile 2.0.  (I say that like
I'm proud or something, but of course I was the one the introduced it in
the first place!)

See c05805a4ea764dec5a0559edefcdfb9761191d07 in stable-2.0 for the
gnarly details.  The summary is that applicable smobs were being leaked,
because they were referenced in the values of weak-key tables.

This fixes Guile's compilation, where compiling eval.go would take half
a gig of memory.  It also fixes the web server, where
call-with-output-bytevector would leak a reference to the port and
bytevector.  Probably it fixes a number of other leaks.

Anyway, applied on both branches.

Happy hacking,

Andy
-- 
http://wingolog.org/



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

* Re: plugged a memleak
  2012-03-18 20:20 plugged a memleak Andy Wingo
@ 2012-03-21 21:02 ` Ludovic Courtès
  2012-03-21 22:03   ` Andy Wingo
  0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2012-03-21 21:02 UTC (permalink / raw)
  To: guile-devel

Hi!

Andy Wingo <wingo@pobox.com> skribis:

> I just fixed a long-standing memory leak in Guile 2.0.  (I say that like
> I'm proud or something, but of course I was the one the introduced it in
> the first place!)

Excellent!

> See c05805a4ea764dec5a0559edefcdfb9761191d07 in stable-2.0 for the
> gnarly details.  The summary is that applicable smobs were being leaked,
> because they were referenced in the values of weak-key tables.

I was wondering whether removing ‘smob-call’ would break binary
compatibility, but presumably that instruction could not possibly end up
in user bytecode on disk, right?

Thanks,
Ludo’.




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

* Re: plugged a memleak
  2012-03-21 21:02 ` Ludovic Courtès
@ 2012-03-21 22:03   ` Andy Wingo
  2012-03-23 18:03     ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Andy Wingo @ 2012-03-21 22:03 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guile-devel

On Wed 21 Mar 2012 22:02, ludo@gnu.org (Ludovic Courtès) writes:

>> See c05805a4ea764dec5a0559edefcdfb9761191d07 in stable-2.0 for the
>> gnarly details.  The summary is that applicable smobs were being leaked,
>> because they were referenced in the values of weak-key tables.
>
> I was wondering whether removing ‘smob-call’ would break binary
> compatibility, but presumably that instruction could not possibly end up
> in user bytecode on disk, right?

Presumably not.  It is documented, though.  We can remove it, but its
continued presence doesn't cost us anything.  I'm OK with either option
:)

Cheers,

Andy
-- 
http://wingolog.org/



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

* Re: plugged a memleak
  2012-03-21 22:03   ` Andy Wingo
@ 2012-03-23 18:03     ` Ludovic Courtès
  0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2012-03-23 18:03 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guile-devel

Hi,

Andy Wingo <wingo@pobox.com> skribis:

> On Wed 21 Mar 2012 22:02, ludo@gnu.org (Ludovic Courtès) writes:
>
>>> See c05805a4ea764dec5a0559edefcdfb9761191d07 in stable-2.0 for the
>>> gnarly details.  The summary is that applicable smobs were being leaked,
>>> because they were referenced in the values of weak-key tables.
>>
>> I was wondering whether removing ‘smob-call’ would break binary
>> compatibility, but presumably that instruction could not possibly end up
>> in user bytecode on disk, right?
>
> Presumably not.  It is documented, though.  We can remove it, but its
> continued presence doesn't cost us anything.  I'm OK with either option

Right, we can leave it.

Thanks!

Ludo’.



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

end of thread, other threads:[~2012-03-23 18:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-18 20:20 plugged a memleak Andy Wingo
2012-03-21 21:02 ` Ludovic Courtès
2012-03-21 22:03   ` Andy Wingo
2012-03-23 18:03     ` Ludovic Courtès

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).