axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Manjula Peiris <manj...@wso2.com>
Subject Re: Writing web services with C++
Date Thu, 24 Apr 2008 08:40:56 GMT
Hi Alebu,

The segfault comes from AXIS2_SVC_SKELETON_INIT macro. So this is
because when calling your svc_skeleton_init function. Since you are
using g++ and given that it worked for gcc the only reason I can think
of is missing, 
#ifdef __cplusplus
                 extern "C" {
                 #endif
                
declaration. Since you have that already there I can't think of any
valid reason from the provided details. So in order to analyze further
can you send us your web services code.

Thanks,
-Manjula.

On Thu, 2008-04-24 at 10:02 +0200, alebu wrote:
> With 1.3.1-RC2 situation is the same... :(
> 
> On Thu, Apr 24, 2008 at 8:53 AM, alebu <aleboo@gmail.com> wrote:
>         Hmm, don't know if that what you need (based on axis2c-1.3.0
>         code):
>         
>         Program terminated with signal 11, Segmentation fault.
>         #0  0x746163696c707061 in ?? ()
>         (gdb) backtrace
>         #0  0x746163696c707061 in ?? ()
>         #1  0x00002b960f68a0db in axis2_msg_recv_make_new_svc_obj
>         (msg_recv=<value optimized out>, env=0x676310, msg_ctx=<value
>         optimized out>)
>             at msg_recv.c:166
>         #2  0x00002b960f68a579 in
>         axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync
>         (msg_recv=0x674650, env=0x676310, msg_ctx=0x676ff0,
>             new_msg_ctx=0x6829b0) at raw_xml_in_out_msg_recv.c:99
>         #3  0x00002b960f68a2b1 in axis2_msg_recv_receive_impl
>         (msg_recv=0x674650, env=0x676310, msg_ctx=0x676ff0,
>             callback_recv_param=<value optimized out>) at
>         msg_recv.c:319
>         #4  0x00002b960f681a75 in axis2_engine_receive
>         (engine=0x6803c0, env=0x676310, msg_ctx=0x676ff0) at
>         engine.c:297
>         #5  0x00002b960f557542 in
>         axis2_http_transport_utils_process_http_post_request
>         (env=0x676310, msg_ctx=0x676ff0,
>             in_stream=<value optimized out>, out_stream=<value
>         optimized out>, content_type=0x676530
>         "text/xml;charset=UTF-8",
>             content_length=<value optimized out>,
>         soap_action_header=0x677650,
>             request_uri=0x6773c0
>         "http://127.0.0.1:9090/axis2/services/uniservice") at
>         http_transport_utils.c:583
>         #6  0x00002b960f55587e in axis2_http_worker_process_request
>         (http_worker=0x676190, env=0x676310, svr_conn=0x676350,
>             simple_request=0x676490) at http_worker.c:400
>         #7  0x00002b960f8cd26e in axis2_svr_thread_worker_func
>         (thd=0x676160, data=0x674c20) at http_svr_thread.c:254
>         #8  0x00002b960faf6143 in start_thread ()
>         from /lib64/libpthread.so.0
>         #9  0x00002b960fedf74d in clone () from /lib64/libc.so.6
>         #10 0x0000000000000000 in ?? ()
>         ------------
>         I will try the same with 1.3.1-RC2 now
>         
>         
>         
>         On Wed, Apr 23, 2008 at 10:09 AM, Manjula Peiris
>         <manjula@wso2.com> wrote:
>                 Hi alebu,
>                 
>                 If it segfaults can you send us the gdb backtrace ?
>                 BTW, another RC of
>                 1.3.1 will be available soon.
>                 
>                 Thanks,
>                 -Manjula.
>                 
>                 
>                 
>                 On Wed, 2008-04-23 at 09:55 +0200, alebu wrote:
>                 > Link to 1.3.1 you gave is broken for me.
>                 > Now I got slightly different problem.
>                 > After compiling using g++ for compiler and linker
>                 (probably i was
>                 > using gcc/g++ earlier and thats was the problem)
>                 > I simply have segmentaion fault before any of my
>                 custom code is
>                 > executed. First row of generated with WSDL2C invoke
>                 > method was logging function and it is not executed.
>                 So, as I
>                 > understand, problem occurs somewhere before invoke
>                 call.
>                 > Compiling the same code with the same parameters but
>                 using gcc works
>                 > fine. I should mention that code in both cases is
>                 > C code. All declarations are covered with
>                 > #ifdef __cplusplus
>                 > extern "C" {
>                 > #endif
>                 > //code
>                 > #ifdef __cplusplus
>                 > }
>                 > #endif
>                 > In axis2c logs last LIVE line is:
>                 > engine.c(670) End:axis2_engine_invoke_phases
>                 > engine.c(648) Start:axis2_engine_invoke_phases
>                 > engine.c(670) End:axis2_engine_invoke_phases
>                 > class_loader.c(140) Object loaded successfully
>                 > ... and no any error messages
>                 >
>                 > Any ideas? I could try the same with axis2c 1.3.1
>                 but I need a link to
>                 > it (on website only 1.3.0 is available)
>                 > Compiler options are (fragment from Eclipse/C log):
>                 > Invoking: GCC C Compiler
>                 > g++ -I/opt/axis2c-1.3.0/include/axis2-1.3.0 -O0 -g3
>                 -Wall -c
>                 > -fmessage-length=0 -fPIC -MMD -MP
>                 -MF"src/adb_field_type.d"
>                 > -MT"src/adb_field_type.d" -o"src/adb_field_type.o"
>                 >
>                 > And linking log part is:
>                 > Invoking: GCC C Linker
>                 > g++ -L/opt/axis2c-1.3.0/lib
>                 -L/home/BEA/tuxedo9.1/lib -shared
>                 > -o"libmyservice.so"
>                  ./src/adb_field_type.o ./src/adb_serve.o ./src/adb_serveResponse.o ./src/adb_serve_req_type.o
./src/adb_serve_resp_type.o ./src/axis2_skel_uniservice.o ./src/axis2_svc_skel_uniservice.o
  -ldl -lbuft -lfml -lfml32 -lengine -ltux -lpthread -laxutil -laxis2_axiom -laxis2_engine
-laxis2_parser -laxis2_http_sender -laxis2_http_receiver -laxis2_libxml2
>                 >
>                 > Some additional libraries relative to BEA Tuxedo are
>                 included, but I
>                 > don't think that they are the problem.
>                 >
>                 >
>                 > On Mon, Apr 14, 2008 at 4:08 PM, Samisa Abeysinghe
>                 <samisa@wso2.com>
>                 > wrote:
>                 >         What are the compiler options you used when
>                 compiling the
>                 >         service?
>                 >
>                 >         We have added the dlerror to the log in
>                 1.3.1. The RC is
>                 >         available, can you try with that?
>                 >
>                 >         Samisa...
>                 >
>                 >         alebu wrote:
>                 >
>                 >                 Hi list.
>                 >                 I have such a situation:
>                 >                 I have some web-service which was
>                 generated from WSDL
>                 >                 using WSDL2C utility.
>                 >                 Later I decided to write part of
>                 this web-service with
>                 >                 C++. Before functions that uses
>                 >                 C++ code I put:
>                 >                 #ifdef __cplusplus
>                 >                 extern "C"
>                 >                 #endif
>                 >                 Then I tried to compile using g++.
>                 During compilation
>                 >                 some errors were found, but
>                 >                 all of them was about incorrect
>                 conversion from void*
>                 >                 into axis2 types.
>                 >                 When I fixed them (I hope) but when
>                 I call this
>                 >                 web-service I got axis error:
>                 >                 ...
>                 >
>                 <faultcode>soapenv:Server</faultcode>
>                 >                         <faultstring>Failed in
>                 creating
>                 >                 DLL</faultstring>
>                 >                 ...
>                 >                 In axis2.log only one message was
>                 interesting for me:
>                 >                 raw_xml_in_out_msg_recv.c(115) Impl
>                 object for service
>                 >                 'myService' not set in message
>                 receiver. 100 :: Failed
>                 >                 in creating DLL
>                 >
>                 >                 I understand that it probably was'nt
>                 very wise to
>                 >                 compile .c files using g++ but,
>                 compilation was
>                 >                 sucessful, so I wonder
>                 >                 where possible problem can be.
>                 >                 Is it possible at all to compile
>                 axis2/C web serice
>                 >                 from C++ sources using C++
>                 possibilities?
>                 >
>                 >
>                 ------------------------------------------------------------------------
>                 >
>                 >                 No virus found in this incoming
>                 message.
>                 >                 Checked by AVG. Version: 7.5.519 /
>                 Virus Database:
>                 >                 269.22.13/1376 - Release Date:
>                 4/13/2008 1:45 PM
>                 >
>                 >
>                 >
>                 >         --
>                 >         Samisa Abeysinghe Director, Engineering;
>                 WSO2 Inc.
>                 >
>                 >         http://www.wso2.com/ - "The Open Source SOA
>                 Company"
>                 >
>                 >
>                 >
>                 >
>                 >
>                 ---------------------------------------------------------------------
>                 >         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
>                 
>                 
>         
>         
> 


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


Mime
View raw message