Hi All, I am porting PHP for NetWare. I have run into a problem during unit testing and I seek inputs from you on this.
I am using two scripts: 1. In one, I am using a simple while loop: <?php for ($i=0; $i<100000; $i++) { echo "Loop no = $i"."<br>"; } ?> 2. In the other, I am just displaying the PHP info using <?php phpinfo(); ?> If I run these scripts individually, it is fine. Even if run the while loop script simultaneously on two different browsers, it works fine on both the browsers. But if I run the first script (while loop) in one browser and while it is running, if I run the second script from another brower, then my NetWare server crashes. Strangely, the PHP info output from the second browser is getting displayed on the first browser (!) where only the loop numbers are supposed to be displayed. The font and size of the display also changes. The server abends before the loop is completed. Nothing is getting displayed on the second brower. When I walk through the stack, I find that the abend seems to be happening in the "_zval_ptr_dtor" function that is called after the function, "zend_stack_apply_with_argument" is called which in turn is called by the "execute" function. I feel this may be due to data corruption between different threads in some specific cases. Is it due to the usage of global variable or the usage of static variables that are shared across threads? I would greatly appreciate if anyone can throw some light on this. Please note that I am using the PHP development version 4.0.8. Thanks, Ananth. -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php