axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dushshantha Chandradasa (JIRA)" <>
Subject [jira] Commented: (AXISCPP-343) SIGSEGV deserializing an array of complex elements
Date Thu, 22 Sep 2005 10:56:45 GMT
    [ ] 

Dushshantha Chandradasa commented on AXISCPP-343:

i used memset and removed delete []. And set pObj referance to NULL to avoid garbage referance.
It solved the problem. I made the destructer virtual for Doc/lit as well. solution is testing.

But, I need an explanation here. when i tried to use delete [] instead of memset to 0, the
program crashed with a message that some memory location cannot be written. Why is that???


> SIGSEGV deserializing an array of complex elements
> --------------------------------------------------
>          Key: AXISCPP-343
>          URL:
>      Project: Axis-C++
>         Type: Bug
>   Components: Serialization
>     Versions: 1.4 Final
>  Environment: RH9
>     Reporter: Unai Uribarri
>     Assignee: Dushshantha Chandradasa
>  Attachments: siaam.wsdl
> The function Axis_Create_* (in the following example, the mapItem
> object) in the stubs generated by wsdl2ws java tool generates a SIGSEGV
> when tring to enlarge an array of objects
>         mapItem* pNew = new mapItem[nSize];
>         memcpy(pNew, pObj, sizeof(mapItem)*nSize/2);
>         memset(pObj, 0, sizeof(mapItem)*nSize/2);
>         --> delete [] pObj; <-- SIGSEGV
> memset clears the virtual table pointer of the mapItem objects and the delete operator

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message