[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