apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hyrum K. Wright" <hyrum_wri...@mail.utexas.edu>
Subject Segfault with APR 1.3.9 on Mac OS X 10.6.1
Date Mon, 12 Oct 2009 18:42:03 GMT
Hi all.

I recently upgraded to APR 1.3.9, and almost all of the Subversion  
unit tests started failing.  Upon further investigation, there is a  
segfault inside the apr_psprintf() function of APR.  I believe this  
might be related to this the "Better handling of APR_OFF_T_FMT for  
Darwin 10 depending on -arch setting of compiler" item listed in  
CHANGES.  I'm running Mac OS X 10.6.1, on an early-2008-era MacBook  
Pro.  Please let me know if you need additional about my environment.

Using APR 1.3.9, I was able to tickle the bug using the attached 40- 
line program, giving the following output:

[[[
hyrum-wrights-macbook-pro-2:test Hyrum$ gcc -Wall -g -o apr-test apr- 
test.c -I/opt/local/include/apr-1/ -lapr-1 -L/opt/local/lib
hyrum-wrights-macbook-pro-2:test Hyrum$ ./apr-test
Running with apr version '1.3.9'
Segmentation fault
hyrum-wrights-macbook-pro-2:test Hyrum$ gdb ./apr-test
GNU gdb 6.3.50-20050815 (Apple version gdb-1344) (Fri Jul  3 01:19:56  
UTC 2009)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and  
you are
welcome to change it and/or distribute copies of it under certain  
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for  
details.
This GDB was configured as "x86_64-apple-darwin"...Reading symbols for  
shared libraries ... done

(gdb) r
Starting program: /Users/Hyrum/dev/test/apr-test
Reading symbols for shared libraries ++. done

Running with apr version '1.3.9'

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
0x00007fff8004ec00 in strlen ()
(gdb) bt
#0  0x00007fff8004ec00 in strlen ()
#1  0x0000000100006594 in apr_vformatter ()
#2  0x000000010001043c in apr_pvsprintf ()
#3  0x00000001000106db in apr_psprintf ()
#4  0x0000000100000e6e in main (argc=1, argv=0x7fff5fbff8e0) at apr- 
test.c:31
(gdb)
]]]

Running the same program with APR 1.3.8 gives:

[[[
hyrum-wrights-macbook-pro-2:test Hyrum$ gcc -Wall -g -o apr-test apr- 
test.c -I/opt/local/include/apr-1/ -lapr-1 -L/opt/local/lib
apr-test.c: In function ‘main’:
apr-test.c:33: warning: format ‘%ld’ expects type ‘long int’, but  
argument 4 has type ‘apr_off_t’
apr-test.c:33: warning: format ‘%ld’ expects type ‘long int’, but  
argument 5 has type ‘apr_off_t’
apr-test.c:33: warning: format ‘%ld’ expects type ‘long int’, but  
argument 6 has type ‘apr_off_t’
hyrum-wrights-macbook-pro-2:test Hyrum$ gdb ./apr-testGNU gdb  
6.3.50-20050815 (Apple version gdb-1344) (Fri Jul  3 01:19:56 UTC 2009)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and  
you are
welcome to change it and/or distribute copies of it under certain  
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for  
details.
This GDB was configured as "x86_64-apple-darwin"...Reading symbols for  
shared libraries ... done

(gdb) r
Starting program: /Users/Hyrum/dev/test/apr-test
Reading symbols for shared libraries ++. done

Running with apr version '1.3.8'
'42 10 11 12 itsy bitsy spider'

Program exited normally.
(gdb)
]]]

Hopefully this helps fix the problem.  Oh, and http://www.apache.org/dist/apr/CHANGES-APR-1.3

  hasn't yet been updated to reflect 1.3.9.

Cheers,
-Hyrum


Mime
View raw message