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.

Reply via email to