PHP 4.0 Bug #6616: ext/java: reassigning values for variables causes segfault
| From: | bridge at gsnet dot com | Date: | Thu, 07 Sep 2000 21:53:04 +0000 |
| Subject: | PHP 4.0 Bug #6616: ext/java: reassigning values for variables causes segfault | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-32620@lists.php.net to get a copy of this message | ||
From: bridge@gsnet.com
Operating system: RH Linux 6.1/Apache1.3.12
PHP version: 4.0.2
PHP Bug Type: *General Issues
Bug description: ext/java: reassigning values for variables causes segfault
If I call a java object twice from PHP-4.0.2 and assign the result
to the same variable, it generates a segmentation fault
(under both ibm-jdk118 and Blackdown JDK1.2.2-RC4). If I
change the second occurrence of "aStrings" to, say, "aStrings2"
it works fine.
Note that to reproduce this problem, you may need
to reload it more than once. It crashes about as many times as
it works on my configuration.
Heres' the PHP code:
<?
$jTest = new Java("PHPTest");
print("Here is an Array of Strings:<br>\n");
$aStrings = $jTest->getAnArrayOfStrings();
for($j=0; $j<sizeof($aStrings); $j++) {
print("<i>".$j."=".$aStrings[$j]."</i><br>\n");
}
print("<br>");
print("Here it is again:<br>\n");
$aStrings=$jTest->getAnArrayOfStrings();
for($j=0; $j<sizeof($aStrings); $j++) {
print("<i>".$j."=".$aStrings[$j]."</i><br>\n");
}
?>
Here's the Java code from PHPTest.java
public class PHPTest {
public String getAString() {
return "This is a String";
}
public String[] getAnArrayOfStrings() {
return new String[]{"Element 1", "Element 2", "Element 3",
"Element 4"};
}
}
The non-default part of my php.ini:
[java]
java.class.path=/usr/local/lib/php_java.jar:/home/bridge/gsnlib/classes:/usr/local/lib/php_java.jar:/home/bridge/externlib:/home/bridge/externlib/Una_Enterprise.zip
java.library.path=/home/bridge/externlib/modules
java.library=/usr/local/jdk1.2.2-RC4/jre/lib/i386/libjava.so
extension_dir=/home/bridge/externlib/modules
extension=libphp_java.so
From php-4.0.2's config.status:
./configure --with-apxs=/usr/local/apache/bin/apxs --with-java --with-mysql