PHP 4.0 Bug #8467: Crash in Tomcat with PHP/Servlet feature
| From: | akilov at us dot ibm dot com | Date: | Thu, 28 Dec 2000 23:18:57 +0000 |
| Subject: | PHP 4.0 Bug #8467: Crash in Tomcat with PHP/Servlet feature | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-42485@lists.php.net to get a copy of this message | ||
From: akilov@us.ibm.com
Operating system: AIX4.3.2
PHP version: 4.0 Latest CVS (28/12/2000)
PHP Bug Type: Reproduceable crash
Bug description: Crash in Tomcat with PHP/Servlet feature
Trying to get PHP built on AIX with the IBM C compiler.
The setup I used is as follows:
CC=xlc_r
CFLAGS="-ma -g -Dinline= "
CXX=xlC_r
./configure --without-xml --without-mysql --with-servlet --with-java
The JDK level is IBM118.
Had to hack servlet.c and ext/java/config.m4 to make sure the
compile and link work. The change needed to servlet.c is to
rename the sapi_module structure to sapi_module_servlet since
the IBM compiler doesn't allow duplication of struct names. The
ext/java/config.m4 fix is to make it look for libjava.a instead of
the hardcoded libjava.so.
The configure/make/install work with the above setup although
there are quite a few warnings about type conversions and invalid
suffix (.lo).
Start Tomcat and attempt to invoke a PHP file and get a core
and a stack dump which points at open_file_for_scanning.
I tracked it down to the first instantiation of the
istdiostream class. More specifically, in zend_language_scanner.l >>
open_file_for_scanning() in the ZEND_HANDLE_FP case
(ZTS). The file_handle and file_handle->handle.fp are not
null but the file_handle->handle.is assignment never completes.
The native stack contains:
open_file_for_scanning
compile_file
zend_execute_scripts
php_execute_script
Java_net_php_servlet_send
Called from net.php.servlet.service() in Java.
--
Edit Bug report at: http://bugs.php.net/?id=8467&edit=1