The first auto-GC request would not be registered as a waiter due to a logic error. As a result, if that request was synchronous (as happens during evaluation) it would be stuck forever waiting on a promise that will never be fulfilled. Register also the first request properly so that it is notified and unblocked again when the GC has finished. Also add a test verifying that auto-GC triggering during evaluation will not get stuck. Fixes: https://git.lix.systems/lix-project/lix/issues/844 Change-Id: I157afdc737415261e48d6d01d46c586a2927a1ad