On Thu, Mar 4, 2010 at 9:51 PM, Hatim Daginawala < [email protected]> wrote:
> No harm in trying. I have been using release 1.5 for over a year now in a > very high volume environment. > > > > svc_client is not designed to be reused. > This is an incorrect statement. We reuse it, and it can be re-used. > Here are some of the issues I came across in 1.4/1.5 > > - It leaks all over the place - For example HTTP headers, you > will have to reset all the headers after each use. > I do not agree with this either. It does not leak all over the place. It sounds almost as if we have not done anything to fix leaks. This certainly is a misinterpretation and understatement. > - Default HTTP transport opens socket for every request – you > have to use libcurl > - libcurl wrapper had some terrible memory leaks – this should be > fixed in 1.6 > This is true. Because the most used is default http transport. > - axis2c does not have support for proxy, ssl, etc with libcurl > transport – there are patches to do this though > Again the reason is default is not curl. If you want curl, then you need to do your homework. Samisa... > > > *From:* Samisa Abeysinghe [mailto:[email protected]] > *Sent:* Thursday, March 04, 2010 9:29 AM > > *To:* Apache AXIS C User List > *Subject:* Re: How to fix memory leak in Axis2/C client? > > > > > > On Thu, Mar 4, 2010 at 8:37 PM, Hatim Daginawala < > [email protected]> wrote: > > You probably need to call axiom_node_free_tree on both request and response > node before reusing svc_client > > > > I do not think so - this will lead to seg faults if I recall right. > > > > If you cannot share the code, then the best is to use echo sample and see > if it leaks memory and if it does, report issues against that. > > > > It is like searching in the dark to talk about this without some concrete > code. > > > > Samisa... > > > > > > *From:* Olivier Mengué [mailto:[email protected]] > *Sent:* Thursday, March 04, 2010 8:36 AM > *To:* Apache AXIS C User List; Apache AXIS C User List > *Cc:* Axis2/C user > *Subject:* RE : How to fix memory leak in Axis2/C client? > > > > > > Samisa Abeysinghe wrote: > >It is hard to tell from the list of methods given. Can you please provide > >the code you are using to test? Then we can profile and see where the > leaks > >are. > > As you probably expected, no, I can't. > > Could you at least tell me if I have a good understanding of the API? > Is it my responsability to free the XML trees used in the SOAP exchange? > > Or if it may be a bug such as AXIS2C-1452? > > >> * for every call to the service: > >> - I construct the XML request document: > >> + axutil_qname_create() > >> + axiom_element_create_with_qname() > >> + axiom_element_create(), axiom_element_set_text() > >> - axis2c_svc_client_send_receive() > >> - I parse the XML response document: > >> + axis2c_svc_client_get_http_status_code() > >> + axis2c_svc_client_get_last_response_has_fault() > >> + axiom_node_get_n,ext_sibling() > >> + axiom_node_get_node_type() > >> + axiom_node_get_data_element(), axiom_node_get_localname(), > >> axiom_node_get_namespace(), axiom_node_get_text() > >> > >> > >> I suspect that either the request XML tree and the response XML tree are > >> not freed, > >> but I've seen nothing in the axis2c_svc_client API to do that. > >> > >> Which function calls are missing to fix my leak? > >> > >> Olivier. > >> > > Olivier Mengué > Oxymel, France. > ------------------------------ > > --------------------------------------------------- > Confidentiality Notice: This electronic mail transmission is confidential, > may be privileged and should be read or retained only by the intended > recipient. If you have received this transmission in error, please > immediately notify the sender and delete it from your system. > > > > > -- > Samisa Abeysinghe > Director, Engineering - WSO2 Inc. > > http://wso2.com/ - "lean . enterprise . middleware" > > ------------------------------ > --------------------------------------------------- > Confidentiality Notice: This electronic mail transmission is confidential, > may be privileged and should be read or retained only by the intended > recipient. If you have received this transmission in error, please > immediately notify the sender and delete it from your system. > > -- Samisa Abeysinghe Director, Engineering - WSO2 Inc. http://wso2.com/ - "lean . enterprise . middleware"
