[PHP-DEV] PHP 4.0 Bug #6175 Updated: XML functions no longer work in objects

2001-04-02 Thread jon

ID: 6175
User Update by: [EMAIL PROTECTED]
Status: Open
Bug Type: *XML functions
Description: XML functions no longer work in objects

Yes.  If these lines are used in an object's constructor:

$this->parser = xml_parser_create();
xml_set_object($this->parser, $this);
xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($this->parser, 'startElement', 'endElement');
xml_set_character_data_handler($this->parser, 'defaultHandler');

... Apache will segfault with the following backtrace:

#0  0x3 in ?? ()
#1  0x281e2391 in call_user_function_ex (function_table=0x80b9280, 
object_pp=0x80ffcc0, function_name=0x8148dcc, retval_ptr_ptr=0xbfbfd14c, 
param_count=2, params=0x81487ac, no_separation=1, symbol_table=0x0)
at zend_execute_API.c:397
#2  0x281e2111 in call_user_function (function_table=0x80b9280, 
object_pp=0x80ffcc0, function_name=0x8148dcc, retval_ptr=0x80d570c, 
param_count=2, params=0xbfbfd1e8) at zend_execute_API.c:325
#3  0x2828ad5c in xml_call_handler (parser=0x80ffc8c, handler=0x8148dcc, 
argc=2, argv=0xbfbfd1e8) at xml.c:386
#4  0x2828b98d in _xml_characterDataHandler (userData=0x80ffc8c, 
s=0xbfbfd257 "\n ^-(\f\020\022\b0\020\022\b\2059\025\b", len=1)
at xml.c:804
#5  0x2829cf38 in doContent (parser=0x8101400, startTagLevel=0, 
enc=0x282d5e20, 
s=0x8121046 "\nMessage Composition: Actions\n
Actions\n\nSend Message launches your email to the 
intended recipient(s). Be sure you want to send before clicking h"..., 
end=0x8123e29 "", nextPtr=0x0) at xmlparse.c:1383
#6  0x2829c37d in contentProcessor (parser=0x8101400, 
start=0x8121022 "\n\n\nMessage 
Composition: Actions\nActions\n\nSend 
Message launches your email to the intended recipient(s). Be sur"..., 
end=0x8123e29 "", endPtr=0x0) at xmlparse.c:957
#7  0x2829e29d in prologProcessor (parser=0x8101400, 
s=0x8121022 "\n\n\nMessage 
Composition: Actions\nActions\n\nSend 
Message launches your email to the intended recipient(s). Be sur"..., 
end=0x8123e29 "", nextPtr=0x0) at xmlparse.c:2036
#8  0x2829dfb2 in prologInitProcessor (parser=0x8101400, 
s=0x812100c "\n\n\n\n
Message Composition: Actions\nActions\n
\nSend Message launches your email to the intende"..., 
end=0x8123e29 "", nextPtr=0x0) at xmlparse.c:1967
#9  0x2829bef8 in php_XML_Parse (parser=0x8101400, 
s=0x812100c "\n\n\n\n
Message Composition: Actions\nActions\n
\nSend Message launches your email to the intende"..., 
len=11805, isFinal=1) at xmlparse.c:779
#10 0x2828c836 in php_if_xml_parse (ht=3, return_value=0x8148f0c, 
this_ptr=0x0, return_value_used=0) at xml.c:1394
#11 0x281dbf01 in execute (op_array=0x8129d0c) at ./zend_execute.c:1494
#12 0x281dc154 in execute (op_array=0x80ff98c) at ./zend_execute.c:1534
#13 0x281e9e86 in zend_execute_scripts (type=8, file_count=3) at zend.c:743
#14 0x281fb6dc in php_execute_script (primary_file=0xbfbff7dc) at main.c:1194
#15 0x281f8006 in apache_php_module_main (r=0x8112034, display_source_mode=0)
at sapi_apache.c:89
#16 0x281f8996 in send_php (r=0x8112034, display_source_mode=0, filename=0x0)
at mod_php4.c:521
#17 0x281f89d2 in send_parsed_php (r=0x8112034) at mod_php4.c:532
#18 0x8053fa1 in ap_invoke_handler ()
#19 0x80686a8 in process_request_internal ()
#20 0x8068712 in ap_process_request ()
#21 0x805f6df in child_main ()
---Type  to continue, or q  to quit---
#22 0x805f89d in make_child ()
#23 0x805fa16 in startup_children ()
#24 0x8060024 in standalone_main ()
#25 0x806083c in main ()
#26 0x804eaa1 in _start ()

Previous Comments:
---

[2001-04-01 13:18:12] [EMAIL PROTECTED]
I believe it's still a problem, but I'll have to recreate my test case.  I'll try and 
get to it soon.

---

[2001-03-31 11:17:17] [EMAIL PROTECTED]
do you still experience this error?

---

[2000-08-31 15:00:35] [EMAIL PROTECTED]
With today's CVS, including Andrei's latest change to xml.c (rev. 1.61), I can 
generate a backtrace for the segfault that occurs when calling the xml_* routines from 
the constructor:

