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"

Reply via email to