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
