unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* Re: GNU Guile 2.1.3 released
       [not found] <mailman.9608.1466686215.1214.guile-devel@gnu.org>
@ 2016-06-23 12:59 ` Daniel Llorens
  2016-06-23 16:11   ` Andy Wingo
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel Llorens @ 2016-06-23 12:59 UTC (permalink / raw)
  To: guile-devel



>> On Jun 19, 2016, at 2:31 AM, Andy Wingo <wingo@pobox.com> wrote:
>> 
>> We are pleased to announce GNU Guile release 2.1.3.
> 
> Tried on my Mac OS 10.10.5 against Macports 2.3.4 w/ gcc-mp-5.  
> configure went OK
> make went OK
> make check generated FAIL for test-language and test-stack-overflow and stopped working after test-stack-overflow.
> 
> See attached.
> 
> Matt

I can confirm the failure of test-stack-overflow on 10.9.5 too. 


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

* Re: GNU Guile 2.1.3 released
  2016-06-23 12:59 ` GNU Guile 2.1.3 released Daniel Llorens
@ 2016-06-23 16:11   ` Andy Wingo
  2016-06-24 16:18     ` Matt Wette
  0 siblings, 1 reply; 5+ messages in thread
From: Andy Wingo @ 2016-06-23 16:11 UTC (permalink / raw)
  To: Daniel Llorens; +Cc: guile-devel

On Thu 23 Jun 2016 14:59, Daniel Llorens <daniel.llorens@bluewin.ch> writes:

>>> We are pleased to announce GNU Guile release 2.1.3.
>> 
>> Tried on my Mac OS 10.10.5 against Macports 2.3.4 w/ gcc-mp-5.  
>> make check generated FAIL for test-language and test-stack-overflow and stopped working after test-stack-overflow.
>
> I can confirm the failure of test-stack-overflow on 10.9.5 too. 

I am not sure how to debug this one as I don't have a Mac.  If you are
able to figure this one out, Daniel, that would be a great help.

Andy



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

* Re: GNU Guile 2.1.3 released
  2016-06-23 16:11   ` Andy Wingo
@ 2016-06-24 16:18     ` Matt Wette
  2016-06-24 17:11       ` Daniel Llorens
  2016-06-24 17:16       ` Andy Wingo
  0 siblings, 2 replies; 5+ messages in thread
From: Matt Wette @ 2016-06-24 16:18 UTC (permalink / raw)
  To: Andy Wingo; +Cc: guile-devel, Daniel Llorens

[-- Attachment #1: Type: text/plain, Size: 1539 bytes --]


> On Jun 23, 2016, at 9:11 AM, Andy Wingo <wingo@pobox.com> wrote:
> 
> On Thu 23 Jun 2016 14:59, Daniel Llorens <daniel.llorens@bluewin.ch> writes:
> 
>>>> We are pleased to announce GNU Guile release 2.1.3.
>>> 
>>> Tried on my Mac OS 10.10.5 against Macports 2.3.4 w/ gcc-mp-5.  
>>> make check generated FAIL for test-language and test-stack-overflow and stopped working after test-stack-overflow.
>> 
>> I can confirm the failure of test-stack-overflow on 10.9.5 too. 
> 
> I am not sure how to debug this one as I don't have a Mac.  If you are
> able to figure this one out, Daniel, that would be a great help.

I was able to get gdb-uninstalled-guile to run (by symlinking libguile-2.2.dynlib in $prefix/lib).  I accidentally killed the process.  But before I restart I want to understand the intended behavior.  The relevant code from test-stack-overflow is this:

;; 100 MB.
(define *limit* (* 100 1024 1024))

(call-with-values (lambda () (getrlimit 'as))
  (lambda (soft hard)
    (unless (and soft (< soft *limit*))
      (setrlimit 'as (if hard (min *limit* hard) *limit*) hard))))

(define (test)
  (catch 'stack-overflow
    (lambda ()
      (let lp ()
        (lp)
        (error "should not be reached")))
    (lambda _
      #t)))

On my mac (getrlimit ‘as) => #f #f.   So it looks like the args to setrlimit are 100 MB and #f.  Is the program supposed to die gracefully at 100 MB?   When I (accidentally) stopped the program (under gdb) the process was using 56 GB of memory.

Matt

[-- Attachment #2: Type: text/html, Size: 3822 bytes --]

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

* Re: GNU Guile 2.1.3 released
  2016-06-24 16:18     ` Matt Wette
