You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Samisa Abeysinghe (JIRA)" <ji...@apache.org> on 2006/01/18 03:13:41 UTC

[jira] Created: (AXIS2C-18) If there is an XML error in the incomming SOAP message, the server hangs

If there is an XML error in the incomming SOAP message, the server hangs
------------------------------------------------------------------------

         Key: AXIS2C-18
         URL: http://issues.apache.org/jira/browse/AXIS2C-18
     Project: Axis2-C
        Type: Bug
  Components: xml/soap  
    Reporter: Samisa Abeysinghe
     Fix For: M0.2


If there is an XML error in the incomming SOAP message, the SOAP builder seem to keep on reading the stream, without returning an error. This causes the server to hang.

On XML errors in the SOAP message, the SOAP module must be returning a meaningful error back and exit the reading loop.

Here is the gdb trace to help solve the problems.

Program received signal SIGINT, Interrupt.
[Switching to Thread -1208923680 (LWP 6118)]
0x00627402 in __kernel_vsyscall ()
(gdb) bt
#0  0x00627402 in __kernel_vsyscall ()
#1  0x001e8d13 in __read_nocancel () from /lib/libc.so.6
#2  0x0079b9f4 in axis2_stream_read_socket (stream=0x8f39530, env=0xbf92f354, buffer=0x8f4268a, count=4096)
    at stream.c:597
#3  0x007589a5 in axis2_http_transport_utils_on_data_request (buffer=0x8f4268a "", size=4096, ctx=0xbf92f354)
    at http_transport_utils.c:658
#4  0x00652844 in axis2_libxml2_reader_wrapper_read_input_callback (ctx=0xfffffe00, buffer=0x8f4268a "", size=4096)
    at axis2_libxml2_reader_wrapper.c:764
#5  0x069d1f91 in xmlParserInputBufferGrow () from /usr/lib/libxml2.so.2
#6  0x069d20ed in xmlParserInputBufferRead () from /usr/lib/libxml2.so.2
#7  0x06a41de1 in xmlUCSIsCat () from /usr/lib/libxml2.so.2
#8  0x06a428bd in xmlTextReaderRead () from /usr/lib/libxml2.so.2
#9  0x0065273f in axis2_libxml2_reader_wrapper_next (parser=0x8f41fc8, env=0xbf92f6f8)
    at axis2_libxml2_reader_wrapper.c:401
#10 0x007e4b13 in axis2_om_stax_builder_next (om_stax_builder=0x8f47010, env=0xbf92f6f8) at om_stax_builder.c:674
#11 0x007dd4bb in axis2_om_node_get_next_sibling (om_node=0x8f47db8, env=0xbf92f6f8) at om_node.c:635
#12 0x008494f3 in axis2_soap_envelope_get_body (envelope=0x8f47f98, env=0xbf92f6f8) at soap_envelope.c:457
#13 0x00757eee in axis2_http_transport_utils_process_http_post_request (env=0xbf92f6f8, msg_ctx=0x8f41b80,
    in_stream=0x8f39530, out_stream=0x8f41820,
    content_type=0x8f41880 " application/soap+xml; charset=UTF-8;action=\"http://127.0.0.1:8070/axis2/services/RMInteropService/__OPERATION\r\n", soap_action_header=0x0, request_uri=0x8f41648 "/axis2/services/RMInteropService")
    at http_transport_utils.c:215
#14 0x0075747e in axis2_http_worker_process_request (http_worker=0x8f38a90, env=0xbf92f6f8, svr_conn=0x8f38f28,
    simple_request=0x8f41610) at http_worker.c:250
#15 0x004f6199 in axis2_http_svr_thread_run (svr_thread=0x8f38a58, env=0xbf92f6f8) at http_svr_thread.c:169
#16 0x004f6a0a in axis2_http_server_start (server=0x8f18078, env=0xbf92f6f8) at http_server.c:191
#17 0x08048a77 in main (argc=1, argv=0xbf92f794) at http_server_main.c:99


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Assigned: (AXIS2C-18) If there is an XML error in the incomming SOAP message, the server hangs

Posted by "Samisa Abeysinghe (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2C-18?page=all ]

Samisa Abeysinghe reassigned AXIS2C-18:
---------------------------------------

    Assign To: Samisa Abeysinghe

