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