Hello again!
It turns out that, in 12.1, calling v8::Isolate::ThrowError from an interrupt callback now causes a DCHECK_EQ failure in v8::internal::Isolate::VerifyBuiltinsResult.
We've compared the 11.8 and 12.1 code, and it looks like the difference may have to do with scheduled exceptions vs. pending exceptions. That distinction seems to have been removed in 12.1, and, as a result, calling v8::Isolate::ThrowError from an interrupt callback is now a guaranteed crash.
Can someone confirm that? Is it a bug?
Thanks!