> If there is an XML error in the incomming SOAP message, the server hangs
> ------------------------------------------------------------------------
>
>          Key: AXIS2C-18
>          URL: http://issues.apache.org/jira/browse/AXIS2C-18
>      Project: Axis2-C
>         Type: Bug
>   Components: xml/soap
>     Reporter: Samisa Abeysinghe
>     Assignee: Samisa Abeysinghe
>      Fix For: M0.2

>
> If there is an XML error in the incomming SOAP message, the SOAP builder seem to keep on reading the stream, without returning an error. This causes the server to hang.
> On XML errors in the SOAP message, the SOAP module must be returning a meaningful error back and exit the reading loop.
> Here is the gdb trace to help solve the problems.
> Program received signal SIGINT, Interrupt.
> [Switching to Thread -1208923680 (LWP 6118)]
> 0x00627402 in __kernel_vsyscall ()
> (gdb) bt
> #0  0x00627402 in __kernel_vsyscall ()
> #1  0x001e8d13 in __read_nocancel () from /lib/libc.so.6
> #2  0x0079b9f4 in axis2_stream_read_socket (stream=0x8f39530, env=0xbf92f354, buffer=0x8f4268a, count=4096)
>     at stream.c:597
> #3  0x007589a5 in axis2_http_transport_utils_on_data_request (buffer=0x8f4268a "", size=4096, ctx=0xbf92f354)
>     at http_transport_utils.c:658
> #4  0x00652844 in axis2_libxml2_reader_wrapper_read_input_callback (ctx=0xfffffe00, buffer=0x8f4268a "", size=4096)
>     at axis2_libxml2_reader_wrapper.c:764
> #5  0x069d1f91 in xmlParserInputBufferGrow () from /usr/lib/libxml2.so.2
> #6  0x069d20ed in xmlParserInputBufferRead () from /usr/lib/libxml2.so.2
> #7  0x06a41de1 in xmlUCSIsCat () from /usr/lib/libxml2.so.2
> #8  0x06a428bd in xmlTextReaderRead () from /usr/lib/libxml2.so.2
> #9  0x0065273f in axis2_libxml2_reader_wrapper_next (parser=0x8f41fc8, env=0xbf92f6f8)
>     at axis2_libxml2_reader_wrapper.c:401
> #10 0x007e4b13 in axis2_om_stax_builder_next (om_stax_builder=0x8f47010, env=0xbf92f6f8) at om_stax_builder.c:674
> #11 0x007dd4bb in axis2_om_node_get_next_sibling (om_node=0x8f47db8, env=0xbf92f6f8) at om_node.c:635
> #12 0x008494f3 in axis2_soap_envelope_get_body (envelope=0x8f47f98, env=0xbf92f6f8) at soap_envelope.c:457
> #13 0x00757eee in axis2_http_transport_utils_process_http_post_request (env=0xbf92f6f8, msg_ctx=0x8f41b80,
>     in_stream=0x8f39530, out_stream=0x8f41820,
>     content_type=0x8f41880 " application/soap+xml; charset=UTF-8;action=\"http://127.0.0.1:8070/axis2/services/RMInteropService/__OPERATION\r\n", soap_action_header=0x0, request_uri=0x8f41648 "/axis2/services/RMInteropService")
>     at http_transport_utils.c:215
> #14 0x0075747e in axis2_http_worker_process_request (http_worker=0x8f38a90, env=0xbf92f6f8, svr_conn=0x8f38f28,
>     simple_request=0x8f41610) at http_worker.c:250
> #15 0x004f6199 in axis2_http_svr_thread_run (svr_thread=0x8f38a58, env=0xbf92f6f8) at http_svr_thread.c:169
> #16 0x004f6a0a in axis2_http_server_start (server=0x8f18078, env=0xbf92f6f8) at http_server.c:191
> #17 0x08048a77 in main (argc=1, argv=0xbf92f794) at http_server_main.c:99

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Resolved: (AXIS2C-18) If there is an XML error in the incomming SOAP message, the server hangs

Posted by "Samisa Abeysinghe (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2C-18?page=all ]
     
Samisa Abeysinghe resolved AXIS2C-18:
-------------------------------------

    Fix Version: M0.3
                     (was: M0.2)
     Resolution: Fixed

