php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #10828 sometimes get_extension_funcs() kills PHP
Submitted: 2001-05-12 08:32 UTC Modified: 2005-02-01 23:01 UTC
From: jo at feuersee dot de Assigned:
Status: Closed Package: Scripting Engine problem
PHP Version: 4.0.6 OS: Linux 2.4.5
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: jo at feuersee dot de
New email:
PHP Version: OS:

 

 [2001-05-12 08:32 UTC] jo at feuersee dot de
I tried to print out all available PHP functions using 
get_loaded_extensions() and get_extension_funcs():
<?php
print("<h3>PHP" . phpversion() . "</h3>\n");
print("<ol>\n");
$ext = get_loaded_extensions();
sort($ext);
for($i = 0; $i < count($ext); $i++) {
	$name = $ext[$i];
	print("<li><b>$name</b>:</li>\n<ol>\n");
	$func = get_extension_funcs($name);
	sort($func);
	for($j = 0; $j < count($func); $j++) {
		
print("<li><code>$func[$j]()</code></li>\n");
	}
	print("</ol>\n");
}
print("</ol>\n");
?>
and this worked well with PHP4.0.3pl1.
However, since PHP4.0.4pl1/5, the Apache (1.3.19) 
subprocess dies:
[Sat May 12 14:26:49 2001] [notice] child pid 746 exit 
signal Segmentation fault (11)
When commenting out the get_extension_funcs() call, all is 
well. Even replacing the argument to a const (eg. 
get_extension_funcs("exif") ) works.
I tried to reproduce the error in a more simple way, but 
failed:
<?php
$name = "exif";
print_r(get_extension_funcs($name));
?>
works as expected. Still the script above fails.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-05-14 08:37 UTC] sniper@php.net
Your script works for me just fine with PHP 4.0.6-dev.
Please try latest snapshot from http://snaps.php.net/

--Jani



 [2001-06-24 10:25 UTC] jo at feuersee dot de
Sorry, but he same in PHP4.0.6

 [2001-06-24 11:32 UTC] sniper@php.net
Does it crash? Provide a GDB backtrace then.
(reconfigure/compile PHP first with --enable-debug)

Remember to delete config.cache before configure.
And do 'make clean' after.

--Jani

 [2001-06-24 16:46 UTC] jo at feuersee dot de
Ok, I spend a sunday with wounderful weather about this 
and finally isolated the bug:
get_loaded_extensions() returns an extension called 
"Session MM" when available.
Feeding this string to get_extension_funcs() kills the 
process. So the simpliest way to reprodruce the bug is:
<?php
	$foo = get_extension_funcs("Session MM");
?>
Most probably this works only when the extension is 
available, that would explain why some people had no 
problem running the example.
HTH, Jo

 [2001-06-26 14:29 UTC] sniper@php.net
Thanks for excellent information. This is now fixed in CVS.

 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Mon May 05 18:01:29 2025 UTC