Hi Shankar, The access violation happens in the following line when it tries to free om_builder (See code snappet in my previous message). AXIS2_FREE(env->allocator, (ht->array)); Looking from the debugger, env->allocator points to an invalid address (0xfeeefeee), suggesting it has been released already. Here is the stack trace in debugger: ====== axutil.dll!axutil_hash_free(axutil_hash_t * ht=0x089df150, const axutil_env * env=0x089deaf0) Line 623 + 0x12 axiom.dll!axiom_element_free(axiom_element * om_element=0x089def50, const axutil_env * env=0x089deaf0) Line 723 axiom.dll!axiom_node_free_detached_subtree(axiom_node * om_node=0x089deee8, const axutil_env * env=0x089deaf0) Line 165 axiom.dll!axiom_node_free_tree(axiom_node * om_node=0x089deee8, const axutil_env * env=0x089deaf0) Line 224 + 0xd axiom.dll!axiom_document_free(axiom_document * document=0x089ded48, const axutil_env * env=0x089deaf0) Line 89 axiom.dll!axiom_stax_builder_free(axiom_stax_builder * om_builder=0x089debf8, const axutil_env * env=0x089deaf0) Line 898 ====== Again, I am working on axis2/c 1.5+ code, I verified that the code works in 1.6 or even 1.3.
Thanks for your help! Vivian ________________________________ From: Uthaiyashankar <shan...@wso2.com> To: Apache AXIS C User List <axis-c-user@ws.apache.org> Sent: Thursday, June 18, 2009 7:38:33 PM Subject: Re: Help -- Need to figure out what has changed in source code Hi Vivian, Can you run your client with valgrind and send the logs when it crashes? We need the stack trace when it is crashing. Regards, Shankar On Fri, Jun 19, 2009 at 5:59 AM, Vivian Wang <vivianwan...@yahoo.com> wrote: Hi All, I am using axis2/c 1.5+ (checked out from trunk roughly one and half month before 1.6 release) for ws client. I have built my application first using 1.3. I notice that one piece of my code for freeing resources goes working fine in 1.3, crashes in 1.5+ and now working again in 1.6. I need to figure out what caused the crash in 1.5+ and what change make it work again in 1.6, as I am not ready yet to upgrade fully to 1.6. Please help me if you can. Thanks in advance! Here is the code: //freeing resources //axiom_output_t* om_output if (om_output) { axiom_output_free(om_output, env); om_output = NULL; } // axis2_svc_client_t* wsf_service_client if (wsf_service_client) { axis2_svc_client_free(wsf_service_client, env); wsf_service_client = NULL; } //axiom_stax_builder_t* om_builder if(om_builder) { axiom_stax_builder_free(om_builder, env); om_builder = NULL; } //axutil_env_t* env if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } I am using axiom_output_t* to serialize ws reply node (together with xml_write), and using axiom_stax_builder_t* to create the request payload. Thanks again! Vivian -- S.Uthaiyashankar Software Architect WSO2 Inc. http://wso2.com/ - "The Open Source SOA Company"