ID: 20193
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
-Status: Open
+Status: Bogus
Bug Type: Zend Engine 2 problem
Operating System: Linux 2.4.12
PHP Version: 4.2.3
New Comment:
If there's some 3rd party extension causing the crash and stock PHP
does not crash -> not PHP bug.
Previous Comments:
------------------------------------------------------------------------
[2002-11-11 14:54:06] [EMAIL PROTECTED]
I found that imap was causing the error. If I do not use
imap and imap-ssl my ext is working well. But if I include
the --with-imap and --with-imap-ssl then php is
segfaulting. It's probably an incompatibility between imap
extension and mine (probably others).
------------------------------------------------------------------------
[2002-10-31 15:45:02] [EMAIL PROTECTED]
I run httpd with -X in gdb and here is a backtrace of the
segfault.
(gdb) run -X
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/sbin/httpd -X
[New Thread 1024 (LWP 25507)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 25507)]
0x402bf82f in zend_do_pass_param (param=0xbfffd4dc, op=65,
offset=2) at zend_compile.c:935
935 zend_compile.c: No such file or directory.
in zend_compile.c
(gdb) bt
#0 0x402bf82f in zend_do_pass_param (param=0xbfffd4dc,
op=65, offset=2) at zend_compile.c:935
#1 0x402b5bad in zendparse () at
zend_language_parser.c:2220
#2 0x402b78d5 in compile_file (file_handle=0xbffff4e8,
type=2) at zend_language_scanner.c:3021
#3 0x402d5872 in zend_execute_scripts (type=8,
retval=0x0, file_count=3) at zend.c:808
#4 0x402e2ff6 in php_execute_script
(primary_file=0xbffff4e8) at main.c:1383
#5 0x402deb9e in apache_php_module_main (r=0x8180e14,
display_source_mode=0) at sapi_apache.c:90
#6 0x402df69e in send_php (r=0x8180e14,
display_source_mode=0, filename=0x0) at mod_php4.c:575
#7 0x402df702 in send_parsed_php (r=0x8180e14) at
mod_php4.c:590
#8 0x080553f9 in ap_invoke_handler ()
#9 0x0806a29f in ap_some_auth_required ()
#10 0x0806a306 in ap_process_request ()
#11 0x08061156 in ap_child_terminate ()
#12 0x08061331 in ap_child_terminate ()
#13 0x080614ac in ap_child_terminate ()
#14 0x08061b1c in ap_child_terminate ()
#15 0x0806236c in main ()
#16 0x400f12eb in __libc_start_main (main=0x8061fb4
<main>, argc=2, ubp_av=0xbffff8f4, init=0x804f3a4 <_init>,
fini=0x8099b4c <_fini>,
rtld_fini=0x4000c130 <_dl_fini>, stack_end=0xbffff8ec)
at ../sysdeps/generic/libc-start.c:129
------------------------------------------------------------------------
[2002-10-31 14:04:27] [EMAIL PROTECTED]
Could you please generate and post a backtrace of the crash
(segmentation fault?).
------------------------------------------------------------------------
[2002-10-31 09:53:29] [EMAIL PROTECTED]
I have an extension which is working well in PHP 4.2.2 but when I
compile it with PHP 4.2.3. The scripting engin crash on the end of the
script several times. I comment out the zend_get_parameters_ex and put
static parameters and the script work well.
There is the function in my extension (every function using parameter
may crash PHP)
PHP_FUNCTION(ia_open)
{
zval **spHost_arg, **spPort_arg;
char *spHost = NULL;
char *spPort = NULL;
TIA_Stream* olStream;
TIA_Stream* olResStream;
TIA_Writer* olWriter;
TIA_Reader* olReader;
int sockfd;
int nlRes=-1;
//If I use this it may crash PHP
#if 0
if (ZEND_NUM_ARGS() != 2 || /*this part may crash
PHP*/zend_get_parameters_ex(2, &spHost_arg, &spPort_arg) == FAILURE){
WRONG_PARAM_COUNT;
}
convert_to_string_ex(spHost_arg);
spHost = Z_STRVAL_PP(spHost_arg);
convert_to_string_ex(spPort_arg);
spPort = Z_STRVAL_PP(spPort_arg);
#else //It's ok with this code
spHost = "xxxxx";
spPort = "1111";
#endif
sockfd = connecttounix();
olStream = new TIA_Stream();
olWriter = new TIA_Writer(olStream);
olWriter->WriteInteger (knIA_Open);
olWriter->WriteString (spHost);
olWriter->WriteString (spPort);
delete olWriter;
olResStream = new TIA_Stream();
if ( request(sockfd, olStream, olResStream) == 0)
{
olReader = new TIA_Reader(olResStream);
nlRes = olReader->ReadInteger();
delete olReader;
}
delete olResStream;
delete olStream;
disconnectfromunix(sockfd);
RETURN_LONG (nlRes);
}
There is some output of PHPINFO
System Linux orion 2.4.12 #1 Wed Oct 24 03:59:50 EDT 2001 i686 unknown
Build Date Oct 28 2002 09:54:34
Configure Command './configure' '--with-mysql=/usr' '--with-apxs'
'--with-interbase=/opt/interbase' '--with-gettext' '--with-xml'
'--with-gd' '--with-png-dir=/usr' '--with-zlib-dir=/usr'
'--with-imap=../imap-2002.RC8' '--with-imap-ssl=../imap-2002.RC8'
Server API Apache
Virtual Directory Support disabled
Configuration File (php.ini) Path /usr/local/lib/php.ini
Debug Build no
Thread Safety disabled
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=20193&edit=1