Kerberos failing pthreads assert when running in php+Apache2? (Mac OS X 10.4.5)

Jonathan Williams jonathan.williams at
Wed Mar 15 11:44:32 EST 2006


I've been using a port of phpkrb5 (PHP3/4) to PHP5 (http:// ~12 K, run `phpize` to  
make all the Makefiles, etc.). This is *REALLY SIMPLE* code.

One of Apple's most recent updates to Tiger seems to have caused  
Kerberos within the Apache2 context to fail a pthreads assertation.  
(However, applications using mod_auth_kerberos for HTTP  
Authentication are working fine still.)

[Tue Mar 14 17:49:06 2006] [notice] child pid 24389 exit signal Abort  
trap (6)
../../../include/fake-addrinfo.h:687: failed assertion
`pthread_equal((&(&krb5int_fac.lock)->os)->owner, pthread_self())'

Apache is and has been using the prefork mpm, not the pthreads one.  
Disabling threads support in kerberos5 yields a different error message:
./../include/k5-thread.h:667: failed assertion `(&m->os)->initialized ==
[Tue Mar 14 18:54:24 2006] [notice] child pid 8617 exit signal Abort  
trap (6)

However, the same code executed within the standalone CLI PHP binary  
fine. Perhaps the update broke pthreads? It worked before(tm).

Is there someway I can change the source of phpkrb5 to work better  
within Apache2?

Jonathan C. Williams
Web Programmer
Steinhardt School of Education
jonathan.williams at :: 212-998-5308

More information about the Kerberos mailing list