Compaction aborts eventually if an exception is thrown, so nothing special needs to be done.
Free list scan stops as soon as possible, avoiding excessive page recycling.