--- Begin Message ---
Subject: |
pure guile program leaks memory |
Date: |
Sat, 03 Sep 2016 09:20:36 +0200 |
User-agent: |
Roundcube Webmail/1.1.2 |
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
Description: Text document
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#24357: pure guile program leaks memory |
Date: |
Wed, 01 Mar 2017 10:06:50 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
On Mon 12 Sep 2016 19:47, Amirouche Boubekki <address@hidden> 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
>>> <address@hidden> 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
--- End Message ---