Thanks for sorting out that I need to run without ".zo" files to provoke the crash!
Your program exposed two different bugs in the JIT, both with the same symptom --- overflowing an internal stack --- and both in the "surprising that we didn't hit these before" category. The first bug was in a slow path for `apply`. When the number of items in the list provided as the last argument to `apply` is too many to fit on the stack, then a slow path is taken. But the slow path still pushed each argument to `apply` onto the stack, which can still run out of space (especially if several extra arguments are provided to `apply` before the final list argument, although I think that was not the case heere). The second bug was in the way that `case-lambda` is JITted. Individual cases are JITted lazily, and the minimal stack space needed for each case was not correctly propagated by the to overall `case-lambda` representation. I've pushed repairs for those bugs. ____________________ Racket Users list: http://lists.racket-lang.org/users