PHP 4.0 Bug #4504: TSRM problems with Netscape Enterprise Server
| From: | anthony dot whitehead at rfv dot sfa dot se | Date: | Thu, 18 May 2000 17:21:14 +0000 |
| Subject: | PHP 4.0 Bug #4504: TSRM problems with Netscape Enterprise Server | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-18920@lists.php.net to get a copy of this message | ||
From: anthony.whitehead@rfv.sfa.se
Operating system: Solaris 2.6 & Solaris 7
PHP version: 4.0 Release Candidate 2
PHP Bug Type: Reproduceable crash
Bug description: TSRM problems with Netscape Enterprise Server
With both GnuPth and POSIX threads I get a similar problem, same
problem in Netscape Enterprise 3.6 and 4.0, same problem with
Solaris 2.6 and Solaris 7. Same problem with gcc 2.8.1 and 2.95.2
Same problem with IBMdb2 v5.0 and v6.1.
No problems with Apache 1.3.12 using the same platforms and versions.
Configure options: --with-ibm-db2 --with-ns-api --enable-libgcc
Compile requires additional -DXP_UNIX flag for the nsapi to work, this
was added as a line in the nsapi.h file rather than the php4 files:
#define XP_UNIX
Without this flag the php will not compile the NSAPI functions at all.
Once compiled and installed, setting the correct LD_LIBRARY_PATH was required for the db2 libs to be
found by Netscape.
The suggested setting were made in the obj.conf file and the server started.
A crash during the startup results, here is the trace from gdb: info stack
(gdb) info stack
#0 0xef3552a8 in _ti_pthread_mutex_lock ()
#1 0xee48c77c in tsrm_mutex_lock (mutexp=0x0) at TSRM.c:384
#2 0xee48c4f4 in ts_resource (id=0) at TSRM.c:218
#3 0xee40006c in php4_init (pb=0xaffc8, sn=0x0, rq=0x0) at nsapi.c:479
#4 0xef68b218 in
__0Fafunc_native_pool_wait_workPFP6GpblockP6HSessionP6HRequest_iP6GpblockP6HSessionP6HRequest ()
#5 0xef68ad88 in INTfunc_exec ()
#6 0xef688808 in INTconf_run_init_functions ()
#7 0x22dd4 in __0FLmagnus_initP6KPRFileDesc ()
#8 0x234ac in main ()
A similar trace is found for GnuPth, except the last call is to ts_resource(id=0)
I hope you can find a fix for this problem because I'm fighting madly to
get PHP to be used instead of the planned ASP solution.
Is there any way to disable the threading?
Anthony Whitehead
Swedish Social Security Ministry IT