Hi Eric,
What is the Axis2/C version are you using? And is your service storing
and accessing any data between requests?
Thanks,
-Manjula.
On Tue, 2009-06-09 at 13:32 -0500, Haszlakiewicz, Eric wrote:
> I'm running axis as a module in Apache httpd 2.2.9, running in pre-fork
> mode. Occasionally, when I start up the server, the first request sent
> causes the httpd process to crash. Has anyone seen anything like this
> before? I don't have much time to debug this right now, but here's some
> possibly useful info:
>
> httpd crashes with a SIGSEGV. Running gdb on the core dump:
> (gdb) where
> #0 0x in ?? ()
> #1 0x00625ced in
> axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync (
> msg_recv=0x8aa9d78, env=0x8ab5490, msg_ctx=0x8ab5560,
> new_msg_ctx=0x8ab6a40) at raw_xml_in_out_msg_recv.c:209
> #2 0x0062580a in axis2_msg_recv_invoke_business_logic
> (msg_recv=0x1671a4,
> env=0x8ab5490, in_msg_ctx=0x8ab5560, out_msg_ctx=0x8ab6a40)
> at msg_recv.c:481
> etc...
>
> line 209 of raw_xml_in_out_msg_recv.c is:
>result_node = AXIS2_SVC_SKELETON_INVOKE(svc_obj, env, om_node,
> new_msg_ctx);
>
> That macro does:
> #define AXIS2_SVC_SKELETON_INVOKE(svc_skeleton, env, node, msg_ctx) \
> ((svc_skeleton)->ops->invoke (svc_skeleton, env, node, msg_ctx))
>
> (gdb) print svc_obj
> $1 = (axis2_svc_skeleton_t *) 0x8aaa9b8
> (gdb) print svc_obj[0].ops[0]
> $10 = {init = 0, invoke = 0, on_fault = 0, free = 0, init_with_conf = 0}
>
> So, something didn't get initialized properly.
> If I restart apache, even without changing anything, things work fine.
>
> eric