@ 2016-06-24 17:11       ` Daniel Llorens
  2016-06-24 17:16       ` Andy Wingo
  1 sibling, 0 replies; 5+ messages in thread
From: Daniel Llorens @ 2016-06-24 17:11 UTC (permalink / raw)
  To: Matt Wette; +Cc: Andy Wingo, guile-devel

[-- Attachment #1: Type: text/plain, Size: 2353 bytes --]


On 24 Jun 2016, at 18:18, Matt Wette <matt.wette@gmail.com> wrote:

> 
>> On Jun 23, 2016, at 9:11 AM, Andy Wingo <wingo@pobox.com> wrote:
>> 
>> On Thu 23 Jun 2016 14:59, Daniel Llorens <daniel.llorens@bluewin.ch> writes:
>> 
>>>>> We are pleased to announce GNU Guile release 2.1.3.
>>>> 
>>>> Tried on my Mac OS 10.10.5 against Macports 2.3.4 w/ gcc-mp-5.  
>>>> make check generated FAIL for test-language and test-stack-overflow and stopped working after test-stack-overflow.
>>> 
>>> I can confirm the failure of test-stack-overflow on 10.9.5 too. 
>> 
>> I am not sure how to debug this one as I don't have a Mac.  If you are
>> able to figure this one out, Daniel, that would be a great help.
> 
> I was able to get gdb-uninstalled-guile to run (by symlinking libguile-2.2.dynlib in $prefix/lib).  I accidentally killed the process.  But before I restart I want to understand the intended behavior.  The relevant code from test-stack-overflow is this:
> 
> ;; 100 MB.
> (define *limit* (* 100 1024 1024))
> 
> (call-with-values (lambda () (getrlimit 'as))
>   (lambda (soft hard)
>     (unless (and soft (< soft *limit*))
>       (setrlimit 'as (if hard (min *limit* hard) *limit*) hard))))
> 
> (define (test)
>   (catch 'stack-overflow
>     (lambda ()
>       (let lp ()
>         (lp)
>         (error "should not be reached")))
>     (lambda _
>       #t)))
> 
> On my mac (getrlimit ‘as) => #f #f.   So it looks like the args to setrlimit are 100 MB and #f.  Is the program supposed to die gracefully at 100 MB?   When I (accidentally) stopped the program (under gdb) the process was using 56 GB of memory.
> 
> Matt

Yes, the OS is supposed to send a signal when the limit is reached and Guile handles it and throws an exception. So the test just catches that a few times and then ends.

We looked at this over IRC and it seems OS X simply ignores these limits. There are complaints about it all over the web.  If you hadn't stopped the process it would have started to eat swap space and eventually take down your machine. 

For the time being these tests are disabled in master (http://git.savannah.gnu.org/gitweb/?p=guile.git;a=commitdiff;h=9687334ff52a2def369e7abb8563401351db9be7).

Thanks for bringing this up.  I use Guile on OS X but I hadn't run make check for a while.






[-- Attachment #2: Type: text/html, Size: 5061 bytes --]

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

* Re: GNU Guile 2.1.3 released
  2016-06-24 16:18     ` Matt Wette
  2016-06-24 17:11       ` Daniel Llorens
@ 2016-06-24 17:16       ` Andy Wingo
  1 sibling, 0 replies; 5+ messages in thread
From: Andy Wingo @ 2016-06-24 17:16 UTC (permalink / raw)
  To: Matt Wette; +Cc: guile-devel, Daniel Llorens

On Fri 24 Jun 2016 18:18, Matt Wette <matt.wette@gmail.com> writes:

> On my mac (getrlimit ‘as) => #f #f. So it looks like the args to
> setrlimit are 100 MB and #f. Is the program supposed to die gracefully
> at 100 MB? When I (accidentally) stopped the program (under gdb) the
> process was using 56 GB of memory.

Apparently setrlimit(RLIMIT_AS, ...) "succeeds" on macOS but doesn't
actually do anything :-//////

Daniel added a check for macOS in the test case and so we won't test
setrlimit.

Andy



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

end of thread, other threads:[~2016-06-24 17:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <mailman.9608.1466686215.1214.guile-devel@gnu.org>
2016-06-23 12:59 ` GNU Guile 2.1.3 released Daniel Llorens
2016-06-23 16:11   ` Andy Wingo
2016-06-24 16:18     ` Matt Wette
2016-06-24 17:11       ` Daniel Llorens
2016-06-24 17: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).