On Fri, Feb 14, 2014 at 09:00:31PM -0800, Philip Guenther wrote:
> On Fri, Feb 14, 2014 at 8:20 PM, Juan Francisco Cantero Hurtado
> <[email protected]> wrote:
> > Can someone tell me if this crash is due to a bug on OpenBSD or on
> > Racket?  I'm asking because the backtrace shows "atexit" and I don't
> > know if it is something related to the changes to atexit. I only see the
> > bug when racket is compiled with gcc. With clang (on amd64), racket
> > works fine.
> >
> > http://bugs.racket-lang.org/query/?cmd=view%20audit-trail&database=default&pr=14318
> 
> To quote that:
> > #5  0x0000175f2cf6ea82 in strlen (str=0x0) at 
> > /usr/src/lib/libc/string/strlen.c:43
> >         s = Variable "s" is not available.
> 
> strlen(NULL) is an error.  The question is what happened above that;
> why is that being called only when compiled with gcc and not with
> clang?  The default answer to that question is "undefined behavior
> according to C standard in calling program"...but you need to look at
> the calling code to be sure.

Thanks for the help. I'll add your answer to the report.

I've been running a lot of tests with different options today. I can
reproduce the bug with gcc 4.2, 4.6 and 4.8 with -O2 and -O1. When
racket is compiled with -O0, it passes all tests. Disable the
integrated assembler or the builtins of clang doesn't trigger the bug.

Fortunately I have a crappy workaround now. :)

-- 
Juan Francisco Cantero Hurtado http://juanfra.info

Reply via email to