In the past, RepeatNode did not handle empty expressions. It used DCHECK to check if the expression was non-empty. In non-debug mode, this caused _child_block to remain unprocessed, resulting in a deadlock. Now, if the expression is empty, the output block directly outputs _child_block