You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Samisa Abeysinghe (JIRA)" <ax...@ws.apache.org> on 2005/02/15 10:13:12 UTC

[jira] Updated: (AXISCPP-209) Client crashes when soap method invoked repeatedly in a loop

     [ http://issues.apache.org/jira/browse/AXISCPP-209?page=history ]

Samisa Abeysinghe updated AXISCPP-209:
--------------------------------------

    Attachment: InteropBaseClient.cpp

I tested with this client and the base.wsdl and there are no problems

> Client crashes when soap method invoked repeatedly in a loop
> ------------------------------------------------------------
>
>          Key: AXISCPP-209
>          URL: http://issues.apache.org/jira/browse/AXISCPP-209
>      Project: Axis-C++
>         Type: Bug
>   Components: Basic Architecture
>     Versions: 1.3 Beta
>  Environment: windows 2000 / sp 4
>     Reporter: sanjaya singharage
>     Assignee: Samisa Abeysinghe
>      Fix For: 1.5 Final
>  Attachments: InteropBaseClient.cpp
>
> This bug can be reproduced with the largestring test in tests/performance/large_string. for 1 and 2 iterations the test succeeds. If more iterations are specified the test fails. The relvant loop is listed below.
>         for(int i=1;i<=charlength;i++)
>         { 
>             sendbuf = (char*)malloc(sizeof(char)*(i+1));
>             memset(sendbuf, 's', i);
>             *(sendbuf+i) = '\0';
>             echoStringResult = ws.echoString(sendbuf);
>             if (0 == strcmp(echoStringResult, sendbuf))            
>             {
>                 printf("%d%s", i, "length string Successful\n");
>             }
>             else
>             {
>                 printf("%d%s", i, "length string FAILED\n");
>             }
>             printf("%s\n",echoStringResult );
>             free (sendbuf);
>             sendbuf = NULL;
>             if(echoStringResult)
>                 free(echoStringResult);
>          } 
> The crashing behaviour is summarised as follows.
> Client built in Release mode
> ---------------------------
> Expat parser - crashed on the third iteration on freeing echoStringResult 
> (
> i.e             if(echoStringResult)
>                 free(echoStringResult);
> )
> Xerces parser - crashed on the third interation on invoking 
> echoString method
> (i.e.
> echoStringResult = ws.echoString(sendbuf);
> )
> Client built in Debug mode
> --------------------------
> For both Expat and Xerces the client crashes on the first iteration 
> on freein echoStringResult
> (
> i.e             if(echoStringResult)
>                 free(echoStringResult);
> )
> This means that debugging the problem is not possible. The problem needs to be traced by printf s. Apparently this problems does not exist in Linux. Any ideas?

-- 
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
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira