GNU bug report logs - #24357
pure guile program leaks memory

Previous Next

Package: guile;

Reported by: Amirouche Boubekki <amirouche <at> hypermove.net>

Date: Sat, 3 Sep 2016 07:21:02 UTC

Severity: normal

Done: Andy Wingo <wingo <at> pobox.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Andy Wingo <wingo <at> pobox.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#24357: closed (pure guile program leaks memory)
Date: Wed, 01 Mar 2017 09:08:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 01 Mar 2017 10:06:50 +0100
with message-id <8737exjrh1.fsf <at> pobox.com>
and subject line Re: bug#24357: pure guile program leaks memory
has caused the debbugs.gnu.org bug report #24357,
regarding pure guile program leaks memory
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
24357: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=24357
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Amirouche Boubekki <amirouche <at> hypermove.net>
To: bug-guile <at> gnu.org
Subject: pure guile program leaks memory
Date: Sat, 03 Sep 2016 09:20:36 +0200
[Message part 3 (text/plain, inline)]
Using guile 2.1.3, I have a program that:

- reads urls from a text file
- download the urls using curl command via popen
- output the result to stdout

Also, it relies on n-for-each-par-map for ice-9 threads.

IMO, the most suspicious is the definition of the `curl' proc:


  (define (curl url)
     (let* ((port (open-input-pipe (format #f "curl -is \"~a\"" url)))
            (response (read-string port)))
       (close-pipe port)
       response))


I fail to see how this can leak.

To reproduce the bug you need a giant list of preferably different urls.
Such a list is available at http://hyperdev.fr/data/hn/hn.urls.txt.xz

You can run the test program with the following command:

   cat hn.urls.txt | guile urls-step00-fetch.scm > /dev/null

This is not the only program I tried on guile-2.1.3 that leaks but
it's the easiest to reproduce.

I will try to reproduce the bug on 2.0.12.
[urls-step00-fetch.scm (text/plain, attachment)]
[Message part 5 (message/rfc822, inline)]
From: Andy Wingo <wingo <at> pobox.com>
To: Amirouche Boubekki <amirouche <at> hypermove.net>
Cc: 24357-done <at> debbugs.gnu.org
Subject: Re: bug#24357: pure guile program leaks memory
Date: Wed, 01 Mar 2017 10:06:50 +0100
On Mon 12 Sep 2016 19:47, Amirouche Boubekki <amirouche <at> hypermove.net> writes:

> On 2016-09-03 20:49, Amirouche Boubekki wrote:
>> On 2016-09-03 11:54, Andy Wingo wrote:
>>> On Sat 03 Sep 2016 09:20, Amirouche Boubekki
>>> <amirouche <at> hypermove.net> writes:
>>>
>>>> Using guile 2.1.3, I have a program that:
>>>>
>>>> - reads urls from a text file
>>>> - download the urls using curl command via popen
>>>> - output the result to stdout
>>>>
>>>> Also, it relies on n-for-each-par-map for ice-9 threads.
>>>
>>> Can you reduce it please?  For example, remove the use of threads.
>>>
>>
>> Ok. I removed threads and only download the same url over and over
>> again.
>>
>> Here is the error I get on stdout:
>>
>>    (23) Failed writing body
>
> Internet says this a curl issue. Please close this bug.

No problem.  For reference, in the future just add "-done" after the bug
number in the mail, as I did above.  Cheers :)

Andy


This bug report was last modified 8 years and 142 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.