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)" <ji...@apache.org> on 2007/09/04 12:02:58 UTC

[jira] Resolved: (AXIS2C-664) It seems that axis2/c lib has an upper limitation on the number of service client objects that have been created.

     [ https://issues.apache.org/jira/browse/AXIS2C-664?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Samisa Abeysinghe resolved AXIS2C-664.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.1.0
         Assignee: Samisa Abeysinghe

Code that Nandika has provided runs without problem. Hence this canbe considered fixed.

> It seems that axis2/c lib has an upper limitation on the number of service client objects that have been created.
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2C-664
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-664
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: core/clientapi
>    Affects Versions: 1.0.0
>         Environment: Windodw Server 2003, English Version, Microsoft Visual C++.net 2005, Intel Petium D CPU 3.0G dual core, 2G memory
>            Reporter: Rock Wang
>            Assignee: Samisa Abeysinghe
>            Priority: Critical
>             Fix For: 1.1.0
>
>
> It seems that axis2/c lib has an upper limitation on the number of service client objects that have ever been created. 
> Note that I used the the word "have ever",  which means the limitation is not on the number of clients that are simultaneously active, but on the total number of clients that have ever been created, including all those already freed.
> The following program can be used to generate the problem. In my Visual C++ 2005, it incurs an "Unhandled Win32 exception".  And to make more strange, using "Ctrl-F5"(start debugging) to run the program can make the exception occurs more easily than using just "F5"(start without debugging). I mean more "early" or more "rapidly".
> #include <iostream>
> #include <axis2_util.h>
> #include <axis2_client.h>
> using namespace std;
> int main() {
> 	axutil_env_t* env = axutil_env_create_all("hello_client.log", AXIS2_LOG_LEVEL_TRACE);
> 	const int TIMES = 1000;
> 	for(int i = 1; i <= TIMES; ++i) {
> 		cout << i << endl;
> 		axis2_svc_client_t* svc_client = axis2_svc_client_create(env, "axis2_repository");
> 		axis2_svc_client_free(svc_client, env);
> 	}
> 	axutil_env_free(env);
> 	return 0;
> }
> Using ctrl-F5, the program terminated with that exception when i becomes only 10.
>  I really feel that this code should not fail, because every client object is freed before creating a new one, which means, there is always at most only one client object living in my program.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org