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 Jean-Louis LESIEUR <jl...@progexia.net> on 2007/06/07 23:47:09 UTC

Segmentation fault when calling webservice

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 !



Re: Segmentation fault when calling webservice

Posted by Samisa Abeysinghe <sa...@wso2.com>.
I was able to reproduce your problem at last. The problem occures when 
the shared library is missing in the services folder in the repository.
As per your services.xml file given below, you should have a 
libmajcsp.so file in the /usr/local/axis2c/services/majcsp/ folder.

Do you have that file?

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


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


Re: Segmentation fault when calling webservice

Posted by Samisa Abeysinghe <sa...@wso2.com>.
Hi Again,
    I did not see the code pasted at the end of the email, when I 
replied last time.
    Going through the code, it does not seem to have a problem.
    How did you compile the code? Could you please send the compiler 
commands that you used?

Samisa...

Jean-Louis LESIEUR wrote:
> 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
>
> jl.lesieur@progexia.net 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
>>
>>   
>>> jl.lesieur@progexia.net 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: axis-c-user-unsubscribe@ws.apache.org
>>>>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>>>>
>>>>>>           
>>>>> --
>>>>> Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web
>>>>> Services
>>>>> Developers' Portal)
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>>>
>>>>>
>>>>>
>>>>>         
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>>
>>>>
>>>>
>>>>       
>>> --
>>> Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services
>>> Developers' Portal)
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>
>>>
>>>     
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>
>>   
>
>
> -- 
> ------------------------------------------------------------------------
> *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."
>
> /
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org


-- 
Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal)


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


Re: Segmentation fault when calling webservice

Posted by Samisa Abeysinghe <sa...@gmail.com>.
Dr. Florian Steinborn wrote:
> Hi there,
> just a hint...
>
> Yesterday I again hit the error that the server crashes with a 
> segfault. But it was my problem: I misspelled the getter-function 
> inside the lib of my webservice. As it is dynamically linked the 
> linker will not recognize the problem during makeing. The next one to 
> notice is the server at run time. It cannot resolve the function 
> against any lib and crashes. It could be interesting to see if the 
> server could learn to be tolerant like just stating "cannot execute 
> service".
+1 for meaningful error. I hope we could be able to do that using dlopen 
return codes. Will look into that. Thanks for the suggestion.

Samisa...


-- 
Samisa Abeysinghe : http://www.bloglines.com/blog/samisa


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


Re: Segmentation fault when calling webservice

Posted by "Dr. Florian Steinborn" <fl...@drb.insel.de>.
Hi there,
just a hint...

Yesterday I again hit the error that the server crashes with a segfault.  
But it was my problem: I misspelled the getter-function inside the lib of  
my webservice. As it is dynamically linked the linker will not recognize  
the problem during makeing. The next one to notice is the server at run  
time. It cannot resolve the function against any lib and crashes. It could  
be interesting to see if the server could learn to be tolerant like just  
stating "cannot execute service".
The next time when my server crashes first I will run "nm" against my  
service-library and look for undefined symbols.

Greetings from Berlin,
Flori

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


Re: Segmentation fault when calling webservice

Posted by jl...@progexia.net.
I've looked twice on my svc_skeleton_ops_var it seems ok, but I've found
how to reproduce the  bug. It's a linker problem.

If I take the echo example and I try to compile it with an external libs
(-l option of gcc) even if I dont modify the echo service code, the server
crashes.

My LD_LIBRARY_PATH seems ok so, I've tried to put a link to my lib in
/usr/lib, it crashes again. It seems that there's a problem in the axis
lib loader.

Regards,
JL



