Patrick Taibel created PROTON-2843:
--------------------------------------

             Summary: [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


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