ID:               24557
 User updated by:  wmeler at wp-sa dot pl
 Reported By:      wmeler at wp-sa dot pl
-Status:           Feedback
+Status:           Open
 Bug Type:         Network related
 Operating System: RH 7.3
 PHP Version:      4CVS-2003-07-09 (stable)
 New Comment:

PHP is taken from snaps.php.net : php4-STABLE-200307081130

'./configure' \
'--with-thttpd=../thttpd' \
'--enable-experimental-zts' \
'--with-tsrm-pthreads' \
'--with-regex=system' \
'--with-mysql=/usr' \
'--with-oci8=/opt/oracle' \
'--with-ldap=/opt/iplanet' \
'--with-mhash' \
'--enable-ftp' \
'--with-zlib' \
'--with-gdbm' \
'--with-gettext' \
'--with-xml' \
'--enable-debug' \
"$@"

I've patched thttpd and PHP so it worked fine together in ZTS. I
haven't touched streams. It worked until streams were introduced
(4.3?). 

BTW are memory and fds freed if there is no msg in log like
"stream_free ...."

I think I won't be able to write short script which reproduct this
error because it isn't on each request :(.


Previous Comments:
------------------------------------------------------------------------

[2003-07-09 04:39:52] [EMAIL PROTECTED]

Thanks for the detailed trace;
A short self-contained reproducing script would help a great deal here
also.
Also, it seems that you are running a thread-safe build; could you let
us know the configure line you used, and also the version of PHP (are
you really using the PHP_4_3 branch of cvs?).

------------------------------------------------------------------------

[2003-07-09 04:26:51] wmeler at wp-sa dot pl

after turning on STREAMS_DEBUG I've got better core:

#0  0x08088603 in _php_stream_free (stream=0x45c22290,
close_options=11, tsrm_ls=0x8523d68)
    at /home/wmeler/rpm/BUILD/aris-1.6/php/main/streams.c:294
#1  0x0808b12f in stream_resource_regular_dtor (rsrc=0x46c50910,
tsrm_ls=0x8523d68)
    at /home/wmeler/rpm/BUILD/aris-1.6/php/main/streams.c:2291
#2  0x080ad2e2 in list_entry_destructor (ptr=0x46c50910) at
/home/wmeler/rpm/BUILD/aris-1.6/php/Zend/zend_list.c:177
#3  0x080ab8e0 in zend_hash_del_key_or_index (ht=0x8862ccc, arKey=0x0,
nKeyLength=0, h=5, flag=1)
    at /home/wmeler/rpm/BUILD/aris-1.6/php/Zend/zend_hash.c:514
#4  0x080ad0a4 in _zend_list_delete (id=5, tsrm_ls=0x8523d68)
    at /home/wmeler/rpm/BUILD/aris-1.6/php/Zend/zend_list.c:56
#5  0x080a5ac2 in _zval_dtor (zvalue=0x46c502d8, 
    __zend_filename=0x8199080
"/home/wmeler/rpm/BUILD/aris-1.6/php/Zend/zend_execute_API.c",
__zend_lineno=291)
    at /home/wmeler/rpm/BUILD/aris-1.6/php/Zend/zend_variables.c:69
#6  0x0809e27e in _zval_ptr_dtor (zval_ptr=0x45c01010, 
    __zend_filename=0x8195c60
"/home/wmeler/rpm/BUILD/aris-1.6/php/Zend/zend_execute.h",
__zend_lineno=96)
    at /home/wmeler/rpm/BUILD/aris-1.6/php/Zend/zend_execute_API.c:291
#7  0x080bbcbd in execute (op_array=0x429d5ee0, tsrm_ls=0x8523d68)
    at /home/wmeler/rpm/BUILD/aris-1.6/php/Zend/zend_execute.h:96

The function called from PHP userspace was fclose. 
I also found in log 1069 msg looks like:

stream_alloc: socket:0x43d64f08 persistent=(null)

and only 48 msg pairs like:

stream_free: socket:0x4849caf8[(null)] in_free=0 opts=00000003
stream_free: socket:0x4849caf8[(null)] preserve_handle=0 release_cast=1
remove_rsrc=1

I also got about 40 core dumps.

If you want more information please describe what kind of information
you want.

------------------------------------------------------------------------

[2003-07-09 03:32:34] [EMAIL PROTECTED]

Not enough information was provided for us to be able
to handle this bug. Please re-read the instructions at
http://bugs.php.net/how-to-report.php

If you can provide more information, feel free to add it
to this bug and change the status back to "Open".

Thank you for your interest in PHP.


------------------------------------------------------------------------

[2003-07-09 03:12:09] wmeler at wp-sa dot pl

Description:
------------
My application uses fsockopen. Since streams has been introduced I
notice SIG_SEGVs. As you can see below stack is corrupted and stream
memory is freed (if it is really it's memory)


(gdb) bt full
#0  _php_stream_flush (stream=Error accessing memory address
0xb71fd09c: No such process.
) at /home/wmeler/rpm/BUILD/aris-1.6/php/main/streams.c:875
        stream = (php_stream *) 0x4a9ce250
        tsrm_ls = (void ***) 0x8779ef0
        ret = 0
Error accessing memory address 0xb71fd094: No such process.
(gdb) print *(php_stream *) 0x4a9ce250
$1 = {ops = 0x4652c678, abstract = 0x1, filterhead = 0x10003,
filtertail = 0x2a8fcc84, 
  wrapper = 0x5a5a5a5a, wrapperthis = 0x3d, wrapperdata = 0x4e6a3ec0, 
  fgetss_state = 135898848, is_persistent = 110, 
  mode = "\001", '\000' <repeats 11 times>, ": \a", rsrc_id =
1251795496, in_free = 1, 
  fclose_stdiocast = 2, stdiocast = 0xcc840030, __exposed = 1515858575,

  __orig_path = 0x5a5a5a5a <Error reading address 0x5a5a5a5a: No such
process>, 
  context = 0x31, flags = 1279301096, position = 1185939604, 
  readbuf = 0x5a5a5a5a <Error reading address 0x5a5a5a5a: No such
process>, 
  readbuflen = 1515870810, readpos = 1515870810, writepos = 1515870810,

  chunk_size = 1515870810, eof = 1515870810}



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=24557&edit=1

Reply via email to