You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "Damitha Kumarage (JIRA)" <ji...@apache.org> on 2008/09/09 09:53:44 UTC

[jira] Created: (AXIS2C-1261) When several fire and forget sends are done using svc client it segfaults

When several fire and forget sends are done using svc client it segfaults
-------------------------------------------------------------------------

                 Key: AXIS2C-1261
                 URL: https://issues.apache.org/jira/browse/AXIS2C-1261
             Project: Axis2-C
          Issue Type: Bug
            Reporter: Damitha Kumarage


$Subject happens because in operation client the sending is done using separate thread. Before the first request completes it could happen that the second request free the operation client that is used to send the first message.

When operation client execute is called from services clients fire and forget function it set send blokcing to true. When I fixed this to false the above segfaut and the problem causing it dissapear. This is because no more thread are spawned and sends are done sequentially.

Following the diff of my simple fix. If there is no objection I will commit the change

Index: src/core/clientapi/svc_client.c
===================================================================
--- src/core/clientapi/svc_client.c (revision 693316)
+++ src/core/clientapi/svc_client.c (working copy)
@@ -663,7 +663,7 @@
     }

     axis2_op_client_add_out_msg_ctx(svc_client->op_client, env, msg_ctx);
-    axis2_op_client_execute(svc_client->op_client, env, AXIS2_FALSE);
+    axis2_op_client_execute(svc_client->op_client, env, AXIS2_TRUE);
     axis2_svc_client_set_http_info(svc_client, env, msg_ctx);
     svc_client->auth_failed = axis2_msg_ctx_get_auth_failed(msg_ctx, env);
     svc_client->required_auth_is_http =

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Updated: (AXIS2C-1261) When several fire and forget sends are done using svc client it segfaults

Posted by "S.Uthaiyashankar (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2C-1261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

S.Uthaiyashankar updated AXIS2C-1261:
-------------------------------------

    Component/s: core/clientapi

> When several fire and forget sends are done using svc client it segfaults
> -------------------------------------------------------------------------
>
>                 Key: AXIS2C-1261
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-1261
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: core/clientapi
>            Reporter: Damitha Kumarage
>
> $Subject happens because in operation client the sending is done using separate thread. Before the first request completes it could happen that the second request free the operation client that is used to send the first message.
> When operation client execute is called from services clients fire and forget function it set send blokcing to true. When I fixed this to false the above segfaut and the problem causing it dissapear. This is because no more thread are spawned and sends are done sequentially.
> Following the diff of my simple fix. If there is no objection I will commit the change
> Index: src/core/clientapi/svc_client.c
> ===================================================================
> --- src/core/clientapi/svc_client.c (revision 693316)
> +++ src/core/clientapi/svc_client.c (working copy)
> @@ -663,7 +663,7 @@
>      }
>      axis2_op_client_add_out_msg_ctx(svc_client->op_client, env, msg_ctx);
> -    axis2_op_client_execute(svc_client->op_client, env, AXIS2_FALSE);
> +    axis2_op_client_execute(svc_client->op_client, env, AXIS2_TRUE);
>      axis2_svc_client_set_http_info(svc_client, env, msg_ctx);
>      svc_client->auth_failed = axis2_msg_ctx_get_auth_failed(msg_ctx, env);
>      svc_client->required_auth_is_http =

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (AXIS2C-1261) When several fire and forget sends are done using svc client it segfaults

Posted by "S.Uthaiyashankar (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AXIS2C-1261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

S.Uthaiyashankar updated AXIS2C-1261:
-------------------------------------

    Fix Version/s: 1.6.0

> When several fire and forget sends are done using svc client it segfaults
> -------------------------------------------------------------------------
>
>                 Key: AXIS2C-1261
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-1261
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: core/clientapi
>            Reporter: Damitha Kumarage
>             Fix For: 1.6.0
>
>
> $Subject happens because in operation client the sending is done using separate thread. Before the first request completes it could happen that the second request free the operation client that is used to send the first message.
> When operation client execute is called from services clients fire and forget function it set send blokcing to true. When I fixed this to false the above segfaut and the problem causing it dissapear. This is because no more thread are spawned and sends are done sequentially.
> Following the diff of my simple fix. If there is no objection I will commit the change
> Index: src/core/clientapi/svc_client.c
> ===================================================================
> --- src/core/clientapi/svc_client.c (revision 693316)
> +++ src/core/clientapi/svc_client.c (working copy)
> @@ -663,7 +663,7 @@
>      }
>      axis2_op_client_add_out_msg_ctx(svc_client->op_client, env, msg_ctx);
> -    axis2_op_client_execute(svc_client->op_client, env, AXIS2_FALSE);
> +    axis2_op_client_execute(svc_client->op_client, env, AXIS2_TRUE);
>      axis2_svc_client_set_http_info(svc_client, env, msg_ctx);
>      svc_client->auth_failed = axis2_msg_ctx_get_auth_failed(msg_ctx, env);
>      svc_client->required_auth_is_http =

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.