Hi Ceri, Yes, there is a segfault when doing multiple async calls. I created a jira issue for it, and trying to solve the issue in trunk...
The issue https://issues.apache.org/jira/browse/AXIS2C-1584 As Oscar said the project has many issues right now, the 1.6 branch is really old, and trunk has many issues still unsolved. I use Axis2/C 1.6 branch with some patches in production, I wouldn't use trunk code in production yet because it has some leaks that do not exist in the branch. Regards On Wed, Mar 27, 2013 at 8:00 AM, Oscar Pernas <os...@pernas.es> wrote: > Hi Ceri, > > I was trying to use axis2c a few weeks ago. Everytime that I tried to make > something works, I got into a bug or leak. > > Personally I think that the project is not reliable for a production > system, and for now Its a waste of time to try to use it :( > > Regards > El 26/03/2013 18:56, "Ceri Davies" <ceri.dav...@oracle.com> escribió: > > Background: >> ========== >> I'm an experienced programmer, but new to axis2c. I initially downloaded >> axis2c 1.7.0 and got that working but it is intermittent, seems to not work >> it there is a gap between synchronous messages. >> I tried an async keepalive every 25 seconds, which seemed to help a bit, >> but not enough. I then looked around and realized that 1.7.0 is >> "unstable", so sought out the stable release 1.6.0 and installed that. I >> now just change a link so can test with either. >> >> Problem: >> ======= >> Async messages using axis2_svc_client_send_robust() work. sync messages >> using axis2_svc_client_send_receive() core dump in the axis2c code. This >> is code that works (intermittently) with 1.7.0. I've played with this for >> a while, trying xml2 instead of guththila and that core dumps as well. >> I've looked though the examples that come with axis2c 1.6.0 code ,and think >> I'm doing it right? >> Any ideas? I'm willing to send my code if needed. The basic premise for >> my app (which there is no example of), is that I do the init once, for the >> one endpoint, for both sync or async operations, and then wait for async >> and sync requests, and then set up the request for that operation using >> either robust_send or send_receive. >> >> >> Program terminated with signal 11, Segmentation fault. >> #0 0x00000030a9878db0 in strlen () from /lib64/libc.so.6 >> (gdb) where >> #0 0x00000030a9878db0 in strlen () from /lib64/libc.so.6 >> #1 0x00007f7ed0edf009 in guththila_write_start_element_with_namespace >> (wr=0x16bd430, namespace_uri=0x54415245504f5f5f <Address 0x54415245504f5f5f >> out of bounds>, >> local_name=0x16bbc10 "open", env=0x165e520) at >> guththila_xml_writer.c:1446 >> #2 0x00007f7ed1951dcc in >> guththila_xml_writer_wrapper_write_start_element_with_namespace >> (writer=0x16bcf00, env=0x165e520, localname=0x16bbc10 "open", >> namespace_uri=0x54415245504f5f5f <Address 0x54415245504f5f5f out of >> bounds>) at guththila_xml_writer_wrapper.c:371 >> #3 0x00007f7ed1df0499 in axiom_output_write (om_output=0x16c1b70, >> env=0x0, type=<value optimized out>, no_of_args=<value optimized out>) at >> om_output.c:465 >> #4 0x00007f7ed1deef85 in axiom_element_serialize_start_part >> (om_element=0x16bbb90, env=0x165e520, om_output=0x16c1b70, ele_node=<value >> optimized out>) >> at om_element.c:822 >> #5 0x00007f7ed1debaab in axiom_node_serialize (om_node=0x16bbb40, >> env=0x165e520, om_output=0x16c1b70) at om_node.c:511 >> #6 0x00007f7ed1738676 in axis2_http_sender_send (sender=0x16bced0, >> env=0x165e520, msg_ctx=0x16bbf20, out=0x16bc2d0, >> str_url=0x165e5b0 " >> http://localhost:7111/oda-fuse/OurayFuseServicePort", >> soap_action=0x7f7ed1748e6a "") at http_sender.c:465 >> #7 0x00007f7ed173780e in axis2_http_transport_sender_write_message >> (transport_sender=0x1661fe0, env=0x165e520, msg_ctx=0x16bbf20, >> epr=0x165e560, out=0x16bc2d0, >> om_output=0x16c1b70) at http_transport_sender.c:806 >> #8 0x00007f7ed1736751 in axis2_http_transport_sender_invoke >> (transport_sender=0x1661fe0, env=0x165e520, msg_ctx=0x16bbf20) at >> http_transport_sender.c:309 >> #9 0x00007f7ed1b7e716 in axis2_engine_send (engine=0x16bc150, >> env=0x165e520, msg_ctx=0x16bbf20) at engine.c:176 >> #10 0x00007f7ed1bafc18 in axis2_op_client_two_way_send (env=0x165e520, >> msg_ctx=0x16bbf20) at op_client.c:1171 >> #11 0x00007f7ed1bae99f in axis2_op_client_execute (op_client=0x16bc6f0, >> env=0x165e520, block=1) at op_client.c:508 >> #12 0x00007f7ed1bb1b04 in axis2_svc_client_send_receive_with_op_qname >> (svc_client=0x165e7d0, env=0x165e520, op_qname=0x16bba90, >> payload=0x16bbb40) at svc_client.c:732 >> #13 0x00007f7ed1bb1dd1 in axis2_svc_client_send_receive >> (svc_client=0x165e7d0, env=0x165e520, payload=0x16bbb40) at svc_client.c:830 >> #14 0x00000000004072e1 in afs_msg_send_receive (msg=0x7f7ed02a5d20 >> "/export/Container0/ceri.0", msg_len=512, >> outmsg=0x7f7ed02a5ad0 "ms\205", <incomplete sequence \305>, >> outmsg_len=512, action=0x7f7ed02a5cd0 "open") at afs_msg.c:207 >> (note: outmsg is not initialized at the time of the call, this is a char >> string that will contain the reply...) >> >> >> <http://www.oracle.com/> >> <http://www.oracle.com/> >> <http://www.oracle.com/><http://www.oracle.com/><http://www.oracle.com/><http://www.oracle.com/><http://www.oracle.com/><http://www.oracle.com/> >> Ceri Davies | Principal Software Engineer | ceri.dav...@oracle.com >> Work: <http://www.oracle.com/>+1 3032727810 <+1%203032727805> x77810 | >> Home: +1 3035321116 <+1%207209805105> | Cell: +1 3038706743<+1%207209805105> >> >> (Note: Home phone forwards to Cell, so try Home# first) >> Oracle Storage | 500 Eldorado Blvd. | Broomfield, CO 80021 >> Oracle is committed to developing practices and products that help >> protect the environment <http://www.oracle.com/commitment> >> <http://www.oracle.com/commitment> >> >> -- -- Mantaut Alex Intraway Corp. +54 (11) 6040-4000 MSN: alex.mant...@intraway.com Visit our website at http://www.intraway.com Proud to be an ISO 9001:2008 certified company