- fix request pool issues
[m6w6/ext-http] / KnownIssues.txt
1 Known Issues
2 ============
3 $Id$
4
5 Issues I don't know how to solve yet are as follows:
6
7 There's a mem-leak in http_request_object.c in the function
8 http_request_object_responsehandler when updating the
9 ResponseMessage member with a new object.
10
11 There are odd memory corruptions when HttpRequest objects
12 are created with urls out of an array and attached to an
13 HttpRequestPool object -- see HttpRequestPool_001.phpt
14
15 The debug output on Win32:
16
17 [Tue Jun 14 09:16:58 2005] Script: 'ext\http\tests\HttpRequestPool_001.php'
18 ---------------------------------------
19 D:\Daten\Source\php-5.0.4\ext\http\http_request_api.c(206) : Block 0x00FCF757 status:
20 Beginning: Overrun (magic=0x12F8DC00, expected=0x7312F8DC)
21 End: Unknown
22 ---------------------------------------
23 [Tue Jun 14 09:16:58 2005] Script: 'ext\http\tests\HttpRequestPool_001.php'
24 ---------------------------------------
25 D:\Daten\Source\php-5.0.4\ext\http\http_request_api.c(206) : Block 0x00FCF8B7 status:
26 Beginning: Overrun (magic=0x12F8DC00, expected=0x7312F8DC)
27 End: Unknown
28 ---------------------------------------
29 [Tue Jun 14 09:16:58 2005] Script: 'ext\http\tests\HttpRequestPool_001.php'
30 ---------------------------------------
31 D:\Daten\Source\php-5.0.4\ext\http\http_request_api.c(206) : Block 0x00FCFAE7 status:
32 Beginning: Overrun (magic=0x12F8DC00, expected=0x7312F8DC)
33 End: Unknown
34 ---------------------------------------
35
36 This is the valgrind output on linux (debian), most probably covering quite more problems:
37
38 ==13945== Invalid read of size 4
39 ==13945== at 0x81191F1: _zval_ptr_dtor (zend_execute_API.c:384)
40 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
41 ==13945== by 0x812BF51: _zend_hash_add_or_update (zend_hash.c:229)
42 ==13945== by 0x812B386: zend_symtable_update (zend_hash.h:329)
43 ==13945== by 0x812799A: add_assoc_string_ex (zend_API.c:850)
44 ==13945== by 0x1BC349DF: _http_request_info (in /home/mike/lib/php/extensions/debug-zts-20041031/http.so)
45 ==13945== by 0x1BC2ED1F: _http_request_object_responsehandler (http_request_object.c:323)
46 ==13945== by 0x1BC354AF: _http_request_pool_responsehandler (http_request_api.c:988)
47 ==13945== by 0x811C5CB: zend_llist_apply (zend_llist.c:191)
48 ==13945== by 0x1BC352F8: _http_request_pool_send (http_request_api.c:939)
49 ==13945== by 0x1BC2B4EA: zif_HttpRequestPool_send (http_methods.c:2230)
50 ==13945== by 0x814BA8C: zend_do_fcall_common_helper_SPEC (zend_vm_execute.h:184)
51 ==13945== Address 0x1BDF1EB0 is 8 bytes inside a block of size 16 free'd
52 ==13945== at 0x1B904B04: free (vg_replace_malloc.c:152)
53 ==13945== by 0x1BC2AF24: zif_HttpRequest_getResponseInfo (http_methods.c:2045)
54 ==13945== by 0x814BA8C: zend_do_fcall_common_helper_SPEC (zend_vm_execute.h:184)
55 ==13945== by 0x814B11B: execute (zend_vm_execute.h:87)
56 ==13945== by 0x8125C8B: zend_execute_scripts (zend.c:1080)
57 ==13945== by 0x80E3533: php_execute_script (main.c:1670)
58 ==13945== by 0x81BDBCB: main (cgi_main.c:1572)
59 ==13945==
60 ==13945== Invalid write of size 4
61 ==13945== at 0x81191F9: _zval_ptr_dtor (zend_execute_API.c:384)
62 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
63 ==13945== by 0x812BF51: _zend_hash_add_or_update (zend_hash.c:229)
64 ==13945== by 0x812B386: zend_symtable_update (zend_hash.h:329)
65 ==13945== by 0x812799A: add_assoc_string_ex (zend_API.c:850)
66 ==13945== by 0x1BC349DF: _http_request_info (in /home/mike/lib/php/extensions/debug-zts-20041031/http.so)
67 ==13945== by 0x1BC2ED1F: _http_request_object_responsehandler (http_request_object.c:323)
68 ==13945== by 0x1BC354AF: _http_request_pool_responsehandler (http_request_api.c:988)
69 ==13945== by 0x811C5CB: zend_llist_apply (zend_llist.c:191)
70 ==13945== by 0x1BC352F8: _http_request_pool_send (http_request_api.c:939)
71 ==13945== by 0x1BC2B4EA: zif_HttpRequestPool_send (http_methods.c:2230)
72 ==13945== by 0x814BA8C: zend_do_fcall_common_helper_SPEC (zend_vm_execute.h:184)
73 ==13945== Address 0x1BDF1EB0 is 8 bytes inside a block of size 16 free'd
74 ==13945== at 0x1B904B04: free (vg_replace_malloc.c:152)
75 ==13945== by 0x1BC2AF24: zif_HttpRequest_getResponseInfo (http_methods.c:2045)
76 ==13945== by 0x814BA8C: zend_do_fcall_common_helper_SPEC (zend_vm_execute.h:184)
77 ==13945== by 0x814B11B: execute (zend_vm_execute.h:87)
78 ==13945== by 0x8125C8B: zend_execute_scripts (zend.c:1080)
79 ==13945== by 0x80E3533: php_execute_script (main.c:1670)
80 ==13945== by 0x81BDBCB: main (cgi_main.c:1572)
81 Done
82 ==13945==
83 ==13945== Invalid read of size 4
84 ==13945== at 0x81191F1: _zval_ptr_dtor (zend_execute_API.c:384)
85 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
86 ==13945== by 0x812C947: zend_hash_destroy (zend_hash.c:519)
87 ==13945== by 0x1BC2E5C7: _http_request_object_free (http_request_object.c:198)
88 ==13945== by 0x813D6F3: zend_objects_store_del_ref (zend_objects_API.c:161)
89 ==13945== by 0x812335E: _zval_dtor_func (zend_variables.c:52)
90 ==13945== by 0x811925A: _zval_ptr_dtor (zend_variables.h:35)
91 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
92 ==13945== by 0x812C947: zend_hash_destroy (zend_hash.c:519)
93 ==13945== by 0x81233C2: _zval_dtor_func (zend_variables.c:43)
94 ==13945== by 0x811925A: _zval_ptr_dtor (zend_variables.h:35)
95 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
96 ==13945== Address 0x1BDCA378 is 8 bytes inside a block of size 16 free'd
97 ==13945== at 0x1B904B04: free (vg_replace_malloc.c:152)
98 ==13945== by 0x1BC2806B: zif_HttpRequest___destruct (http_methods.c:1120)
99 ==13945== by 0x8119F75: zend_call_function (zend_execute_API.c:867)
100 ==13945== by 0x8135FAC: zend_call_method (zend_interfaces.c:87)
101 ==13945== by 0x813AA2A: zend_objects_destroy_object (zend_objects.c:78)
102 ==13945== by 0x813D433: zend_objects_store_call_destructors (zend_objects_API.c:54)
103 ==13945== by 0x81187DA: shutdown_destructors (zend_execute_API.c:190)
104 ==13945== by 0x81251DA: zend_call_destructors (zend.c:808)
105 ==13945== by 0x80E28D8: php_request_shutdown (main.c:1201)
106 ==13945== by 0x81BDA83: main (cgi_main.c:1630)
107 ==13945==
108 ==13945== Invalid write of size 4
109 ==13945== at 0x81191F9: _zval_ptr_dtor (zend_execute_API.c:384)
110 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
111 ==13945== by 0x812C947: zend_hash_destroy (zend_hash.c:519)
112 ==13945== by 0x1BC2E5C7: _http_request_object_free (http_request_object.c:198)
113 ==13945== by 0x813D6F3: zend_objects_store_del_ref (zend_objects_API.c:161)
114 ==13945== by 0x812335E: _zval_dtor_func (zend_variables.c:52)
115 ==13945== by 0x811925A: _zval_ptr_dtor (zend_variables.h:35)
116 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
117 ==13945== by 0x812C947: zend_hash_destroy (zend_hash.c:519)
118 ==13945== by 0x81233C2: _zval_dtor_func (zend_variables.c:43)
119 ==13945== by 0x811925A: _zval_ptr_dtor (zend_variables.h:35)
120 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
121 ==13945== Address 0x1BDCA378 is 8 bytes inside a block of size 16 free'd
122 ==13945== at 0x1B904B04: free (vg_replace_malloc.c:152)
123 ==13945== by 0x1BC2806B: zif_HttpRequest___destruct (http_methods.c:1120)
124 ==13945== by 0x8119F75: zend_call_function (zend_execute_API.c:867)
125 ==13945== by 0x8135FAC: zend_call_method (zend_interfaces.c:87)
126 ==13945== by 0x813AA2A: zend_objects_destroy_object (zend_objects.c:78)
127 ==13945== by 0x813D433: zend_objects_store_call_destructors (zend_objects_API.c:54)
128 ==13945== by 0x81187DA: shutdown_destructors (zend_execute_API.c:190)
129 ==13945== by 0x81251DA: zend_call_destructors (zend.c:808)
130 ==13945== by 0x80E28D8: php_request_shutdown (main.c:1201)
131 ==13945== by 0x81BDA83: main (cgi_main.c:1630)
132 ==13945==
133 ==13945== Invalid write of size 1
134 ==13945== at 0x8119263: _zval_ptr_dtor (zend_execute_API.c:389)
135 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
136 ==13945== by 0x812C947: zend_hash_destroy (zend_hash.c:519)
137 ==13945== by 0x1BC2E5C7: _http_request_object_free (http_request_object.c:198)
138 ==13945== by 0x813D6F3: zend_objects_store_del_ref (zend_objects_API.c:161)
139 ==13945== by 0x812335E: _zval_dtor_func (zend_variables.c:52)
140 ==13945== by 0x811925A: _zval_ptr_dtor (zend_variables.h:35)
141 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
142 ==13945== by 0x812C947: zend_hash_destroy (zend_hash.c:519)
143 ==13945== by 0x81233C2: _zval_dtor_func (zend_variables.c:43)
144 ==13945== by 0x811925A: _zval_ptr_dtor (zend_variables.h:35)
145 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
146 ==13945== Address 0x1BDCA37D is 13 bytes inside a block of size 16 free'd
147 ==13945== at 0x1B904B04: free (vg_replace_malloc.c:152)
148 ==13945== by 0x1BC2806B: zif_HttpRequest___destruct (http_methods.c:1120)
149 ==13945== by 0x8119F75: zend_call_function (zend_execute_API.c:867)
150 ==13945== by 0x8135FAC: zend_call_method (zend_interfaces.c:87)
151 ==13945== by 0x813AA2A: zend_objects_destroy_object (zend_objects.c:78)
152 ==13945== by 0x813D433: zend_objects_store_call_destructors (zend_objects_API.c:54)
153 ==13945== by 0x81187DA: shutdown_destructors (zend_execute_API.c:190)
154 ==13945== by 0x81251DA: zend_call_destructors (zend.c:808)
155 ==13945== by 0x80E28D8: php_request_shutdown (main.c:1201)
156 ==13945== by 0x81BDA83: main (cgi_main.c:1630)
157 ==13945==
158 ==13945== Invalid read of size 4
159 ==13945== at 0x81191F1: _zval_ptr_dtor (zend_execute_API.c:384)
160 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
161 ==13945== by 0x811C41D: zend_llist_destroy (zend_llist.c:114)
162 ==13945== by 0x811C433: zend_llist_clean (zend_llist.c:126)
163 ==13945== by 0x1BC3532B: _http_request_pool_dtor (http_request_api.c:951)
164 ==13945== by 0x1BC2F8F2: _http_requestpool_object_free (http_requestpool_object.c:99)
165 ==13945== by 0x813D6F3: zend_objects_store_del_ref (zend_objects_API.c:161)
166 ==13945== by 0x812335E: _zval_dtor_func (zend_variables.c:52)
167 ==13945== by 0x811925A: _zval_ptr_dtor (zend_variables.h:35)
168 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
169 ==13945== by 0x812CAF7: zend_hash_apply_deleter (zend_hash.c:574)
170 ==13945== by 0x812CBAB: zend_hash_graceful_reverse_destroy (zend_hash.c:640)
171 ==13945== Address 0x1BDC17B0 is 8 bytes inside a block of size 16 free'd
172 ==13945== at 0x1B904B04: free (vg_replace_malloc.c:152)
173 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
174 ==13945== by 0x812C947: zend_hash_destroy (zend_hash.c:519)
175 ==13945== by 0x81233C2: _zval_dtor_func (zend_variables.c:43)
176 ==13945== by 0x811925A: _zval_ptr_dtor (zend_variables.h:35)
177 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
178 ==13945== by 0x812CAF7: zend_hash_apply_deleter (zend_hash.c:574)
179 ==13945== by 0x812CBAB: zend_hash_graceful_reverse_destroy (zend_hash.c:640)
180 ==13945== by 0x8119067: shutdown_executor (zend_execute_API.c:216)
181 ==13945== by 0x81252C8: zend_deactivate (zend.c:823)
182 ==13945== by 0x80E2313: php_request_shutdown (main.c:1237)
183 ==13945== by 0x81BDA83: main (cgi_main.c:1630)
184 ==13945==
185 ==13945== Invalid write of size 4
186 ==13945== at 0x81191F9: _zval_ptr_dtor (zend_execute_API.c:384)
187 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
188 ==13945== by 0x811C41D: zend_llist_destroy (zend_llist.c:114)
189 ==13945== by 0x811C433: zend_llist_clean (zend_llist.c:126)
190 ==13945== by 0x1BC3532B: _http_request_pool_dtor (http_request_api.c:951)
191 ==13945== by 0x1BC2F8F2: _http_requestpool_object_free (http_requestpool_object.c:99)
192 ==13945== by 0x813D6F3: zend_objects_store_del_ref (zend_objects_API.c:161)
193 ==13945== by 0x812335E: _zval_dtor_func (zend_variables.c:52)
194 ==13945== by 0x811925A: _zval_ptr_dtor (zend_variables.h:35)
195 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
196 ==13945== by 0x812CAF7: zend_hash_apply_deleter (zend_hash.c:574)
197 ==13945== by 0x812CBAB: zend_hash_graceful_reverse_destroy (zend_hash.c:640)
198 ==13945== Address 0x1BDC17B0 is 8 bytes inside a block of size 16 free'd
199 ==13945== at 0x1B904B04: free (vg_replace_malloc.c:152)
200 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
201 ==13945== by 0x812C947: zend_hash_destroy (zend_hash.c:519)
202 ==13945== by 0x81233C2: _zval_dtor_func (zend_variables.c:43)
203 ==13945== by 0x811925A: _zval_ptr_dtor (zend_variables.h:35)
204 ==13945== by 0x81236C2: _zval_ptr_dtor_wrapper (zend_variables.c:175)
205 ==13945== by 0x812CAF7: zend_hash_apply_deleter (zend_hash.c:574)
206 ==13945== by 0x812CBAB: zend_hash_graceful_reverse_destroy (zend_hash.c:640)
207 ==13945== by 0x8119067: shutdown_executor (zend_execute_API.c:216)
208 ==13945== by 0x81252C8: zend_deactivate (zend.c:823)
209 ==13945== by 0x80E2313: php_request_shutdown (main.c:1237)
210 ==13945== by 0x81BDA83: main (cgi_main.c:1630)
211