Apache 2.2 (Apache's APR actually) has a bug in the OpenSolaris 2009.06 (including Entic.net's OpenSolaris VPS servers) release. The symptom is the web server goes unresponsive and hangs after some time.
We ran Apache in a single thread, in the foreground (httpd -f httpd.conf -X), and then used our trusty PID provider in DTrace to get a stack trace, that looks something like this:
0 80992 apr_atomic_inc32:entry
0 83055 atomic_inc_32_nv:entry
0 83401 port_getn:entry
0 85371 _portfs:entry
2 83394 ___errno:entry
2 80993 apr_atomic_dec32:entry
2 83062 atomic_dec_32_nv:entry
2 83394 ___errno:entry
2 83394 ___errno:entry
2 80853 apr_pollset_poll:entry
2 83124 __div64:entry
2 83121 UDiv:entry
2 83125 __rem64:entry
2 83120 UDivRem:entry
2 80992 apr_atomic_inc32:entry
2 83055 atomic_inc_32_nv:entry
2 83401 port_getn:entry
2 85371 _portfs:entry
Thanks to some great folks over at Sun, we've gotten a workaround that fixes this. The final fix won't be available until APR is upgraded or until build 124.
0 Responses to Apache unreliable in OpenSolaris 2009.06... workaround available!