On Sunday 25 March 2012, Graham Leggett wrote:
> Fixed in apr-util is the static build of the apr_crypto interface.
> Full CHANGES are here:
> https://svn.apache.org/repos/asf/apr/apr-util/tags/1.4.2/CHANGES
>
> +/-1
> [ ] Release apr-util 1.4.2 as GA
Sorry for being late, but
-1
Works fine if linked dynamically with DSOs.
But for the static build, httpd segfaults in mod_ssl (backtrace at the
bottom of the mail). Since 1.4.1 doesn't compile with 1.4.1 at all,
it's hard to say if this is a regression. Have you tried that? I am
not sure if it's apr-util's fault or if some of the other libraries
produce some strange conflict.
Configure was:
./configure --with-crypto --with-openssl=/usr --with-nss=/usr --with-
dbm=db --with-ldap=yes --with-berkeley-db=/usr --with-pgsql --with-
mysql --with-sqlite3 --with-freetds --with-odbc --enable-maintainer-
mode --prefix=/usr/local/Aprutil1 --enable-nonportable-atomics --
enable-threads --enable-allocator-uses-mmap --with-apr=/usr/bin/apr-
config CFLAGS= -gdwarf-2 -g3 -Wextra -Wno-unused-parameter -Wno-
missing-field-initializers -Wno-sign-compare -Werror=declaration-
after-statement --disable-util-dso
configure: WARNING: unrecognized options: --enable-maintainer-mode, --
enable-nonportable-atomics, --enable-threads, --enable-allocator-uses-
mmap
If configured statically but without openssl, it doesn't compile:
crypto/apr_crypto.c: In function 'apr_crypto_get_driver':
crypto/apr_crypto.c:227:5: error: 'else' without a previous 'if'
make[1]: *** [crypto/apr_crypto.lo] Fehler 1
According to CHANGES, the only change is to fix static build, and it
fails at that. Therefore the -1.
Program terminated with signal 11, Segmentation fault.
#0 0xf5c34140 in ?? ()
(gdb) bt full
#0 0xf5c34140 in ?? ()
No symbol table info available.
#1 0xf73062f0 in int_free_ex_data (class_index=10, obj=0x8db1848,
ad=0x8db1860) at ex_data.c:522
mx = 1
i = <optimized out>
item = 0x8dc5558
ptr = <optimized out>
storage = 0x1
#2 0xf7306063 in CRYPTO_free_ex_data (class_index=10, obj=0x8db1848,
ad=0x8db1860) at ex_data.c:592
No locals.
#3 0xf73a023f in x509_cb (operation=3, pval=0xffb07870,
it=0xf7465d3c, exarg=0x0) at x_x509.c:113
ret = 0x8db1848
#4 0xf73a573c in asn1_item_combine_free (pval=<optimized out>,
it=<optimized out>, combine=0) at tasn_fre.c:173
tt = <optimized out>
seqtt = <optimized out>
ef = <optimized out>
cf = <optimized out>
aux = <optimized out>
asn1_cb = <optimized out>
i = <optimized out>
#5 0xf73a5957 in ASN1_item_free (val=0x8db1848, it=0xf7465d3c) at
tasn_fre.c:71
No locals.
#6 0xf73a0465 in X509_free (a=0x8db1848) at x_x509.c:141
No locals.
#7 0xf5d8eff3 in ssl_pphrase_Handle (s=0xf67df3e8, p=0xf67a7018) at
ssl_engine_pphrase.c:275
key_id = 0xf5a07f08 "localhost:8534:RSA"
using_cache = <optimized out>
mc = 0xf7768ce0
sc = 0xf5ab3788
pServ = 0xf5ab5388
cpVHostID = 0xf596c8f8 "localhost:8534"
szPath = "/home/stf/apache/perl-
framework/t/conf/ssl/ca/asf/certs/server.crt\000õ\000 \000\000hÈ\226õ
'\230õ\220Ã\177öì×n÷ty°ÿ`\bz÷å´~öø×n÷ôßz÷@'\230õå´~öð{°ÿ\000-
conference/x-
cooltalk\t\t\t\tice\000\000.mov\000\000ia\000\000in\000\000\000\000
w3d fgd swa\000\000signature+xml\000\000xml"...
pPrivateKey = <optimized out>
asn1 = <optimized out>
ucp = 0x8dc52f5 "ó&Ùmvgç\231\001"
length = <optimized out>
pX509Cert = 0x8db1848
bReadable = <optimized out>
aPassPhrase = 0xf596c8b8
nPassPhrase = 0
nPassPhraseCur = 134815315
cpPassPhraseCur = 0x6 <Address 0x6 out of bounds>
nPassPhraseRetry = <optimized out>
nPassPhraseDialog = 0
nPassPhraseDialogCur = 10114
bPassPhraseDialogOnce = 0
cpp = <optimized out>
i = 0
j = <optimized out>
algoCert = 1
algoKey = <optimized out>
at = 1
an = 0xf5d9ebfa "RSA"
pkey_mtime = 0
rv = <optimized out>
#8 0xf5d85f76 in ssl_init_Module (p=0xf7787018, plog=0xf67ad018,
ptemp=0xf67a7018, base_server=0xf67df3e8)
at ssl_engine_init.c:322
mc = <optimized out>
sc = 0xf5b89a50
s = <optimized out>
#9 0x0808c399 in ap_run_post_config (pconf=0xf7787018,
plog=0xf67ad018, ptemp=0xf67a7018, s=0xf67df3e8) at config.c:105
pHook = <optimized out>
n = <optimized out>
rv = 0
#10 0x0806d3ad in main (argc=9, argv=0xffb09b24) at main.c:765
c = 68 'D'
showcompile = 0
showdirectives = 0
confname = 0xffb0b20d "/home/stf/apache/perl-
framework/t/conf/httpd.conf"
def_server_root = 0xffb0b1e8 "/home/stf/apache/perl-
framework/t"
temp_error_log = 0x0
error = <optimized out>
process = 0xf77890a8
pconf = 0xf7787018
plog = 0xf67ad018
ptemp = 0xf67a7018
pcommands = 0xf67e1018
opt = 0xf67e10b8
rv = <optimized out>
mod = 0x80c0d6c
opt_arg = 0xffb0b24d "PERL_USEITHREADS"
signal_server = <optimized out>