[ 
https://issues.apache.org/jira/browse/SAVAN-6?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vasiliy Sokov closed SAVAN-6.
-----------------------------

    Resolution: Fixed

This bug fixed here:
http://mail.rambler.ru/mail/mail.cgi?mode=redirect;url=https://issues.apache.org%2Fjira%2Fbrowse%2FAXIS2C-1164%3Fpage%3Dcom.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel;href=1

> Publishing_client crashes when trying to publish message when more then 1 
> subscription to this event source exists at moment.
> -----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SAVAN-6
>                 URL: https://issues.apache.org/jira/browse/SAVAN-6
>             Project: Savan
>          Issue Type: Bug
>         Environment: Windows XP, Intel P4
>            Reporter: Vasiliy Sokov
>            Priority: Critical
>         Attachments: savan_subscriber.c
>
>
> Hello.
> I've already fix this problem. 
> The cause is in module savan_subscriber.c, function savan_subscriber_publish, 
> line 420:
> ******************************************************************
>     /* Set service client options */
>     axis2_svc_client_set_options(svc_client, env, options);
>     axis2_svc_client_send_robust(svc_client, env, payload);
>       axiom_node_detach(payload, env); //Vsokov 21.0.2008 insert this to 
> prevent payload corruption in subsequent "publish" calls with some payload.
>     if(svc_client)
>         axis2_svc_client_free(svc_client, env); 
> ******************************************************************
> The call of axis2_svc_client_send_robust() attaches payload to svc_client. 
> Thus, axis2_svc_client_free() removes payload at the same time with removing 
> of svc_client, and following call of savan_subscriber_publish() by 
> savan_publishing_client_publish() with same payload causes access to free'd 
> memory.
> To prevent it, i've insert axiom_node_detach() before call of 
> axis2_svc_client_free(). Now, i can subscribe several listeners to one event 
> source at the time.
> Best regards,
> Vasiliy Sokov.

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

Reply via email to