php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #8175 reproducable core with everything: <?phpinfo()?>
Submitted: 2000-12-08 14:43 UTC Modified: 2001-03-09 20:53 UTC
From: marco dot walther at eng dot sun dot com Assigned:
Status: Closed Package: Reproducible Crash
PHP Version: 4.0.3pl1 OS: Solaris 8
Private report: No CVE-ID: None
 [2000-12-08 14:43 UTC] marco dot walther at eng dot sun dot com
[ Solaris 8 , gcc-2.95.2, Apache-1.3.14, dynamic modules]

I basically could not run the dynamic php4 at all. Everything crashed on
me. I've looked at the backtrace and ended up in
	send_php()[mod_php4.c]

My problem was that

mod_php4.c[451]: 
per_dir_conf = (HashTable *) 	       
     get_module_config(r->per_dir_config,&php4_module);

tried to load from `NULL[26]':-(

I believe this works fine on Linux but it will crash on Solaris! (There is a workaround to preload a special library, but I don't know if that's the right way!)

Ok, I've modified this one place in the style of mod_perl (Checking for NULL before calling the get_module_config() macro.) So I was able to get  <?phpinfo()?> working. But I don't know how common the assumption is within php4 that a program can read from NULL!

I've looked all over FAQ & Documentation but I could not find any place mention the need of 0@0.so or something similar.

Maybe somebody can enlighten me a little bit.

Thanks,
-- Marco

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2000-12-11 10:57 UTC] sniper@php.net
Please try the latest snapshot from http://snaps.php.net/
I have used php within same system and apache
without any problems. Compiled with same version of gcc.

If you still get this crash with the latest snapshot,
please include a gdb backtrace of it. Remember to configure
php with --enable-debug to get useful backtrace.

--Jani

 [2000-12-11 13:47 UTC] marco dot walther at eng dot sun dot com
Ok,
the latest snapshot works:
	php4-200012110945

But I still leave this bug open because I don't know yet what's the
difference. I basically don't want to drag the dev tree every day:-(

Thanks for your fast response.
-- Marco
 [2000-12-11 20:12 UTC] sniper@php.net
It means that the next release most propably will work too.
You can get the latest release candidate for PHP4.0.4 from here:

http://www.php.net/distributions/php-4.0.4RC4.tar.gz

It might be a good thing to try that too...just to be sure that 
it really works for you too. But if it doesn't or this bug exists also
in PHP 4.0.4, please reopen this bug report. 

--Jani

 [2000-12-11 22:12 UTC] marco dot walther at eng dot sun dot com
I tried
	php-4.0.4RC4
but I'm not able to build it correctly:-(
Actually it builds but when I try to run apacheit reports a missing symbol:-(

marcow@jena:~/usr/apache-1>bin/httpd -t
Syntax error on line 239 of /export/home/marcow/usr/apache-1/conf/httpd.conf:
Cannot load /export/home/marcow/usr/apache-1/libexec/libphp4.so into server: ld.so.1: bin/httpd: fatal: relocation error: file /export/home/marcow/usr/apache-1/libexec/libphp4.so: symbol php_if_stat64: referenced symbol not found

Since I could not find this symbol in any *.[hc] files I tried the following:
marcow@jena:apache/php-4.0.4RC4>for i in `find . -name '*.o' -o -name '*.lo'` 
> do
> nm $i | fgrep php_if_stat64 && echo $i
> done
         U php_if_stat64
./ext/standard/basic_functions.lo

I don't know how this symbol ends up there.

Thanks,
-- Marco
 [2000-12-15 10:04 UTC] sniper@php.net
Please try the latest RC from http://www.php.net/distributions/

to see if this happens with it too.

--Jani
 [2001-03-09 20:53 UTC] sniper@php.net
No feedback.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat May 11 03:01:29 2024 UTC