[jira] Commented: (AXIS2C-1236) Memory issues in Axis2/C service client
[ https://issues.apache.org/jira/browse/AXIS2C-1236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12614754#action_12614754 ] Chris Rose commented on AXIS2C-1236: A cursory check suggests it's not; I don't access the service client from multiple threads. I'll experiment with it a bit and report back, though. Won't be til Monday, however. > Memory issues in Axis2/C service client > --- > > Key: AXIS2C-1236 > URL: https://issues.apache.org/jira/browse/AXIS2C-1236 > Project: Axis2-C > Issue Type: Bug > Components: core/clientapi >Affects Versions: 1.4.0 > Environment: Linux, Axis2/C 1.4.0, Rampart/C 1.2.0 >Reporter: Chris Rose > > Some memory errors are cropping up when I run the client API through > valgrind, some of which are leaks, others of which are problems with > accessing previously-freed memory. > When calling axis2_svc_client_send_receive, there is an invalid read from a > previously-freed AXIOM node structure. This occurs during SOAP fault > processing: > ==17373== Invalid read of size 4 > ==17373==at 0x4544A82: axiom_node_is_complete (om_node.c:991) > ==17373==by 0x454E5FE: axiom_stax_builder_end_element > (om_stax_builder.c:755) > ==17373==by 0x454EF51: axiom_stax_builder_next_with_token > (om_stax_builder.c:1154) > ==17373==by 0x4558F9D: axiom_soap_builder_next (soap_builder.c:300) > ==17373==by 0x455099D: axiom_soap_fault_get_reason (soap_fault.c:274) > ==17373==by 0x4557791: axiom_soap_body_convert_fault_to_soap11 > (soap_body.c:422) > ==17373==by 0x45BF00C: axis2_svc_client_send_receive_with_op_qname > (svc_client.c:932) > ==17373==by 0x45BF082: axis2_svc_client_send_receive (svc_client.c:949) > ==17373==by 0x44F7DBF: Axis2c_cmd_svc_client (axis2c_api.c:487) > ==17373==by 0x402FA62: TclEvalObjvInternal (tclBasic.c:3084) > ==17373==by 0x40618BB: TclExecuteByteCode (tclExecute.c:1404) > ==17373==by 0x4060A55: TclCompEvalObj (tclExecute.c:982) > ==17373== Address 0x4455bb8 is 32 bytes inside a block of size 40 free'd > ==17373==at 0x400543C: free (vg_replace_malloc.c:323) > ==17373==by 0x4519EA3: axutil_allocator_free_impl (allocator.c:91) > ==17373==by 0x4543886: axiom_node_free_detached_subtree (om_node.c:154) > ==17373==by 0x4543760: axiom_node_free_detached_subtree (om_node.c:106) > ==17373==by 0x45438BC: axiom_node_free_tree (om_node.c:178) > ==17373==by 0x4557765: axiom_soap_body_convert_fault_to_soap11 > (soap_body.c:413) > ==17373==by 0x45BF00C: axis2_svc_client_send_receive_with_op_qname > (svc_client.c:932) > ==17373==by 0x45BF082: axis2_svc_client_send_receive (svc_client.c:949) > ==17373==by 0x44F7DBF: Axis2c_cmd_svc_client (axis2c_api.c:487) > ==17373==by 0x402FA62: TclEvalObjvInternal (tclBasic.c:3084) > ==17373==by 0x40618BB: TclExecuteByteCode (tclExecute.c:1404) > ==17373==by 0x4060A55: TclCompEvalObj (tclExecute.c:982) > ==17373== > ==17373== Invalid read of size 4 > ==17373==at 0x4544883: axiom_node_get_parent (om_node.c:876) > ==17373==by 0x454E617: axiom_stax_builder_end_element > (om_stax_builder.c:757) > ==17373==by 0x454EF51: axiom_stax_builder_next_with_token > (om_stax_builder.c:1154) > ==17373==by 0x4558F9D: axiom_soap_builder_next (soap_builder.c:300) > ==17373==by 0x455099D: axiom_soap_fault_get_reason (soap_fault.c:274) > ==17373==by 0x4557791: axiom_soap_body_convert_fault_to_soap11 > (soap_body.c:422) > ==17373==by 0x45BF00C: axis2_svc_client_send_receive_with_op_qname > (svc_client.c:932) > ==17373==by 0x45BF082: axis2_svc_client_send_receive (svc_client.c:949) > ==17373==by 0x44F7DBF: Axis2c_cmd_svc_client (axis2c_api.c:487) > ==17373==by 0x402FA62: TclEvalObjvInternal (tclBasic.c:3084) > ==17373==by 0x40618BB: TclExecuteByteCode (tclExecute.c:1404) > ==17373==by 0x4060A55: TclCompEvalObj (tclExecute.c:982) > ==17373== Address 0x4455ba0 is 8 bytes inside a block of size 40 free'd > ==17373==at 0x400543C: free (vg_replace_malloc.c:323) > ==17373==by 0x4519EA3: axutil_allocator_free_impl (allocator.c:91) > ==17373==by 0x4543886: axiom_node_free_detached_subtree (om_node.c:154) > ==17373==by 0x4543760: axiom_node_free_detached_subtree (om_node.c:106) > ==17373==by 0x45438BC: axiom_node_free_tree (om_node.c:178) > ==17373==by 0x4557765: axiom_soap_body_convert_fault_to_soap11 > (soap_body.c:413) > ==17373==by 0x45BF00C: axis2_svc_client_send_receive_with_op_qname > (svc_client.c:932) > ==17373==by 0x45BF082: axis2_svc_client_send_receive (svc_client.c:949) > ==17373==by 0x44F7DBF: Axis2c_cmd_svc_client (axis2c_api.c:487) > ==17373==by 0x402FA62: TclEvalObjvInternal (tclBasic.c:3084) > ==17373==by 0x40618BB: TclExecuteByteCode (tclExecute.c:1404) > ==17
[jira] Commented: (AXIS2C-1236) Memory issues in Axis2/C service client
[ https://issues.apache.org/jira/browse/AXIS2C-1236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12614650#action_12614650 ] Damitha Kumarage commented on AXIS2C-1236: -- Are you using libxml2 parser?. If so use axis2_options_set_xml_parser_reset() from client api. See https://issues.apache.org/jira/browse/AXIS2C-884 Is this issue related to your issue? > Memory issues in Axis2/C service client > --- > > Key: AXIS2C-1236 > URL: https://issues.apache.org/jira/browse/AXIS2C-1236 > Project: Axis2-C > Issue Type: Bug > Components: core/clientapi >Affects Versions: 1.4.0 > Environment: Linux, Axis2/C 1.4.0, Rampart/C 1.2.0 >Reporter: Chris Rose > > Some memory errors are cropping up when I run the client API through > valgrind, some of which are leaks, others of which are problems with > accessing previously-freed memory. > When calling axis2_svc_client_send_receive, there is an invalid read from a > previously-freed AXIOM node structure. This occurs during SOAP fault > processing: > ==17373== Invalid read of size 4 > ==17373==at 0x4544A82: axiom_node_is_complete (om_node.c:991) > ==17373==by 0x454E5FE: axiom_stax_builder_end_element > (om_stax_builder.c:755) > ==17373==by 0x454EF51: axiom_stax_builder_next_with_token > (om_stax_builder.c:1154) > ==17373==by 0x4558F9D: axiom_soap_builder_next (soap_builder.c:300) > ==17373==by 0x455099D: axiom_soap_fault_get_reason (soap_fault.c:274) > ==17373==by 0x4557791: axiom_soap_body_convert_fault_to_soap11 > (soap_body.c:422) > ==17373==by 0x45BF00C: axis2_svc_client_send_receive_with_op_qname > (svc_client.c:932) > ==17373==by 0x45BF082: axis2_svc_client_send_receive (svc_client.c:949) > ==17373==by 0x44F7DBF: Axis2c_cmd_svc_client (axis2c_api.c:487) > ==17373==by 0x402FA62: TclEvalObjvInternal (tclBasic.c:3084) > ==17373==by 0x40618BB: TclExecuteByteCode (tclExecute.c:1404) > ==17373==by 0x4060A55: TclCompEvalObj (tclExecute.c:982) > ==17373== Address 0x4455bb8 is 32 bytes inside a block of size 40 free'd > ==17373==at 0x400543C: free (vg_replace_malloc.c:323) > ==17373==by 0x4519EA3: axutil_allocator_free_impl (allocator.c:91) > ==17373==by 0x4543886: axiom_node_free_detached_subtree (om_node.c:154) > ==17373==by 0x4543760: axiom_node_free_detached_subtree (om_node.c:106) > ==17373==by 0x45438BC: axiom_node_free_tree (om_node.c:178) > ==17373==by 0x4557765: axiom_soap_body_convert_fault_to_soap11 > (soap_body.c:413) > ==17373==by 0x45BF00C: axis2_svc_client_send_receive_with_op_qname > (svc_client.c:932) > ==17373==by 0x45BF082: axis2_svc_client_send_receive (svc_client.c:949) > ==17373==by 0x44F7DBF: Axis2c_cmd_svc_client (axis2c_api.c:487) > ==17373==by 0x402FA62: TclEvalObjvInternal (tclBasic.c:3084) > ==17373==by 0x40618BB: TclExecuteByteCode (tclExecute.c:1404) > ==17373==by 0x4060A55: TclCompEvalObj (tclExecute.c:982) > ==17373== > ==17373== Invalid read of size 4 > ==17373==at 0x4544883: axiom_node_get_parent (om_node.c:876) > ==17373==by 0x454E617: axiom_stax_builder_end_element > (om_stax_builder.c:757) > ==17373==by 0x454EF51: axiom_stax_builder_next_with_token > (om_stax_builder.c:1154) > ==17373==by 0x4558F9D: axiom_soap_builder_next (soap_builder.c:300) > ==17373==by 0x455099D: axiom_soap_fault_get_reason (soap_fault.c:274) > ==17373==by 0x4557791: axiom_soap_body_convert_fault_to_soap11 > (soap_body.c:422) > ==17373==by 0x45BF00C: axis2_svc_client_send_receive_with_op_qname > (svc_client.c:932) > ==17373==by 0x45BF082: axis2_svc_client_send_receive (svc_client.c:949) > ==17373==by 0x44F7DBF: Axis2c_cmd_svc_client (axis2c_api.c:487) > ==17373==by 0x402FA62: TclEvalObjvInternal (tclBasic.c:3084) > ==17373==by 0x40618BB: TclExecuteByteCode (tclExecute.c:1404) > ==17373==by 0x4060A55: TclCompEvalObj (tclExecute.c:982) > ==17373== Address 0x4455ba0 is 8 bytes inside a block of size 40 free'd > ==17373==at 0x400543C: free (vg_replace_malloc.c:323) > ==17373==by 0x4519EA3: axutil_allocator_free_impl (allocator.c:91) > ==17373==by 0x4543886: axiom_node_free_detached_subtree (om_node.c:154) > ==17373==by 0x4543760: axiom_node_free_detached_subtree (om_node.c:106) > ==17373==by 0x45438BC: axiom_node_free_tree (om_node.c:178) > ==17373==by 0x4557765: axiom_soap_body_convert_fault_to_soap11 > (soap_body.c:413) > ==17373==by 0x45BF00C: axis2_svc_client_send_receive_with_op_qname > (svc_client.c:932) > ==17373==by 0x45BF082: axis2_svc_client_send_receive (svc_client.c:949) > ==17373==by 0x44F7DBF: Axis2c_cmd_svc_client (axis2c_api.c:487) > ==17373==by 0x402FA62: TclEvalObjvInternal (tclBasic.c:3084) > ==17373==by 0x40618BB: TclExecuteByteCode (tclExe