Starting program: /usr/local/src/apache_1.3.12/src/httpd -X

Program received signal SIGSEGV, Segmentation fault.
0x80e3a0e in _efree (ptr=0x5a5a5a5a, 
__zend_filename=0x81bb1a9 "zend_variables.c", __zend_lineno=98, 
__zend_orig_filename=0x0, __zend_orig_lineno=0) at zend_alloc.c:196
196 CALCULATE_REAL_SIZE_AND_CACHE_INDEX(p->size);
(gdb) bt
#0  0x80e3a0e in _efree (ptr=0x5a5a5a5a, 
__zend_filename=0x81bb1a9 "zend_variables.c", __zend_lineno=98, 
__zend_orig_filename=0x0, __zend_orig_lineno=0) at zend_alloc.c:196
#1  0x80eea7e in zval_del_ref (p=0

[PHP-DEV] PHP 4.0 Bug #6175 Updated: XML functions no longer work in objects

2001-04-01 Thread jon

ID: 6175
User Update by: [EMAIL PROTECTED]
Old-Status: Feedback
Status: Open
Bug Type: *XML functions
Description: XML functions no longer work in objects

I believe it's still a problem, but I'll have to recreate my test case.  I'll try and 
get to it soon.

Previous Comments:
---

[2001-03-31 11:17:17] [EMAIL PROTECTED]
do you still experience this error?

---

[2000-08-31 15:00:35] [EMAIL PROTECTED]
With today's CVS, including Andrei's latest change to xml.c (rev. 1.61), I can 
generate a backtrace for the segfault that occurs when calling the xml_* routines from 
the constructor:

Starting program: /usr/local/src/apache_1.3.12/src/httpd -X

Program received signal SIGSEGV, Segmentation fault.
0x80e3a0e in _efree (ptr=0x5a5a5a5a, 
__zend_filename=0x81bb1a9 "zend_variables.c", __zend_lineno=98, 
__zend_orig_filename=0x0, __zend_orig_lineno=0) at zend_alloc.c:196
196 CALCULATE_REAL_SIZE_AND_CACHE_INDEX(p->size);
(gdb) bt
#0  0x80e3a0e in _efree (ptr=0x5a5a5a5a, 
__zend_filename=0x81bb1a9 "zend_variables.c", __zend_lineno=98, 
__zend_orig_filename=0x0, __zend_orig_lineno=0) at zend_alloc.c:196
#1  0x80eea7e in zval_del_ref (p=0x8263b3c) at zend_variables.c:98
#2  0x80dc0cd in xml_parser_dtor (parser=0x8263b24) at xml.c:302
#3  0x80f3dc1 in list_entry_destructor (ptr=0x82d3be4) at zend_list.c:253
#4  0x80f2b1d in zend_hash_apply_deleter (ht=0x824b880, p=0x82b70a4)
at zend_hash.c:619
#5  0x80f2c3e in zend_hash_graceful_destroy (ht=0x824b880) at zend_hash.c:670
#6  0x80f3e97 in zend_destroy_rsrc_list () at zend_list.c:298
#7  0x80e9490 in shutdown_executor () at zend_execute_API.c:179
#8  0x80ef604 in zend_deactivate () at zend.c:520
#9  0x808070b in php_request_shutdown (dummy=0x0) at main.c:659
#10 0x807e887 in php_apache_request_shutdown (dummy=0x0) at mod_php4.c:291
#11 0x8124ee5 in run_cleanups (c=0x82b30f4) at alloc.c:1706
#12 0x812359b in ap_clear_pool (a=0x82b200c) at alloc.c:531
#13 0x812361b in ap_destroy_pool (a=0x82b200c) at alloc.c:561
#14 0x8123587 in ap_clear_pool (a=0x826600c) at alloc.c:528
#15 0x8133165 in child_main (child_num_arg=0) at http_main.c:3900
#16 0x81337a5 in make_child (s=0x8252034, slot=0, now=967748297)
at http_main.c:4281
#17 0x813391e in startup_children (number_to_start=3) at http_main.c:4363
#18 0x8133f28 in standalone_main (argc=2, argv=0xbfbffa48) at http_main.c:4651
#19 0x8134740 in main (argc=2, argv=0xbfbffa48) at http_main.c:4978

>From Apache's error log:

httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
[Thu Aug 31 08:57:05 2000] [notice] child pid 57954 exit signal Segmentation fault (11)

---

[2000-08-23 10:30:05] [EMAIL PROTECTED]
If you're referring to Andrei's changes that accept the array($this, 'fooHandler') 
syntax, no, it doesn't fix my problem, and I actually haven't gotten the new syntax to 
work correctly, either.  I'll try and look into it some more later today.

---

[2000-08-23 08:29:41] [EMAIL PROTECTED]
Wasn't this just fixed in cvs??

--Jani

---

[2000-08-21 10:25:09] [EMAIL PROTECTED]
All of my attempts to reduce the problem to a short script have failed, but I have 
examples of working and non-working code you can look at.

I've made them available here: http://orca.gaiaservers.com/work/xml.tar.gz

