We're updating the issue view to help you get more done. 

Finally block executed twice

Description

Finally block is executed twice when both the try body and finally block throw. Observed only in the presence of a terminator and at least one catch block.

1 2 3 4 5 6 7 8 9 10 11 12 (go (try (<! (to-chan [0])) ; at least one terminator has to be present (throw (ex-info "a" {})) (catch Exception e "I don't do much but take me away and the bug disappears") (finally (println "executing finally block") (throw (ex-info "b" {}))))) => #object[...] => executing finally block => executing finally block => Exception in thread "async-dispatch-13" clojure.lang.ExceptionInfo: b {}

Environment

core.async 0.4.500
Clojure 1.10.0
Java 1.8
Ubuntu 19.04
Docker image clojure:openjdk-8-tools-deps-1.10.0.442

Status

Assignee

Unassigned

Reporter

Alex Miller

Labels

None

Approval

None

Patch

None

Priority

Major