[MacPorts] #22032: subversion 1.6.5 segfault during commit

MacPorts noreply at macports.org
Sat Jan 2 13:39:21 PST 2010


#22032: subversion 1.6.5 segfault during commit
---------------------------------+------------------------------------------
 Reporter:  enolte@…             |       Owner:  dluke@…           
     Type:  defect               |      Status:  assigned          
 Priority:  Normal               |   Milestone:                    
Component:  ports                |     Version:  1.8.1             
 Keywords:                       |        Port:  subversion        
---------------------------------+------------------------------------------

Comment(by gwynne@…):

 This is an upstream bug in, of all things, APR 1.3.9. Some heavy GDBing
 revealed that apr_psprintf() doesn't parse the %lld specifier format
 correctly, which causes it not to advance the va_list correctly, which
 causes it to crash in strlen() when it tries to handle the %s format,
 because it's accessing the wrong pointer. The use of the %lld specifier is
 also in APR (defined by APR_OFF_T_FMT on Darwin), making it an internal
 inconsistency. Ironically, this appears to be caused by this bit in APR's
 configure.in, new in APR 1.3.9:

 {{{
     # Per OS tuning...
     case $host in
     *apple-darwin10.*)
         # off_t is a long long, but long == long long
         if test "$ac_cv_sizeof_long" = "$ac_cv_sizeof_long_long"; then
             off_t_fmt='#define APR_OFF_T_FMT "lld"'
         fi
         ;;
     esac
 }}}

 This check appears to be fallacious. I've attached the obvious patch to
 solve the issue (against APR version 1.3.9), and I've opened an upstream
 bug against APR.

-- 
Ticket URL: <http://trac.macports.org/ticket/22032#comment:31>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list