From: sgovindu at yahoo dot com Operating system: Red Hat Linux release 9 (Shrike) PHP version: 4.3.9 PHP Bug Type: Servlet related Bug description: Tomcat 5.0.28 crashes during session sharing between servlet and PHP
Description: ------------ 1. Configured mod_jk2 in apache to serve jsp, servlet as well as PHP through tomcat. 2. Created a simple servlet which creates or destroys a HTTP session. 3. After the session gets created, accessed a PHP to print the session data. 4. On a successive cycle of create session and destroy session more than 5 times, tomcat crashes. java version "1.4.2_05" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04) Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode) Version: Apache Tomcat/5.0.28 Reproduce code: --------------- <?php $session = $request->session; print "<P>\n"; print "The following data is in your session:<br>\n"; $e = $session->attributeNames; while($e->hasMoreElements()) { $name = $e->nextElement(); $value = $session->getAttribute($name); print "$name = $value<br>\n"; } ?> Sessions example of tomcat has been used to create or detroy a session Expected result: ---------------- Session created in servlet should be displayed by the PHP code. Actual result: -------------- An unexpected exception has been detected in native code outside the VM. Unexpected Signal : 11 occurred at PC=0x4E9C4036 Function=zend_hash_index_update_or_next_insert+0x3A Library=/home/testuser/sastry/php-4.3.9/libs/libphp4.so Current Java thread: at net.php.reflect.setResultFromObject(Native Method) at net.php.reflect.setResult(reflect.java:105) at net.php.servlet.readCookies(servlet.java:93) at net.php.servlet.send(Native Method) at net.php.servlet.service(servlet.java:190) at net.php.servlet.service(servlet.java:214) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675) at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:534) -- Edit bug report at http://bugs.php.net/?id=30788&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=30788&r=trysnapshot4 Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=30788&r=trysnapshot50 Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=30788&r=trysnapshot51 Fixed in CVS: http://bugs.php.net/fix.php?id=30788&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=30788&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=30788&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=30788&r=needscript Try newer version: http://bugs.php.net/fix.php?id=30788&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=30788&r=support Expected behavior: http://bugs.php.net/fix.php?id=30788&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=30788&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=30788&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=30788&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=30788&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=30788&r=dst IIS Stability: http://bugs.php.net/fix.php?id=30788&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=30788&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=30788&r=float MySQL Configuration Error: http://bugs.php.net/fix.php?id=30788&r=mysqlcfg