[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] Chicken 4.9.0rc1 fails test on OpenBSD 5.4

From: Peter Bex
Subject: Re: [Chicken-users] Chicken 4.9.0rc1 fails test on OpenBSD 5.4
Date: Sat, 3 May 2014 14:21:32 +0200
User-agent: Mutt/

On Wed, Apr 30, 2014 at 12:44:07AM +0000, Mario Domenech Goulart wrote:
> Thanks for reporting this issue.  I can reproduce it on OpenBSD/amd64
> 5.4 with clang 3.3.  I can't reproduce it using gcc 4.2.1 on the same
> platform.

Hi folks,

After some time wasted on attempting to get gdb to properly read
clang-built binaries, I found the cause by adding another paranoid
check :)

The attached patch adds the paranoid check.  I don't think we should
add it just yet, because this consistently causes the test to crash
on any machine (AFAICT).  The reason it's failing is because the test
which tries whether APPLY can properly detect when the apply limit is
exceeded will cause a GC to happen.  When the GC happens, the arguments
to the function are saved by C_save_rest(...).  Of course, the temporary
stack is only big enough to hold the maximum number of accepted
arguments for apply, in any case.  This means it will overflow the memory
set aside for the stack.

> I think this issue deserves some investigation before we release 4.9.0.

I'm unsure how to fix this without overhauling the temp stack management,
which I've been planning to do for #1098.  Perhaps we can disable the
test for the moment?  Or just leave it as is because it only happens on
one platform, and only intermittently (and the test is sort of useful).

This means we don't need to postpone the release any longer, IMHO.  Once
we've decided what to do with this test, we can build a new tarball (with
a manual this time!) and make the release.


Attachment: detect-tempstack-overflow.diff
Description: Text document

reply via email to

[Prev in Thread] Current Thread [Next in Thread]