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 Ceri Davies <Ce...@Oracle.com> on 2013/03/26 18:55:50 UTC

Newbie to axis2c - 1.6.0 core dump

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...)




Ceri Davies | Principal Software Engineer | Ceri.Davies@Oracle.com
Work: +1 3032727810  x77810 | Home: +1 3035321116 | Cell: +1 3038706743 
(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


Re: Newbie to axis2c - 1.6.0 core dump

Posted by Graham Holden <gl...@aldurslair.com>.
Hello Ceri,

I've not used Axis enough to offer specific help, but I did notice
that your out-of-bounds address: "0x54415245504f5f5f" is hex for
the string "__OPERAT", which looks suspiciously like a string is being
used where the address of a string is expected.  Whether this is in
your code, or Axis, I don't know, but may give you/someone a nudge in
the right direction.

Graham Holden


Tuesday, March 26, 2013, 5:55:50 PM, you wrote:

> 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...)

> Ceri Davies | Principal Software Engineer | Ceri.Davies@Oracle.com
> Work: +1 3032727810  x77810 | Home: +1 3035321116 | Cell: +1 3038706743 
> (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




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


Re: Newbie to axis2c - 1.6.0 core dump

Posted by Alex Mantaut <al...@intraway.com>.
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" <Ce...@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.Davies@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.mantaut@intraway.com

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

Re: Newbie to axis2c - 1.6.0 core dump

Posted by Oscar Pernas <os...@pernas.es>.
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" <Ce...@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.Davies@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>
>
>