Nandika Jayawardana wrote:
Hi Jamie,
Try adding the following line to your code before the call to send
message. I think it should fix the problem.
axis2_options_set_xml_parser_reset (client_options, env, AXIS2_FALSE);
Basically, if you do not have the above setting, it tries to free the
XML parser instance when you free the stub. So when you are using two
stubs, you get a double free.
Samisa...
Regards
Nandika
On 9/11/07, *Jamie Lyon* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
Sorry, forgot to mention the error that caused the stack trace. It
is as follows:
*** glibc detected *** /home/jl/axistest/cpp/examples/example2:
double free or corruption (out): 0x081c60d0 ***
Thanks,
Jamie
________________________________________
From: Jamie Lyon [mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>]
Sent: 11 September 2007 16:25
To: Apache AXIS C Developers List
Subject: Possible to have two stubs active at the same time?
Hi,
Is it possible to have two 'axis2_stub_t's active at any one time?
When I try to free the objects I get the stack trace included at
the end of the message.
This is upon freeing the second axis2_stub. If I delete the first
before creating the second it works perfectly fine, it's only if
they're both created at the same time.
I should also note that this only appears to happen if both stubs
have sent a message, if either one has only been created, and not
actually used, both can be freed without any incident.
The general steps are as follows:
1) Create axutil_env_t
2) Create neethi_policy
3) Create stub 1 from axutil_env_t and neethi_policy
4) Create a second neethi_policy
5) Create stub 2 from axutil_env_t and second neethi_policy (also
tried with a second, separate axutil_env_t, to no avail)
6) Send a message from stub 1
7) Send a message from stub 2
8) Free stub 1
9) Free stub 2 (crash)
If you cannot reproduce this, I will try and write a test case.
Is this a known problem?
Thanks,
Jamie
-----
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7c74770 in raise () from /lib/tls/i686/cmov/libc.so.6
#2 0xb7c75ef3 in abort () from /lib/tls/i686/cmov/libc.so.6
#3 0xb7ca9d0b in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6
#4 0xb7cb18bd in mallopt () from /lib/tls/i686/cmov/libc.so.6
#5 0xb7cb1a44 in free () from /lib/tls/i686/cmov/libc.so.6
#6 0xb7b0045f in xmlCharEncCloseFunc () from /usr/lib/libxml2.so.2
#7 0xb7b2b97f in xmlFreeParserInputBuffer () from
/usr/lib/libxml2.so.2
#8 0xb7b04858 in xmlFreeInputStream () from /usr/lib/libxml2.so.2
#9 0xb7b048a8 in xmlFreeParserCtxt () from /usr/lib/libxml2.so.2
#10 0xb7bb052d in xmlFreeTextReader () from /usr/lib/libxml2.so.2
#11 0xb7f1984d in axis2_libxml2_reader_wrapper_free
(parser=0x81423c8,
env=0x80e81f0) at libxml2_reader_wrapper.c:475
#12 0xb7f18788 in axiom_xml_reader_free (parser=0x81423c8,
env=0x80e81f0)
at ../xml_reader.c:31
#13 0xb7f7976a in axiom_stax_builder_free (om_builder=0x813dc20,
env=0x80e81f0)
at om_stax_builder.c:825
#14 0xb7f82e26 in axiom_soap_builder_free (soap_builder=0x8142a58,
env=0x80e81f0) at soap_builder.c:177
#15 0xb7f81adf in axiom_soap_envelope_free (soap_envelope=0x8156160,
env=0x80e81f0) at soap_envelope.c:162
#16 0xb7f528bc in axis2_msg_ctx_free (msg_ctx=0x81409d0,
env=0x80e81f0)
at msg_ctx.c:327
#17 0xb7f52fde in axis2_op_ctx_free (op_ctx=0x814d4a8, env=0x80e81f0)
at op_ctx.c:145
#18 0xb7f58956 in axis2_op_client_free (op_client=0x814d470,
env=0x80e81f0)
at op_client.c:582
#19 0xb7f59a48 in axis2_svc_client_free (svc_client=0x80e83d8,
env=0x80e81f0)
at svc_client.c:1164
#20 0xb7f566b2 in axis2_stub_free (stub=0x80e83c8, env=0x80e81f0)
at stub.c:126 ...
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
--
http://nandikajayawardana.blogspot.com/
<http://nandikajayawardana.blogspot.com/>
WSO2 Inc: http://www.wso2.com
--
Samisa Abeysinghe : WSO2 WSF/C
"http://wso2.org/projects/wsf/c?WSO2 Web Services Framework/C - Open source C library for providing and consuming Web services"
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]