Re: Re: Moved virtual cwd stuff to TSRM
| From: | Olivier Cahagne | Date: | Tue, 05 Sep 2000 12:03:14 +0000 |
| Subject: | Re: Re: Moved virtual cwd stuff to TSRM | ||
| References: | 1 2 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-32130@lists.php.net to get a copy of this message | ||
Hi,
> >>If this still happens please send a backtrace? Type bt after the crash
> >
> >www@marvin ~/compil/php4-200009041545>gdb php
> >GDB is free software and you are welcome to distribute copies of it
> >under certain conditions; type "show copying" to see the conditions.
> >There is absolutely no warranty for GDB; type "show warranty" for
> details.
> >GDB 4.16 (i386-netbsd), Copyright 1996 Free Software Foundation, Inc...
> >(gdb) run
> >Starting program:
> /nfs/s5/space/users/guest/www/compil/php4-200009041545/php
> >bt
> >
> >Program received signal SIGSEGV, Segmentation fault.
> >0x7ee14 in virtual_file_ex (state=0x0,
> >path=0xefbfcea8 "/usr/space/www/etc/httpd/conf/php_cgi/php.ini",
> >verify_path=0) at tsrm_virtual_cwd.c:332
> >332 CWD_STATE_COPY(old_state, state);
> >(gdb) bt
> >#0 0x7ee14 in virtual_file_ex (state=0x0,
> >path=0xefbfcea8 "/usr/space/www/etc/httpd/conf/php_cgi/php.ini",
> >verify_path=0) at tsrm_virtual_cwd.c:332
> >(gdb)
>
> Can you please compile with --enable-debug? Something seems screwed up
> here
> and you don't really have a back trace. Is it compiling with -g?
> The crash doesn't make much sense if it's coming from expand_filepath()
> which is what I think but it might be from some other place.
I compiled again with --enable-debug but it didn't change php size (6MB) so the
debug build is default here.
I got exactly the same backtrace.
Why --enable-debug doesn't enable -g2 (just -g) ? Maybe it would help.
I compiled the same snapshot on Linux and got no segfaults, therefore, as for
previous post-4.0.2 snaphots, the version number is still 4.0.2 (not 4.0.3-dev)
shown via phpinfo() or via ./php -v
So, I think it comes from *BSD, I tried compiling php4-200009050345 snapshot on
NetBSD 1.4.2 with egcs-2.91.60 with this configure line:
./configure --enable-debug --without-mysql --without-gd --enable-discard-path
but it failed compiling (below is how to manually solve it)
gcc -I. -I/nfs/s5/space/users/guest/www/compil/php4-200009050345/
-I/nfs/s5/space/users/guest/www/compil/php4-200009050345
-I/nfs/s5/space/users/guest/www/compil/php4-200009050345/main
-I/nfs/s5/space/users/guest/www/compil/php4-200009050345/Zend
-I/nfs/s5/space/users/guest/www/compil/php4-200009050345
-I/nfs/s5/space/users/guest/www/compil/php4-200009050345/ext/xml/expat/xmltok
-I/nfs/s5/space/users/guest/www/compil/php4-200009050345/ext/xml/expat/xmlparse
-I/nfs/s5/space/users/guest/www/compil/php4-200009050345/TSRM -I/usr/pkg/include
-DXML_BYTE_ORDER=12 -g -O2 -Wall -o php stub.o .libs/libphp4.a -lgdbm -lresolv
-lm -lcrypt -lresolv -lgdbm -lresolv -lm -lcrypt -lresolv
ld: -lgdbm: no match
collect2: ld returned 1 exit status
*** Error code 1
Stop.
*** Error code 1
Stop.
Can there be an option to compile --without-dbm (any of them) ? See bug #5746
config.log says:
configure:10052: checking for gdbm_open in -lgdbm
configure:10071: gcc -o conftest -g -O2 -I/usr/pkg/include -L/usr/pkg/lib conf
test.c -lgdbm -lresolv -lm -lcrypt -lresolv 1>&5
configure:10225: checking preferred dbm library
configure:10246: checking for gdbm.h
configure:10256: gcc -E -I/usr/pkg/include conftest.c >/dev/null 2>conftest.out
configure:10536: checking whether to enable DBA
configure:10790: checking for GDBM support
configure:11025: checking for NDBM support
However, I finished compiling it manually by adding -L/usr/pkg/lib to the gcc
line and I could finally test php and it works on this platform.
It seems more specific either to NetBSD 1.3.3 and gcc 2.7.2.2 or some module,
I'll try more combinations later.
--
Olivier.Cahagne@epita.fr