I did. It didn't help. -Mike
From: Mark Phippard [mailto:markp...@gmail.com] Sent: Monday, August 22, 2011 10:48 AM To: RYTTING,MICHAEL (A-ColSprings,ex1) Cc: philip.mar...@wandisco.com; dev@subversion.apache.org; us...@subversion.apache.org Subject: Re: Problems compiling 1.7.0 on redhat el4 64bit Michael, did you ever get a chance trying the -fno-strict-aliasing flag rather than removing all optimizations? On Mon, Aug 22, 2011 at 12:43 PM, <michael_rytt...@agilent.com<mailto:michael_rytt...@agilent.com>> wrote: No luck, still crashing. -----Original Message----- From: Philip Martin [mailto:philip.mar...@wandisco.com<mailto:philip.mar...@wandisco.com>] Sent: Monday, August 22, 2011 10:23 AM To: RYTTING,MICHAEL (A-ColSprings,ex1) Cc: markp...@gmail.com<mailto:markp...@gmail.com>; dev@subversion.apache.org<mailto:dev@subversion.apache.org>; us...@subversion.apache.org<mailto:us...@subversion.apache.org> Subject: Re: Problems compiling 1.7.0 on redhat el4 64bit <michael_rytt...@agilent.com<mailto:michael_rytt...@agilent.com>> writes: > It is set to 1 >> >> Looking at the rest of the stack trace I would say this is the first >> call to a utf8 conversion function that would have invoked >> get_xlate_handle_node and I suspect it is that function that is going >> wrong. At a guess something to do with the use of atomic_swap, which >> makes it important to confirm the value of APR_HAS_THREADS. I wonder if it is connected to this APR bug: https://issues.apache.org/bugzilla/show_bug.cgi?id=50731 In subversion/libsvn_subr/utf.c we declare static volatile void *xlat_ntou_static_handle = NULL; static volatile void *xlat_uton_static_handle = NULL; that is "pointers to volatile data", as required by APR, but we really want "volatile pointers to data". Perhaps we should do something similar to svn_cache_config.c. Would you try this patch built with optimisations enabled: Index: subversion/libsvn_subr/utf.c =================================================================== --- subversion/libsvn_subr/utf.c (revision 1160136) +++ subversion/libsvn_subr/utf.c (working copy) @@ -90,8 +90,8 @@ * using atomic xchange ops, i.e. without further thread synchronization. * If the respective item is NULL, fallback to hash lookup. */ -static volatile void *xlat_ntou_static_handle = NULL; -static volatile void *xlat_uton_static_handle = NULL; +static void * volatile xlat_ntou_static_handle = NULL; static void * +volatile xlat_uton_static_handle = NULL; /* Clean up the xlate handle cache. */ static apr_status_t @@ -182,11 +182,11 @@ * the caller. */ static APR_INLINE void* -atomic_swap(volatile void **mem, void *new_value) +atomic_swap(void * volatile * mem, void *new_value) { #if APR_HAS_THREADS #if APR_VERSION_AT_LEAST(1,3,0) - return apr_atomic_xchgptr(mem, new_value); + return apr_atomic_xchgptr((volatile void **)mem, new_value); #else /* old APRs don't support atomic swaps. Simply return the * input to the caller for further proccessing. */ -- uberSVN: Apache Subversion Made Easy http://www.uberSVN.com -- Thanks Mark Phippard http://markphip.blogspot.com/