Since the tests in S02-types/bool.t pass, the relevant problem seems to be the for loop with "0 but Bool::True".
I don't see any crashes within the first 100 iterations, but on Parrot I get segfaults or crashes with around 262 iterations. On Moar and JVM there are no problems: $ perl6-m -e '(0 but Bool::True) and print qq{$_ } for 1..1000;' 1 2 [...] 1000 $ perl6-j -e '(0 but Bool::True) and print qq{$_ } for 1..1000;' 1 2 [...] 1000 $ perl6-p -e '(0 but Bool::True) and print qq{$_ } for 1..1000;' 1 2 [...] 261 262 Segmentation fault