Hi Vivian, I think, this[1] is the fix, but could not confirm. You can try it and see. By the way, it is better to move to Axis2/C 1.6.0 because it has lots of bug fixes.
Regards, Shankar [1] http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/hash.c?r1=762752&r2=762751&pathrev=762752 On Fri, Jun 19, 2009 at 1:26 PM, Vivian Wang <vivianwan...@yahoo.com> wrote: > 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" > > > > -- S.Uthaiyashankar Software Architect WSO2 Inc. http://wso2.com/ - "The Open Source SOA Company"