It is because the socket read callback blocks infinitely that this happenes.

I added a timeout for socket read to prevent this. Need to tidy up the timeout mechanism

> If there is an XML error in the incomming SOAP message, the server hangs
> ------------------------------------------------------------------------
>
>          Key: AXIS2C-18
>          URL: http://issues.apache.org/jira/browse/AXIS2C-18
>      Project: Axis2-C
>         Type: Bug
>   Components: xml/soap
>     Reporter: Samisa Abeysinghe
>     Assignee: Samisa Abeysinghe
>      Fix For: M0.3

>
> If there is an XML error in the incomming SOAP message, the SOAP builder seem to keep on reading the stream, without returning an error. This causes the server to hang.
> On XML errors in the SOAP message, the SOAP module must be returning a meaningful error back and exit the reading loop.
> Here is the gdb trace to help solve the problems.
> Program received signal SIGINT, Interrupt.
> [Switching to Thread -1208923680 (LWP 6118)]
> 0x00627402 in __kernel_vsyscall ()
> (gdb) bt
> #0  0x00627402 in __kernel_vsyscall ()
> #1  0x001e8d13 in __read_nocancel () from /lib/libc.so.6
> #2  0x0079b9f4 in axis2_stream_read_socket (stream=0x8f39530, env=0xbf92f354, buffer=0x8f4268a, count=4096)
>     at stream.c:597
> #3  0x007589a5 in axis2_http_transport_utils_on_data_request (buffer=0x8f4268a "", size=4096, ctx=0xbf92f354)
>     at http_transport_utils.c:658
> #4  0x00652844 in axis2_libxml2_reader_wrapper_read_input_callback (ctx=0xfffffe00, buffer=0x8f4268a "", size=4096)
>     at axis2_libxml2_reader_wrapper.c:764
> #5  0x069d1f91 in xmlParserInputBufferGrow () from /usr/lib/libxml2.so.2
> #6  0x069d20ed in xmlParserInputBufferRead () from /usr/lib/libxml2.so.2
> #7  0x06a41de1 in xmlUCSIsCat () from /usr/lib/libxml2.so.2
> #8  0x06a428bd in xmlTextReaderRead () from /usr/lib/libxml2.so.2
> #9  0x0065273f in axis2_libxml2_reader_wrapper_next (parser=0x8f41fc8, env=0xbf92f6f8)
>     at axis2_libxml2_reader_wrapper.c:401
> #10 0x007e4b13 in axis2_om_stax_builder_next (om_stax_builder=0x8f47010, env=0xbf92f6f8) at om_stax_builder.c:674
> #11 0x007dd4bb in axis2_om_node_get_next_sibling (om_node=0x8f47db8, env=0xbf92f6f8) at om_node.c:635
> #12 0x008494f3 in axis2_soap_envelope_get_body (envelope=0x8f47f98, env=0xbf92f6f8) at soap_envelope.c:457
> #13 0x00757eee in axis2_http_transport_utils_process_http_post_request (env=0xbf92f6f8, msg_ctx=0x8f41b80,
>     in_stream=0x8f39530, out_stream=0x8f41820,
>     content_type=0x8f41880 " application/soap+xml; charset=UTF-8;action=\"http://127.0.0.1:8070/axis2/services/RMInteropService/__OPERATION\r\n", soap_action_header=0x0, request_uri=0x8f41648 "/axis2/services/RMInteropService")
>     at http_transport_utils.c:215
> #14 0x0075747e in axis2_http_worker_process_request (http_worker=0x8f38a90, env=0xbf92f6f8, svr_conn=0x8f38f28,
>     simple_request=0x8f41610) at http_worker.c:250
> #15 0x004f6199 in axis2_http_svr_thread_run (svr_thread=0x8f38a58, env=0xbf92f6f8) at http_svr_thread.c:169
> #16 0x004f6a0a in axis2_http_server_start (server=0x8f18078, env=0xbf92f6f8) at http_server.c:191
> #17 0x08048a77 in main (argc=1, argv=0xbf92f794) at http_server_main.c:99

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Closed: (AXIS2C-18) If there is an XML error in the incomming SOAP message, the server hangs