xml.php works fine.

help.xml is the XML source file used in the following two files.
Help1.php calls the xml_* functions from the constructor and doesn't work.
Help2.php calls the xml_* functions from a separate init method and does work.

---

The remainder of the comments for this report are too long.  To view the rest of the 
comments, please view the bug report online.

Full Bug description available at: http://bugs.php.net/?id=6175


-- 
PHP Development Mailing List 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]




[PHP-DEV] PHP 4.0 Bug #6175 Updated: XML functions no longer work in objects

2001-03-31 Thread cynic

ID: 6175
Updated by: cynic
Reported By: [EMAIL PROTECTED]
Old-Status: Open
Status: Feedback
Bug Type: *XML functions
Assigned To: 
Comments:

do you still experience this error?

Previous Comments:
---

[2000-08-31 15:00:35] [EMAIL PROTECTED]
With today's CVS, including Andrei's latest change to xml.c (rev. 1.61), I can 
generate a backtrace for the segfault that occurs when calling the xml_* routines from 
the constructor:

Starting program: /usr/local/src/apache_1.3.12/src/httpd -X

Program received signal SIGSEGV, Segmentation fault.
0x80e3a0e in _efree (ptr=0x5a5a5a5a, 
__zend_filename=0x81bb1a9 "zend_variables.c", __zend_lineno=98, 
__zend_orig_filename=0x0, __zend_orig_lineno=0) at zend_alloc.c:196
196 CALCULATE_REAL_SIZE_AND_CACHE_INDEX(p->size);
(gdb) bt
#0  0x80e3a0e in _efree (ptr=0x5a5a5a5a, 
__zend_filename=0x81bb1a9 "zend_variables.c", __zend_lineno=98, 
__zend_orig_filename=0x0, __zend_orig_lineno=0) at zend_alloc.c:196
#1  0x80eea7e in zval_del_ref (p=0x8263b3c) at zend_variables.c:98
#2  0x80dc0cd in xml_parser_dtor (parser=0x8263b24) at xml.c:302
#3  0x80f3dc1 in list_entry_destructor (ptr=0x82d3be4) at zend_list.c:253
#4  0x80f2b1d in zend_hash_apply_deleter (ht=0x824b880, p=0x82b70a4)
at zend_hash.c:619
#5  0x80f2c3e in zend_hash_graceful_destroy (ht=0x824b880) at zend_hash.c:670
#6  0x80f3e97 in zend_destroy_rsrc_list () at zend_list.c:298
#7  0x80e9490 in shutdown_executor () at zend_execute_API.c:179
#8  0x80ef604 in zend_deactivate () at zend.c:520
#9  0x808070b in php_request_shutdown (dummy=0x0) at main.c:659
#10 0x807e887 in php_apache_request_shutdown (dummy=0x0) at mod_php4.c:291
#11 0x8124ee5 in run_cleanups (c=0x82b30f4) at alloc.c:1706
#12 0x812359b in ap_clear_pool (a=0x82b200c) at alloc.c:531
#13 0x812361b in ap_destroy_pool (a=0x82b200c) at alloc.c:561
#14 0x8123587 in ap_clear_pool (a=0x826600c) at alloc.c:528
#15 0x8133165 in child_main (child_num_arg=0) at http_main.c:3900
#16 0x81337a5 in make_child (s=0x8252034, slot=0, now=967748297)
at http_main.c:4281
#17 0x813391e in startup_children (number_to_start=3) at http_main.c:4363
#18 0x8133f28 in standalone_main (argc=2, argv=0xbfbffa48) at http_main.c:4651
#19 0x8134740 in main (argc=2, argv=0xbfbffa48) at http_main.c:4978

>From Apache's error log:

httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
httpd in free(): warning: chunk is already free.
[Thu Aug 31 08:57:05 2000] [notice] child pid 57954 exit signal Segmentation fault (11)

---

[2000-08-23 10:30:05] [EMAIL PROTECTED]
If you're referring to Andrei's changes that accept the array($this, 'fooHandler') 
syntax, no, it doesn't fix my problem, and I actually haven't gotten the new syntax to 
work correctly, either.  I'll try and look into it some more later today.

---

[2000-08-23 08:29:41] [EMAIL PROTECTED]
Wasn't this just fixed in cvs??

--Jani

---

[2000-08-21 10:25:09] [EMAIL PROTECTED]
All of my attempts to reduce the problem to a short script have failed, but I have 
examples of working and non-working code you can look at.

I've made them available here: http://orca.gaiaservers.com/work/xml.tar.gz

xml.php works fine.

help.xml is the XML source file used in the following two files.
Help1.php calls the xml_* functions from the constructor and doesn't work.
Help2.php calls the xml_* functions from a separate init method and does work.

---

[2000-08-21 09:07:46] [EMAIL PROTECTED]
could you please provide an example of a runnable short script and XML file that 
doesn't work?

---

The remainder of the comments for this report are too long.  To view the rest of the 
comments, please view the bug report online.


ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=6175&edit=2


-- 
PHP Development Mailing List 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-