Hello,
Back to home !
Here's the backtrace of my axis_http_server
Program terminated with signal 11, Segmentation fault.
#0 0xb7e646a3 in axis2_msg_recv_make_new_svc_obj (msg_recv=0x80e4c70,
env=0x8126fd8, msg_ctx=0x8127a18) at msg_recv.c:157
157 AXIS2_SVC_SKELETON_INIT((axis2_svc_skeleton_t *)impl_class,
env);
(gdb) backtrace
#0 0xb7e646a3 in axis2_msg_recv_make_new_svc_obj (msg_recv=0x80e4c70,
env=0x8126fd8, msg_ctx=0x8127a18) at msg_recv.c:157
#1 0xb7e647b4 in axis2_msg_recv_get_impl_obj (msg_recv=0x80e4c70,
env=0x8126fd8, msg_ctx=0x8127a18) at msg_recv.c:184
#2 0xb7e650f0 in
axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync
(msg_recv=0x80e4c70, env=0x8126fd8, msg_ctx=0x8127a18,
new_msg_ctx=0x812f0b8)
at raw_xml_in_out_msg_recv.c:93
#3 0xb7e64e2d in axis2_msg_recv_invoke_business_logic
(msg_recv=0x80e4c70, env=0x8126fd8, in_msg_ctx=0x8127a18,
out_msg_ctx=0x812f0b8) at msg_recv.c:372
#4 0xb7e64c35 in axis2_msg_recv_receive_impl (msg_recv=0x80e4c70,
env=0x8126fd8, msg_ctx=0x8127a18, callback_recv_param=0x0) at msg_recv.c:304
#5 0xb7e64e89 in axis2_msg_recv_receive (msg_recv=0x80e4c70,
env=0x8126fd8, msg_ctx=0x8127a18, callback_recv_param=0x0) at msg_recv.c:407
#6 0xb7e59bae in axis2_engine_receive (engine=0x812ead8, env=0x8126fd8,
msg_ctx=0x8127a18) at engine.c:288
#7 0xb7f12ec6 in axis2_http_transport_utils_process_http_post_request
(env=0x8126fd8, msg_ctx=0x8127a18, in_stream=0x8127000,
out_stream=0x8127030,
content_type=0x80c80b0 "application/soap+xml;charset=UTF-8",
content_length=262, soap_action_header=0x0, request_uri=0x8127be0
"http://127.0.0.1:9090/axis2/services/majcsp")
at http_transport_utils.c:485
#8 0xb7f11686 in axis2_http_worker_process_request
(http_worker=0x81267f8, env=0x8126fd8, svr_conn=0x8126ff0,
simple_request=0x81270b0) at http_worker.c:299
#9 0xb7e1403a in axis2_svr_thread_worker_func (thd=0x8126f28,
data=0x8126818) at http_svr_thread.c:256
#10 0xb7ec241d in dummy_worker (opaque=0x8126f28) at thread_unix.c:85
#11 0xb7cbb31b in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#12 0xb7c2c57e in clone () from /lib/tls/i686/cmov/libc.so.6
It seem there's a problem with my skeleton. But I dont find what is
wrong in my source ... Here's my service :
#include <axiom_xml_writer.h>
#include <stdio.h>
#include <axis2_svc_skeleton.h>
#include <axutil_array_list.h>
#include <axis2_msg_ctx.h>
#include <stdio.h>
#include <axis2_svc_skeleton.h>
#include <axutil_log_default.h>
#include <axutil_error_default.h>
#include <axiom_text.h>
#include <axiom_node.h>
#include <axiom_element.h>
// THIS IS AN EXTERNAL .H WHERE YOU CAN FIND THE DECLARATION OF THE
FUNCTION ws_majcsp_update
#include "WSWrapper.h"
axiom_node_t* AXIS2_CALL
majcsp_invoke(axis2_svc_skeleton_t *svc_skeleton,
const axutil_env_t *env,
axiom_node_t *node,
axis2_msg_ctx_t *msg_ctx);
int AXIS2_CALL
majcsp_init(axis2_svc_skeleton_t *svc_skeleton,
const axutil_env_t *env);
axiom_node_t* AXIS2_CALL
majcsp_on_fault(axis2_svc_skeleton_t *svc_skeli,
const axutil_env_t *env, axiom_node_t *node);
int AXIS2_CALL
majcsp_free(axis2_svc_skeleton_t *svc_skeleton,
const axutil_env_t *env);
static const axis2_svc_skeleton_ops_t majcsp_svc_skeleton_ops_var = {
majcsp_init,
majcsp_invoke,
majcsp_on_fault,
majcsp_free
};
int AXIS2_CALL
majcsp_init(axis2_svc_skeleton_t *svc_skeleton,
const axutil_env_t *env)
{
svc_skeleton->func_array = axutil_array_list_create(env, 0);
axutil_array_list_add(svc_skeleton->func_array, env, "greet");
return AXIS2_SUCCESS;
}
axiom_node_t* AXIS2_CALL
majcsp_invoke(axis2_svc_skeleton_t *svc_skeleton,
const axutil_env_t *env,
axiom_node_t *node,
axis2_msg_ctx_t *msg_ctx)
{
// NEVER DISPLAYED !
printf("\n\nINVOKE\n\n");
// METHOD IN ANOTHER .SO
return ws_majcsp_update(env, node);
}
axiom_node_t* AXIS2_CALL
majcsp_on_fault(axis2_svc_skeleton_t *svc_skeli,
const axutil_env_t *env, axiom_node_t *node)
{
axiom_node_t *error_node = NULL;
axiom_node_t *text_node = NULL;
axiom_element_t *error_ele = NULL;
error_ele = axiom_element_create(env, NULL, "EchoServiceError",
NULL, &error_node);
axiom_element_set_text(error_ele, env, "Echo service failed ",
text_node);
return error_node;
}
int AXIS2_CALL
majcsp_free(axis2_svc_skeleton_t *svc_skeleton,
const axutil_env_t *env)
{
if (svc_skeleton->func_array)
{
axutil_array_list_free(svc_skeleton->func_array, env);
svc_skeleton->func_array = NULL;
}
if (svc_skeleton)
{
AXIS2_FREE(env->allocator, svc_skeleton);
svc_skeleton = NULL;
}
return AXIS2_SUCCESS;
}
AXIS2_EXPORT int
axis2_remove_instance(axis2_svc_skeleton_t *inst,
const axutil_env_t *env)
{
axis2_status_t status = AXIS2_FAILURE;
if (inst)
{
status = AXIS2_SVC_SKELETON_FREE(inst, env);
}
return status;
}
axis2_svc_skeleton_t *
axis2_majcsp_create(const axutil_env_t *env)
{
axis2_svc_skeleton_t *svc_skeleton = NULL;
svc_skeleton = (axis2_svc_skeleton_t*) AXIS2_MALLOC(env->allocator,
sizeof(axis2_svc_skeleton_t));
svc_skeleton->ops = &majcsp_svc_skeleton_ops_var;
svc_skeleton->func_array = NULL;
return svc_skeleton;
}
AXIS2_EXPORT int
axis2_get_instance(axis2_svc_skeleton_t **inst,
const axutil_env_t *env)
{
// NEVER DISPLAYED !!!
printf("***GET_INSTANCE");
*inst = axis2_majcsp_create(env);
if (!(*inst))
{
return AXIS2_FAILURE;
}
return AXIS2_SUCCESS;
}
And here's my service.xml
$ cat /usr/local/axis2c/services/majcsp/services.xml
<service name="majcsp">
<parameter name="ServiceClass" locked="xsd:false">majcsp</parameter>
<description>
Quick start guide hello service sample.
</description>
<operation name="greet"/>
</service>
Hope these infos can guide you !
Thanks again for your help !
Regards,
JL
[EMAIL PROTECTED] a écrit :
Thanks, my compilations flags in my ws are not in cause because the
backtrace not mention the .so of my webservice. To be more precise, the
get_instance of my ws is not executed (I've validated this by put a printf
in it, and he did not display nothing).
If it can help I can compile axis with -g option, how can I do this ? (I
suppose it can be done with a ./configure option but if you can give me
the right option it help me).
The service.xml is based on the echo one (I've only changed the name echo
by the name of my webservice).
I'm now at work, so I'll can do a test this evening.
Thanks again !
JL
[EMAIL PROTECTED] wrote:
No pb,
I've already posted an issue for this (perhaps it's a mistake ?)
No it is not a mistake. Raising a Jira is the preferred method.
BTW, it looks like you have not included -g in your CFLAGS, please do so
that the backtrace would include line numbers.
Having a glance at the backtrace, it looks like there is something wrong
in the service object creation. Could possibly be something wrong in the
service implementation, or the configuration.
Samisa...
https://issues.apache.org/jira/browse/AXIS2C-612
Here's the backtrace :
#0 0xb7e62b87 in axis2_msg_recv_make_new_svc_obj () from
/home/jllesieur/SVNROOT/axis2c-bin-1.0.0-linux/lib/libaxis2_engine.so.0
#1 0xb7e62c98 in axis2_msg_recv_get_impl_obj () from
/home/jllesieur/SVNROOT/axis2c-bin-1.0.0-linux/lib/libaxis2_engine.so.0
#2 0xb7e635d4 in
axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync
() from
/home/jllesieur/SVNROOT/axis2c-bin-1.0.0-linux/lib/libaxis2_engine.so.0
#3 0xb7e63311 in axis2_msg_recv_invoke_business_logic () from
/home/jllesieur/SVNROOT/axis2c-bin-1.0.0-linux/lib/libaxis2_engine.so.0
#4 0xb7e63119 in axis2_msg_recv_receive_impl () from
/home/jllesieur/SVNROOT/axis2c-bin-1.0.0-linux/lib/libaxis2_engine.so.0
#5 0xb7e6336d in axis2_msg_recv_receive () from
/home/jllesieur/SVNROOT/axis2c-bin-1.0.0-linux/lib/libaxis2_engine.so.0
#6 0xb7e58092 in axis2_engine_receive () from
/home/jllesieur/SVNROOT/axis2c-bin-1.0.0-linux/lib/libaxis2_engine.so.0
#7 0xb7f0d5de in axis2_http_transport_utils_process_http_post_request ()
from
/home/jllesieur/SVNROOT/axis2c-bin-1.0.0-linux/lib/libaxis2_http_common.so.0
#8 0xb7f0bf20 in axis2_http_worker_process_request () from
/home/jllesieur/SVNROOT/axis2c-bin-1.0.0-linux/lib/libaxis2_http_common.so.0
#9 0xb7e140ca in axis2_svr_thread_worker_func () from
/home/jllesieur/SVNROOT/axis2c-bin-1.0.0-linux/lib/libaxis2_http_receiver.so.0
#10 0xb7ebf265 in dummy_worker () from
/home/jllesieur/SVNROOT/axis2c-bin-1.0.0-linux/lib/libaxutil.so.0
#11 0xb7cb931b in start_thread () from
/lib/tls/i686/cmov/libpthread.so.0
#12 0xb7c2957e in clone () from /lib/tls/i686/cmov/libc.so.6
Thanks a lot for your help !
Jean-Louis
Is it possible for you to use gdb and send the back trace at the point
it segfaults please? That would help us to understand where the exact
problem is. It is hard to tell the problem form the log.
Thanks,
Samisa...
Jean-Louis LESIEUR wrote:
Hello,
I have a problem when I deploy a service. I've build a simple service
based on the "echo" sample, except in the fact that this service call
a function in other custom shared library.
I'm on ubuntu linux 7.04 with axis 1.0.0.
I've tried to compile my service with this command :
gcc -shared -olibmajcsp.so -I$AXIS2C_HOME/include/axis2-1.0/
-L$AXIS2C_HOME/lib -laxis2 -L<here, my custom .so path> -l<here my
lib> -I<here my include path> <here my service>
I have no error in compilation.
So I deploy the .so of this service and try to call him with echo
client sample axis_http_server crashes with a segmentation fault ...
Here's the result of execution of axis_http_server :
$ sudo ./axis 2_http_server -l 5 -f /dev/stderr
Started Simple Axis2 HTTP Server ...
[Thu Jun 7 23:19:47 2007] [info] Starting HTTP server thread
[Thu Jun 7 23:19:51 2007] [debug] http_worker.c(155) Client HTTP
version HTTP/1.1
[Thu Jun 7 23:19:51 2007] [debug] soap_builder.c(748) identified soap
version is soap12
[Thu Jun 7 23:19:51 2007] [debug] engine.c(571) Invoking phase
Transport
[Thu Jun 7 23:19:51 2007] [debug] phase.c(195) Invoke the handler
request_uri_based_dispatcher within the phase Transport
[Thu Jun 7 23:19:51 2007] [debug] req_uri_disp.c(103) Checking for
service using target endpoint address :
http://127.0.0.1:9090/axis2/services/majcsp
[Thu Jun 7 23:19:51 2007] [debug] req_uri_disp.c(124) Service found
using target endpoint address
[Thu Jun 7 23:19:51 2007] [debug] engine.c(571) Invoking phase
PreDispatch
[Thu Jun 7 23:19:51 2007] [debug] phase.c(195) Invoke the handler
AddressingInHandler within the phase PreDispatch
[Thu Jun 7 23:19:51 2007] [info] Starting addressing in handler
.........
[Thu Jun 7 23:19:51 2007] [info] addr_in_handler.c
[Thu Jun 7 23:19:51 2007] [debug] engine.c(571) Invoking phase
Dispatch
[Thu Jun 7 23:19:51 2007] [debug] phase.c(195) Invoke the handler
soap_message_body_based_dispatcher within the phase Dispatch
[Thu Jun 7 23:19:51 2007] [debug] soap_body_disp.c(217) Checking for
operation using SOAP message body's first child's local name :
echoString
[Thu Jun 7 23:19:51 2007] [debug] soap_body_disp.c(226) Operation
found using SOAP message body's first child's local name
[Thu Jun 7 23:19:51 2007] [debug] phase.c(195) Invoke the handler
addressing_based_dispatcher within the phase Dispatch
[Thu Jun 7 23:19:51 2007] [debug] phase.c(195) Invoke the handler
soap_action_based_dispatcher within the phase Dispatch
[Thu Jun 7 23:19:51 2007] [debug] engine.c(571) Invoking phase
PostDispatch
[Thu Jun 7 23:19:51 2007] [debug] phase.c(195) Invoke the handler
dispatch_post_conditions_evaluator within the phase PostDispatch
[Thu Jun 7 23:19:51 2007] [debug] phase.c(195) Invoke the handler
context_handler within the phase PostDispatch
Erreur de segmentation (core dumped)
Does anybody have experienced this kind of problem ?
Thanks for your help !
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web
Services
Developers' Portal)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services
Developers' Portal)
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
------------------------------------------------------------------------
*Progexia*
Hôtel Technologique - B.P.100
45 Rue F. Joliot Curie
Technopôle de Château-Gombert
13382 Marseille CEDEX 13 - FRANCE
Téléphone : 04 91 11 88 19 / Fax : 04 91 11 88 01
web : http://www.progexia.net
------------------------------------------------------------------------
/
"Ce courriel et les documents qui y sont attachés peuvent contenir des
informations confidentielles. Si vous n'êtes pas le destinataire
escompté, merci d'en informer l'expéditeur immédiatement et de détruire
ce courriel ainsi que tous les documents attachés de votre système
informatique. Toute divulgation, distribution ou copie du présent
courriel et des documents attachés sans autorisation préalable de son
émetteur est interdite."
"This e-mail and any attached documents may contain confidential or
proprietary information. If you are not the intended recipient, please
advise the sender immediately and delete this e-mail and all attached
documents from your computer system. Any unauthorised disclosure,
distribution or copying hereof is prohibited."
/
begin:vcard
fn:Jean-Louis LESIEUR
n:LESIEUR;Jean-Louis
org:PROGEXIA
adr:;;45 rue F. Joliot Curie;Marseille CEDEX 13;;13382;FRANCE
email;internet:[EMAIL PROTECTED]
tel;work:04.91.11.88.19
tel;cell:06.22.71.04.64
x-mozilla-html:TRUE
version:2.1
end:vcard
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]