The interesting one is the notification macro, which was returning directly on a soft-abort instead of going through the cleanup.