[ 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