You should never be able to crash Renoise with a script. If you manage to do so, then please let us know here, by opening a new topic in this forum. Crashes in Renoise are bugs in Renoise, and should be treated like any other crash bug - scripted or not. Aka, they must be fixed by us in the Renoise core, not hacked around in the scripts.
So whatever strange or bogus stuff you do with the scripts, you always should get a “clean” error message from Lua. Or a messagebox with the error and stackdump when the console is not running.
[s]One “exception” right now are endless loops. You will be able to freeze Renoise forever, by looping on something forever. Unfortunately this is very hard to solve, cause we hardly can check in the scripting engine whats a good loop and what not.
A script may simply need 30 seconds to do its job (for example to do some things with sample data). How could we set a good time to decide whats an endless loop?
Another problem is that IF we would try to catch endless loops errors, we would have to hook all Lua calls, and this horribly slows down things in all scripts.
So please take extra care of this, avoid while() repeat loops when possible, use for, pair() loops. Or at least take special care of them![/s]
EDIT: This “only exception” was fixed for Renoise 2.6 Beta 4. Scripts should now also no longer be able to freeze the Renoise UI…