You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Alex Mantaut <al...@intraway.com> on 2012/01/13 21:14:34 UTC

Crash when reusing svc_client with non-blocking call

Hi all,
       I'm performing a stress test on AXIS2C, sending multiple
Asynchronous request from a client to a service.

 I'm using an instance of svc_client to send multiple non_blocking requests
to a service, but after the request I lock the thread to wait for the
callback on complete to finish... The callback unlocks the mutex, wich
unlocks the 1st thread.

The code is similar to this:

mutex.lock();
for(i=0;i<10;i++)
{
        axis2_svc_client_send_receive_non_blocking (svc_client_,
env,                                               payload, callback);
         mutex.lock();
}
mutex.unlock();


echo_callback_on_complete(struct axis2_callback* callback,
                          const axutil_env_t*      env)
{
[does a bunch of stuff]
         mutex.unlock();
          return status;
 }

The thing is when it tries to send a second request it fails with
segmentation fault... After some debugging, I found that some of the
callback resources weren't completly deallcated when finishing
callback_on_complete(), wich somehow makes the next send request cause a
segmentation fault...

Looking in google I found this
https://issues.apache.org/jira/browse/AXIS2C-1551, and it looks like my
issue... Somebody did fix this? is there a workaround I could use to know
when the callback resources have been released?

-- 
-- 
Mantaut Alex
Intraway Corp.

+54 (11) 6040-4000
MSN: alex.mantaut@intraway.com <an...@intraway.com>

Visit our website at http://www.intraway.com
Proud to be an ISO 9001:2008 certified company