Re: httpd daemon and exceptions

2008-07-28 Thread Manjula Peiris
Michael,

Are your service functions are declared inside a ,

#ifdef __cplusplus
extern "C"
{
#endif

directives ? If not you should, because your service code seems to be
C++.

And also check whether your code running is running with
simple_axis2_server. 

Thanks,
-Manjula.



On Mon, 2008-07-28 at 14:25 +0200, Michael Sutter wrote:
> Hello Supun,
> 
> the service is generated from a WSDL via the Java code generation.
> 
> The problem is, that the service is calling external libraries which
> can throw
> exceptions. Every time the call throws a exception (which belongs to
> the system
> and mainly depends on the time the library is called) I get a
> segmentation fault,
> but only when a exception is thrown. The call of the external library
> is inside
> a try - catch block, so I think the segmentation fault could not
> occur.
> 
> Kind regards 
> Michael
> 
> Supun Kamburugamuva wrote: 
> > Hi,
> > 
> > It seems that the problem occurs in your service code. Can you
> > please double check weather the service code is correct? BTW did you
> > generate the service or write it manually?
> > 
> > Supun..
> > 
> > On Mon, Jul 28, 2008 at 4:50 PM, Michael Sutter
> > <[EMAIL PROTECTED]> wrote:
> > Hello Rajika,
> > 
> > I have done what you told me and was able to debug the http
> > daemon.
> > The stack trace after the segmentation fault is:
> > 
> > Program received signal SIGSEGV, Segmentation fault.
> > 0x4252875e in parse_lsda_header () from /usr/lib/libstdc
> > ++.so.5
> > (gdb) where
> > #0  0x4252875e in parse_lsda_header () from /usr/lib/libstdc
> > ++.so.5
> > #1  0x42528a5c in __gxx_personality_v0 ()
> > from /usr/lib/libstdc++.so.5
> > #2  0x42555454 in _Unwind_RaiseException ()
> > from /lib/libgcc_s.so.1
> > #3  0x42dc in _Unwind_Resume_or_Rethrow ()
> > from /lib/libgcc_s.so.1
> > #4  0x42528e9f in __cxa_rethrow () from /usr/lib/libstdc
> > ++.so.5
> > #5  0x4103b92f in Esm::EsmClient::SetDaqState ()
> > from /opt/auger/lib/libEsmClient.so.1.2
> > #6  0x40ff9ea2 in EyeDaq::EsmProxy::setDaqState ()
> > from 
> > /home/auger/axis2c-1.4.0//services/DaqStatusChange/libDaqStatusChange.so
> > #7  0x40fe7eab in axis2_skel_DaqStatusChange_setState ()
> > from 
> > /home/auger/axis2c-1.4.0//services/DaqStatusChange/libDaqStatusChange.so
> > #8  0x40fe4927 in axis2_svc_skel_DaqStatusChange_invoke ()
> > from 
> > /home/auger/axis2c-1.4.0//services/DaqStatusChange/libDaqStatusChange.so
> > #9  0x404d2f78 in
> > axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync
> > (msg_recv=0x405db914, env=Variable "env" is not available.
> > ) at raw_xml_in_out_msg_recv.c:219
> > #10 0x404d2608 in axis2_msg_recv_invoke_business_logic
> > (msg_recv=0x0, env=0x84c4378, in_msg_ctx=0x84c4c68,
> > out_msg_ctx=0x84b91a8)
> > at msg_recv.c:392
> > #11 0x404d2b70 in axis2_msg_recv_receive_impl
> > (msg_recv=0x405db914, env=0x84c4378, msg_ctx=0x84c4c68,
> > callback_recv_param=0x0)
> > at msg_recv.c:319
> > #12 0x404d2678 in axis2_msg_recv_receive (msg_recv=0x0,
> > env=0x84c4378, msg_ctx=0x84c4c68, callback_recv_param=0x0)
> > at msg_recv.c:431
> > #13 0x404c8de4 in axis2_engine_receive (engine=0x84b8c90,
> > env=Variable "env" is not available.
> > ) at engine.c:315
> > #14 0x404a547e in
> > axis2_http_transport_utils_process_http_post_request
> > (env=Variable "env" is not available.
> > ) at http_transport_utils.c:595
> > #15 0x404a1744 in axis2_apache2_worker_process_request
> > (apache2_worker=0x405a02fc, env=0x84c4378,
> > request=0x84b0710)
> > at apache2_worker.c:619
> > #16 0x4049feb2 in axis2_handler (req=0x84b0710) at
> > mod_axis2.c:362
> > #17 0x08069228 in ap_run_handler ()
> > #18 0x080994c0 in num_request_notes ()
> > #19 0x08141170 in ?? ()
> > #20 0x0809a36c in __JCR_LIST__ ()
> > #21 0x084b0710 in ?? ()
> > #22 0x084b0710 in ?? ()
> > #23 0xbfffe8a8 in ?? ()
> > #24 0x0806c847 in ap_invoke_handler ()
> > Previous frame inner to this frame (corrupt stack?)
> > 
> > So I think the parse_lsda_header function causes the
> > segmentation fault.
> > I searched through the internet and found a solution that I
> > should add
> > -fPIC to my compile arguments, but I doesn't solved my
> > problem.
> > Have you any suggestions?
> > 
> > Kind regards
> > Michael
> > 
> > 
> > Rajika Kumarasiri wrote: 
> > > 
> > > 
> > > On Thu, Jul 24, 2008 at 2:01 PM, Michae

Re: httpd daemon and exceptions

2008-07-23 Thread Rajika Kumarasiri
On Wed, Jul 23, 2008 at 8:09 PM, Michael Sutter <[EMAIL PROTECTED]>
wrote:

> Hello list,
>
Hello Michael,
If you post the exact error message, logs and the back trace of the
segmentation fault it'd be easy to determine the exact problem.

-Rajika

>
> I have a strange error when running axis services with httpd daemon and
> maybe somebody can help me.
> I have a service running which is calling system libraries. Special here
> is, that the libraries can throw
> exceptions, so I put the calls in a try - catch block.
>
> Nevertheless every time such a exception is thrown the service in my httpd
> gets a segmentation fault, so
> it is not possible for me to get the error values of the service back to
> the client.
>
> Does anybody know about this behavior or how to fix it?
> I'm running Apache 2.0.49 and GCC 3.3.3.
>
> Kind regards
> Michael
>
> -
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


-- 
http://wso2.org/
http://llvm.org/


httpd daemon and exceptions

2008-07-23 Thread Michael Sutter

Hello list,

I have a strange error when running axis services with httpd daemon and 
maybe somebody can help me.
I have a service running which is calling system libraries. Special here 
is, that the libraries can throw

exceptions, so I put the calls in a try - catch block.

Nevertheless every time such a exception is thrown the service in my 
httpd gets a segmentation fault, so
it is not possible for me to get the error values of the service back to 
the client.


Does anybody know about this behavior or how to fix it?
I'm running Apache 2.0.49 and GCC 3.3.3.

Kind regards
Michael

-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]