strace's -Z flag is quite useful to filter only syscalls that failed.
In a similar way, -k is useful to get tracebacks.
In a similar way, -k is useful to get tracebacks.
I wrote that experience up last week, for what it's worth: https://imrannazar.com/articles/linux-upgrade-fail