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 <[email protected]> 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" <[email protected]> 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 | [email protected]
>> 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: [email protected]
Visit our website at http://www.intraway.com
Proud to be an ISO 9001:2008 certified company