axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gupta, Shivam" <shivam.gu...@hp.com>
Subject RE: Memory fault in Axis2C
Date Mon, 29 Sep 2008 10:06:26 GMT
Hello,

      I think I have already taken care of assigning the Skeleton init function to the service_init
function. The below code is an extract from the echo_skeleton.c file:

static const axis2_svc_skeleton_ops_t echo_svc_skeleton_ops_var = {
    echo_init,
    echo_invoke,
    echo_on_fault,
    echo_free
};

axis2_svc_skeleton_t *
axis2_echo_create(
    const axutil_env_t * env)
{
    axis2_svc_skeleton_t *svc_skeleton = NULL;
    /* Allocate memory for the structs */
    svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t));

    svc_skeleton->ops = &echo_svc_skeleton_ops_var;

    svc_skeleton->func_array = NULL;

    return svc_skeleton;
}

 Moreover, I have not changed anything in the code. So I think there is no possibility of
me not setting some code parameter. There would be some other issue.
I hope this helps you in guiding me.

Thanks,
Shivam.

________________________________
From: Supun Kamburugamuva [mailto:supun06@gmail.com]
Sent: Monday, September 29, 2008 3:15 PM
To: Apache AXIS C Developers List
Subject: Re: Memory fault in Axis2C

Please check weather you have defined the init function of the service and set it to the service
skeleton.

The method signature of this function is:

int AXIS2_CALL echo_init(
    axis2_svc_skeleton_t * svc_skeleton,
    const axutil_env_t * env);

Supun..


On Mon, Sep 29, 2008 at 2:30 PM, Gupta, Shivam <shivam.gupta@hp.com<mailto:shivam.gupta@hp.com>>
wrote:
Hello,

   We are trying to run Axis on Unix platform. However, when we try to invoke the 'echo' webservice,
the Axis server crashes giving a memory fault. In the mail below I have explained the findings
I derived after debugging Axis2c:

1). I had built the libecho.so file using the following files : echo.c, echo.h and echo_skeleton.c

2). The Axis2 Log clearly states that the "libecho.so loaded successfully".

3). The processing of the request proceeds till the statement :

File: msg_recv.c

Function: axis2_msg_recv_make_new_svc_obj Code Lines:

if (impl_class)

{

AXIS2_SVC_SKELETON_INIT((axis2_svc_skeleton_t *) impl_class, env); } axutil_allocator_switch_to_local_pool(env->allocator);

4). the Code exits and the Axis server crashes. I have also made sure that the functions are
built inside the libecho.so file. It is not an empty linkable.

Please help me out here. I am not able to figure out waht is going wrong here.

Regards,

Shivam.









--
Software Engineer, WSO2 Inc
http://wso2.org

Mime
View raw message