On Thu, Jun 30, 2011, Jeremy Evans wrote: > Regress tests have one failure on both amd64 and i386, a segfault in a > gmtime call: > > Not sure if that's a bug in the test code or a bug in our gmtime > implementation, though. Simple testing with a ruby application using > rack-mongrel2 shows no errors.
Ah, this shit again. See history for libc/time/localtime.c. I fixed exactly this bug (guess how I found it :)), but it got lost in the timezone update. They appear to have worked this file over harder than I did to avoid stack data, but they made it optional and not enabled by default. Maybe the patch below is all that's needed? Index: localtime.c =================================================================== RCS file: /home/tedu/cvs/src/lib/libc/time/localtime.c,v retrieving revision 1.37 diff -u -r1.37 localtime.c --- localtime.c 25 Apr 2011 13:27:27 -0000 1.37 +++ localtime.c 30 Jun 2011 20:45:03 -0000 @@ -17,6 +17,8 @@ #include "float.h" /* for FLT_MAX and DBL_MAX */ #include "thread_private.h" +#define ALL_STATE + #ifndef TZ_ABBR_MAX_LEN #define TZ_ABBR_MAX_LEN 16 #endif /* !defined TZ_ABBR_MAX_LEN */
