Then it was an add-on, but by default trace(1); doesn't crash you.
Actually I just found out a situation the other day where trace crashes.
If you set up an infinite recursive function call, you will lock up BL. But if you have trace on, it will instead crash very quickly because of a stack overflow. Presumably there is a limited stack trace allowed on trace() which doesn't apply to the engine in general.
You have to have a pretty preposterously large depth on your function calls, but you can indeed create a situation where BL wouldn't crash/lock-up permanently without trace, but would crash with trace.