[ http://issues.apache.org/jira/browse/AXISCPP-343?page=comments#action_12332284 ]
Henrik Nordberg commented on AXISCPP-343: ----------------------------------------- Just wanted to add that you must run this kind of test twice, or you will not enter the dtor at all. Axis doesn't free up the return values until it needs to create them again, at which point it checks if there are old values present and delete those if that is the case. Maybe this is why the test cases appear to work? And this needs to be tested with code that was generated by the latest wsdl2ws java file, so the before the tests run, wsdl2ws needs to be built, then invoked on the test WSDL, then the test needs to be compiled and run using this newly generated code. > SIGSEGV deserializing an array of complex elements > -------------------------------------------------- > > Key: AXISCPP-343 > URL: http://issues.apache.org/jira/browse/AXISCPP-343 > Project: Axis-C++ > Type: Bug > Components: Serialization > Versions: 1.4 Final > Environment: RH9 > Reporter: Unai Uribarri > Fix For: 1.6 Alpha > 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 crash. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