> Looking at the trace, most probably, this is to do with the init method
> of your service implementation.
> Could you please check the code where the svc_skeleton_ops are
> initialized. It would help to see either the code or the WSDL that you
> are using, if you have no concerns sending it to the list.
>
> Thanks,
> Samisa...
>
> Jean-Louis LESIEUR wrote:
>> 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
>>
>> jl.lesieur@progexia.net 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
>>>
>>>
>>>> jl.lesieur@progexia.net 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: axis-c-user-unsubscribe@ws.apache.org
>>>>>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>>>>>
>>>>>>>
>>>>>> --
>>>>>> Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web
>>>>>> Services
>>>>>> Developers' Portal)
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>>>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>> --
>>>> Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web
>>>> Services
>>>> Developers' Portal)
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>>
>>>>
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>
>>>
>>
>>
>> --
>> ------------------------------------------------------------------------
>> *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."
>>
>> /
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>
> --
> Samisa Abeysinghe : http://www.bloglines.com/blog/samisa
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>


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


Re: Segmentation fault when calling webservice

Posted by Samisa Abeysinghe <sa...@gmail.com>.
Looking at the trace, most probably, this is to do with the init method 
of your service implementation.
Could you please check the code where the svc_skeleton_ops are 
initialized. It would help to see either the code or the WSDL that you 
are using, if you have no concerns sending it to the list.

Thanks,
Samisa...

Jean-Louis LESIEUR wrote:
> 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
>
> jl.lesieur@progexia.net 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
>>
>>   
>>> jl.lesieur@progexia.net 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: axis-c-user-unsubscribe@ws.apache.org
>>>>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>>>>
>>>>>>           
>>>>> --
>>>>> Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web
>>>>> Services
>>>>> Developers' Portal)
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>>>
>>>>>
>>>>>
>>>>>         
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>>
>>>>
>>>>
>>>>       
>>> --
>>> Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services
>>> Developers' Portal)
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>
>>>
>>>     
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>
>>   
>
>
> -- 
> ------------------------------------------------------------------------
> *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."
>
> /
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org


-- 
Samisa Abeysinghe : http://www.bloglines.com/blog/samisa


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


Re: Segmentation fault when calling webservice

Posted by Jean-Louis LESIEUR <jl...@progexia.net>.
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

jl.lesieur@progexia.net 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
>
>   
>> jl.lesieur@progexia.net 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: axis-c-user-unsubscribe@ws.apache.org
>>>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>>>
>>>>>           
>>>> --
>>>> Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web
>>>> Services
>>>> Developers' Portal)
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>>
>>>>
>>>>
>>>>         
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>
>>>
>>>
>>>       
>> --
>> Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services
>> Developers' Portal)
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>
>>
>>     
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>   


-- 
------------------------------------------------------------------------
*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."

/

Re: Segmentation fault when calling webservice

Posted by Samisa Abeysinghe <sa...@wso2.com>.
jl.lesieur@progexia.net wrote:
> 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).
>   
This can be done by setting the CFLAGS environment variable before you 
run configure.
e.g.
# CFLAGS="-g3 -O0"
# export CFLAGS
# ./configure
# make
# make install

HTH.

Samisa...

-- 
Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal)


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


Re: Segmentation fault when calling webservice

Posted by jl...@progexia.net.
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

> jl.lesieur@progexia.net 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: axis-c-user-unsubscribe@ws.apache.org
>>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>>
>>> --
>>> Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web
>>> Services
>>> Developers' Portal)
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>
>>
>>
>
>
> --
> Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services
> Developers' Portal)
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>


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


Re: Segmentation fault when calling webservice

Posted by Samisa Abeysinghe <sa...@wso2.com>.
jl.lesieur@progexia.net 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: axis-c-user-unsubscribe@ws.apache.org
>>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>>       
>> --
>> Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services
>> Developers' Portal)
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>>
>>
>>     
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>
>   


-- 
Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal)


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


Re: Segmentation fault when calling webservice

Posted by jl...@progexia.net.
No pb,

I've already posted an issue for this (perhaps it's a mistake ?)

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: axis-c-user-unsubscribe@ws.apache.org
>> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>
> --
> Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services
> Developers' Portal)
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org
>
>


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


Re: Segmentation fault when calling webservice

Posted by Samisa Abeysinghe <sa...@wso2.com>.
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: axis-c-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-c-user-help@ws.apache.org


-- 
Samisa Abeysinghe : http://www.wso2.org/ (WSO2 Oxygen Tank - Web Services Developers' Portal)


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