Could get deadlock with previous code.  This would happen because held
lock on root of derivative chain, while trying to issue blocking
backout call.  Note: should add documentation about exact conditions
that can produce this deadlock.