[ 
https://issues.apache.org/jira/browse/PROTON-2843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17879562#comment-17879562
 ] 

ASF GitHub Bot commented on PROTON-2843:
----------------------------------------

PatrickTaibel opened a new pull request, #432:
URL: https://github.com/apache/qpid-proton/pull/432

   Deliveries can not be settled after the receiver has been freed. The current 
Go implementation leads to a segmentation fault when the receiver is closed 
before a delivery is acknowledged.
   
   Therefore, this adds a check to ensure that the receiver was not closed 
(which ensures that `Free` has not been called on the link yet). Additionally, 
this changes to use `InjectWait` in order to be able to use the newly returned 
error.




> [Go] Acknowledging a message on a closed receiver results in a segmentation 
> fault
> ---------------------------------------------------------------------------------
>
>                 Key: PROTON-2843
>                 URL: https://issues.apache.org/jira/browse/PROTON-2843
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: go-binding
>            Reporter: Patrick Taibel
>            Assignee: Alan Conway
>            Priority: Major
>
> Using the {{electron}} package when acknowledging messages ({{{}Accept(){}}}, 
> {{Reject()}} or {{Release()}} on a {{{}ReceivedMessage{}}}) a segmentation 
> fault occurs if the {{Receiver}} was already closed.
> This happens because the underlying link of the receiver gets freed which, 
> according to the docs of {{pn_link_free,}} also frees any unsettled 
> deliveries.
> As the actual acknowledgement needs to run in the engine goroutine the check 
> for an active receiver has to happen inside the {{electron}} package.
> I'd suggest adding a check if the receiver is still alive in the injected 
> function in {{{}func (rm *ReceivedMessage) acknowledge(status uint64) 
> error{}}}.
> I plan to do a PR to fix this but it will take a couple of weeks until I get 
> there as this is a low priority fix on our end.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to