Posted by "Samisa Abeysinghe (JIRA)" <ji...@apache.org>.
     [ http://issues.apache.org/jira/browse/AXIS2C-18?page=all ]
     
Samisa Abeysinghe closed AXIS2C-18:
-----------------------------------


This seems to be fixed by Nandika. Now it does not hang. However we have to have a test case on this to be included in the regression test suite

> If there is an XML error in the incomming SOAP message, the server hangs
> ------------------------------------------------------------------------
>
>          Key: AXIS2C-18
>          URL: http://issues.apache.org/jira/browse/AXIS2C-18
>      Project: Axis2-C
>         Type: Bug
>   Components: xml/soap
>     Reporter: Samisa Abeysinghe
>     Assignee: Samisa Abeysinghe
>      Fix For: M0.3

>
> If there is an XML error in the incomming SOAP message, the SOAP builder seem to keep on reading the stream, without returning an error. This causes the server to hang.
> On XML errors in the SOAP message, the SOAP module must be returning a meaningful error back and exit the reading loop.
> Here is the gdb trace to help solve the problems.
> Program received signal SIGINT, Interrupt.
> [Switching to Thread -1208923680 (LWP 6118)]
> 0x00627402 in __kernel_vsyscall ()
> (gdb) bt
> #0  0x00627402 in __kernel_vsyscall ()
> #1  0x001e8d13 in __read_nocancel () from /lib/libc.so.6
> #2  0x0079b9f4 in axis2_stream_read_socket (stream=0x8f39530, env=0xbf92f354, buffer=0x8f4268a, count=4096)
>     at stream.c:597
> #3  0x007589a5 in axis2_http_transport_utils_on_data_request (buffer=0x8f4268a "", size=4096, ctx=0xbf92f354)
>     at http_transport_utils.c:658
> #4  0x00652844 in axis2_libxml2_reader_wrapper_read_input_callback (ctx=0xfffffe00, buffer=0x8f4268a "", size=4096)
>     at axis2_libxml2_reader_wrapper.c:764
> #5  0x069d1f91 in xmlParserInputBufferGrow () from /usr/lib/libxml2.so.2
> #6  0x069d20ed in xmlParserInputBufferRead () from /usr/lib/libxml2.so.2
> #7  0x06a41de1 in xmlUCSIsCat () from /usr/lib/libxml2.so.2
> #8  0x06a428bd in xmlTextReaderRead () from /usr/lib/libxml2.so.2
> #9  0x0065273f in axis2_libxml2_reader_wrapper_next (parser=0x8f41fc8, env=0xbf92f6f8)
>     at axis2_libxml2_reader_wrapper.c:401
> #10 0x007e4b13 in axis2_om_stax_builder_next (om_stax_builder=0x8f47010, env=0xbf92f6f8) at om_stax_builder.c:674
> #11 0x007dd4bb in axis2_om_node_get_next_sibling (om_node=0x8f47db8, env=0xbf92f6f8) at om_node.c:635
> #12 0x008494f3 in axis2_soap_envelope_get_body (envelope=0x8f47f98, env=0xbf92f6f8) at soap_envelope.c:457
> #13 0x00757eee in axis2_http_transport_utils_process_http_post_request (env=0xbf92f6f8, msg_ctx=0x8f41b80,
>     in_stream=0x8f39530, out_stream=0x8f41820,
>     content_type=0x8f41880 " application/soap+xml; charset=UTF-8;action=\"http://127.0.0.1:8070/axis2/services/RMInteropService/__OPERATION\r\n", soap_action_header=0x0, request_uri=0x8f41648 "/axis2/services/RMInteropService")
>     at http_transport_utils.c:215
> #14 0x0075747e in axis2_http_worker_process_request (http_worker=0x8f38a90, env=0xbf92f6f8, svr_conn=0x8f38f28,
>     simple_request=0x8f41610) at http_worker.c:250
> #15 0x004f6199 in axis2_http_svr_thread_run (svr_thread=0x8f38a58, env=0xbf92f6f8) at http_svr_thread.c:169
> #16 0x004f6a0a in axis2_http_server_start (server=0x8f18078, env=0xbf92f6f8) at http_server.c:191
> #17 0x08048a77 in main (argc=1, argv=0xbf92f794) at http_server_main.c:99

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira