Peter Djalaliev wrote:
I started from scratch, installing downloading, compiling and installing
everything on another machine. Here is exactly what I did:
I started from scratch on a machine with Ubuntu Linux, kernel 2.6. I
downloaded and installed OpenSSL 0.9.8. Then I download and installed
Apache 2.0.55 with SSL enabled. After that, I downloaded NSPR 4.6 (both
the source tree and the release) and NSS 3.10 (source tree). I copied
the nsprpub from the mozilla dir of the NSPR 4.6 source tree to the
mozilla dir of the NSS 3.10 source tree. After compiling NSS, I used
this and the compiled release of NSPR 4.6 to compile mod_nss, which I
downloaded from the Fedora Directory Server website.
After compiling mod_nss, I installed it and modified the nss.conf (in
the Apache conf dir) file as follows: put <IfDefine SSL> and </IfDefine>
around its contents, specified where NSS should be looking for its
database and changed the nickname of the certificate NSS should look for
in the database.
At this point, I could run 'apachectl startssl', which would ask me for
the NSS database password and then start. I could establish the secure
connection through a browser - after being asked to accept the
certificate (which is the one I wanted NSS to use).
However, if I run 'httpd -X -k start' or 'httpd -X -k startssl', I get a
segmentation fault and a core dump. When I used GDB to analyze it,
everythig seems fine until at some point, when the httpd executable
receives a SIGSEGV signal for a segmentation fault.
Strange that it would crash without startssl (when theoretically it
isn't invoking mod_nss). Can you send me a stack trace of the
non-pthreads crashes, both with and without startssl?
Now, if I reinstall Apache 2.0.55 from the same source tree I used
before (after first deleting the directory of the installed Apache), I
can run 'httpd -X -k start' with no problem. In the end, I generated a
key and a self-signed certificate and fired up Apache w/ mod_ssl with
'httpd -X -k start -DSSL'. It worked alright.
So, it seems that when I try to use mod_nss, I get a segmentation fault
when I try to use debugging. When I revert back to mod_ssl, it works
fine. Where could things be going wrong?
All -X does is prevent forking, so I'm not sure why it is causing you so