axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sathya Raghunathan <>
Subject RE: Client crashed while recieving response
Date Thu, 27 Sep 2007 05:58:22 GMT

Hi Dimuthu,

I am working with axis2-1.3 version. So what is the latest now?

From: Dimuthu Gamage []
Sent: Thursday, September 27, 2007 10:22 AM
To: Apache AXIS C User List
Subject: Re: Client crashed while recieving response

Hi Sathya,

Since your service is running fine, the error should be in the deserialize logic. And there
were some bugs in the deserialize logic. But I think in the latest axis2/java source svn,
these bugs are fixed.  (At least current test cases are working fine)

And AFIK the second problem (The server crash) was also  a known one, not keeping copy of
strings inside adb objects. That is also fixed in the latest svn.


On 9/25/07, Sathya Raghunathan <<>>
Hi Dimuthu,

I am forwarding this mail, because there was a failure in delivery last time.

Thanks for the explanation. I understood the concept behind recreating an adb object at the
client side. The only thing is, when i access the output message from the test client code,
the client crashes

I checked with the tcpmon utility.  From the tcpmon, I am able to see the input message value
and the output message field's values in the xml format. I have also attached the sample of
the tcpmon.log.

So, i believe that my service is working. But why am i not able to print the value in the
test client code?
Issue No 1:

In my test client code (attached parse_client.c)
I am printing the value of a field in output message as below.
printf ("The address = %u\n",adb_pInterchange_get_pInterchange(parse_res,env)); This printf
gives address as 0.

And the client code crashed at the next printf because this address is  0 and i am dereferencing
printf("The internal intref number = %u\n",     adb_INTERCHANGE_get_internal_intref_no(adb_pInterchange_get_pInterchange(parse_res,env),env));
// Crashed here

and the gdb output is below. If you can see _INTERCHANGE=0x0. It is strange.
0x000000000041257f in adb_INTERCHANGE_get_internal_intref_no (_INTERCHANGE=0x0, env=0x698340)
at adb_INTERCHANGE.c:1811
1811                    return _INTERCHANGE-> attrib_internal_intref_no;
(gdb) where
#0  0x000000000041257f in adb_INTERCHANGE_get_internal_intref_no (_INTERCHANGE=0x0, env=0x698340)
at adb_INTERCHANGE.c:1811
#1  0x000000000045b9f3 in main (argc=1, argv=0x7fff89068888) at parse_client.c:47

Issue No 2:

The server still runs at this point. Now the second time i run the client, the server crashes.
The gdb output for this is

0x000000313da77180 in strlen () from /lib64/
(gdb) where
#0  0x000000313da77180 in strlen () from /lib64/
#1  0x00002aaaaaf14c13 in axutil_strlen (s=0x60 <Address 0x60 out of bounds>) at string.c:475
#2  0x00002aaaac0a83cf in adb_INTERCHANGE_serialize (_INTERCHANGE=0x71edb0, env=0x7112b0,
parent=0x71f260, has_parent=1)
    at adb_INTERCHANGE.c:1379
#3  0x00002aaaac0edd81 in adb_pInterchange_serialize (_pInterchange=0x71ecf0, env=0x7112b0,
parent=0x71b390, has_parent=0)
    at adb_pInterchange.c:282
#4  0x00002aaaac0f43de in axis2_svc_skel_ParseMessage_invoke (svc_skeleton=0x71c880, env=0x7112b0,
    msg_ctx=0x71b220) at axis2_svc_skel_ParseMessage.c:159
#5  0x00002aaaab37e337 in axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync (msg_recv=<value
optimized out>, env=0x7112b0,
    msg_ctx=0x71df40, new_msg_ctx=0x71b220) at raw_xml_in_out_msg_recv.c:209
#6  0x00002aaaab37e001 in axis2_msg_recv_receive_impl (msg_recv=0x6f5e20, env=0x7112b0, msg_ctx=0x71df40,
    callback_recv_param=<value optimized out>) at msg_recv.c:304
#7  0x00002aaaab3770f5 in axis2_engine_receive (engine=0x71aab0, env=0x7112b0, msg_ctx=0x71df40)
at engine.c:288
#8  0x00002aaaaaab87af in axis2_http_transport_utils_process_http_post_request (env=0x7112b0,
    in_stream=<value optimized out>, out_stream=<value optimized out>, content_type=0x71c6c0
    content_length=<value optimized out>, soap_action_header=0x712d10,
    request_uri=0x71e0b0 " /services/parseMessage <>
") at http_transport_utils.c:485
#9  0x00002aaaaaab690a in axis2_http_worker_process_request (http_worker=0x712180, env=0x7112b0,
    simple_request=0x71b650) at http_worker.c:299
#10 0x00002aaaab7dbeae in axis2_svr_thread_worker_func (thd=0x71c970, data=0x71c990) at http_svr_thread.c:256
#11 0x000000313ea061c5 in start_thread () from /lib64/
#12 0x000000313dad062d in clone () from /lib64/

Let me know if you need any further information from me.


To unsubscribe, e-mail: <>
For additional commands, e-mail:<>

**************** CAUTION - Disclaimer *****************
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely for the use of
the addressee(s). If you are not the intended recipient, please notify the sender by e-mail
and delete the original message. Further, you are not to copy, disclose, or distribute this
e-mail or its contents to any other person and any such actions are unlawful. This e-mail
may contain viruses. Infosys has taken every reasonable precaution to minimize this risk,
but is not liable for any damage you may sustain as a result of any virus in this e-mail.
You should carry out your own virus checks before opening the e-mail or attachment. Infosys
reserves the right to monitor and review the content of all messages sent to or from this
e-mail address. Messages sent to or from this e-mail address may be stored on the Infosys
e-mail system.
***INFOSYS******** End of Disclaimer ********INFOSYS***

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message