crash with arbitrary rest post data ----------------------------------- Key: AXIS2C-1400 URL: https://issues.apache.org/jira/browse/AXIS2C-1400 Project: Axis2-C Issue Type: Bug Affects Versions: 1.6.0 Environment: Windows XP Reporter: Tamas Martinec Priority: Critical
The echo sample crashes if the post data is empty, or content is not according to the text=sometext pattern. Here are the messages: SENDING DATA.. /* sending time = 23:57:14*/ /* message uuid = eb01af8d-4d6b-45a3-8bbf-2f80f43acbd2*/ --------------------- POST /axis2/services/echo/echoString HTTP/1.0 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 Content-Length: 6 Host: LOCALHOST Content-Type: application/x-www-form-urlencoded text RETRIEVING DATA.. /* retrieving time = 23:57:14*/ /* time throughput = 0 sec(s)*/ --------------------- HTTP/1.0 500 Internal Server Error Date: Thu Sep 24 23:57:14 2009 GMT Server: Axis2C/1.6.0 (Simple Axis2 HTTP Server) Content-Type: text/html Content-Length: 210 <html><head><title>500 Internal Server Error</title></head><body><h2>Internal Server Error</h2><p>The server encountered an unexpected condition which prevented it from fulfilling the request.</p></body></html> And the call stack for the crash: axis2_engine.dll!axis2_http_status_line_free(axis2_http_status_line * status_line=0xdddddddd, const axutil_env * env=0x006dd498) Line 143 + 0x3 bytes C axis2_engine.dll!axis2_http_simple_response_free(axis2_http_simple_response * simple_response=0x006df500, const axutil_env * env=0x006dd498) Line 117 C axis2_engine.dll!axis2_http_out_transport_info_impl_free(axis2_http_out_transport_info * http_out_transport_info=0x006de700, const axutil_env * env=0x006dd498) Line 158 C axis2_engine.dll!axis2_http_out_transport_info_free(axis2_http_out_transport_info * http_out_transport_info=0x006de700, const axutil_env * env=0x006dd498) Line 206 + 0x12 bytes C axis2_engine.dll!axis2_out_transport_info_impl_free(axis2_out_transport_info * out_transport_info=0x006de700, const axutil_env * env=0x006dd498) Line 61 C axis2_engine.dll!axis2_msg_ctx_free(axis2_msg_ctx * msg_ctx=0x006dfa38, const axutil_env * env=0x006dd498) Line 444 + 0x20 bytes C axis2_engine.dll!axis2_http_worker_process_request(axis2_http_worker * http_worker=0x006dc350, const axutil_env * env=0x006dd498, axis2_simple_http_svr_conn * svr_conn=0x006dd4e0, axis2_http_simple_request * simple_request=0x006e0b18) Line 2009 C axis2_http_receiver.dll!axis2_svr_thread_worker_func(axutil_thread_t * thd=0x006df870, void * data=0x006dc608) Line 260 + 0x18 bytes C axutil.dll!dummy_worker(void * opaque=0x006df870) Line 88 + 0x15 bytes C kernel32.dll!7c80b729() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] Seems like axis2_http_status_line_free wants to free something already freed.. And this is the end of the log: [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\transport\http\common\http_worker.c(200) Client HTTP version HTTP/1.0 [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\engine\rest_disp.c(114) Checking for service using target endpoint address : http://127.0.0.1:9090/axis2/services/echo/echoString [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\engine\rest_disp.c(135) Service found using target endpoint address [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\util\core_utils.c(772) Checking for operation using REST HTTP Location fragment : /echoString [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\util\core_utils.c(834) Operation found using target endpoint uri fragment [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\engine\phase.c(210) Invoke the handler request_uri_based_dispatcher within the phase Transport [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\engine\phase.c(210) Invoke the handler AddressingInHandler within the phase Transport [Thu Sep 24 23:57:14 2009] [info] Starting addressing in handler [Thu Sep 24 23:57:14 2009] [info] c:\axis2c-repo\src\modules\mod_addr\addr_in_handler.c [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\engine\phase.c(210) Invoke the handler addressing_based_dispatcher within the phase Transport [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\engine\phase.c(210) Invoke the handler rest_dispatcher within the phase Dispatch [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\engine\phase.c(210) Invoke the handler soap_message_body_based_dispatcher within the phase Dispatch [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\engine\phase.c(210) Invoke the handler soap_action_based_dispatcher within the phase Dispatch [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\engine\phase.c(210) Invoke the handler dispatch_post_conditions_evaluator within the phase PostDispatch [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\engine\phase.c(210) Invoke the handler context_handler within the phase PostDispatch [Thu Sep 24 23:57:14 2009] [debug] c:\axis2c-repo\src\core\receivers\raw_xml_in_out_msg_recv.c(382) fault_detail:<Detail></Detail> -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.