When I was trying to update packages on one host I’ve stuck with yum hung on update. I run strace and see:
strace -p 43734 Process 43734 attached - interrupt to quit futex(0x807c938, FUTEX_WAIT, 1, NULL <unfinished ...> Process 43734 detached
It looks like yum database was corrupted, to repair this run:
rm -f /var/lib/rpm/__db* rpm --rebuilddb yum clean all yum update
Instead rm on db-files you could use gzip to have backup of these files.