Difference between revisions of "LSL Errors"
Jump to navigation
Jump to search
(add "Lists may not contain lists" script run-time error) |
(add Math Error with example of float nonzero divided by zero) |
||
Line 4: | Line 4: | ||
* '''Lists may not contain lists''' | * '''Lists may not contain lists''' | ||
* '''Math Error''' - float divided by zero, integer divided by zero, etc. | |||
* '''Stack-Heap Collision''' - The Stack has collided with the Heap.<br/>The LSL memory space contains three sections Bytecode, Stack and Heap which all must be contained in 16kib of memory. | * '''Stack-Heap Collision''' - The Stack has collided with the Heap.<br/>The LSL memory space contains three sections Bytecode, Stack and Heap which all must be contained in 16kib of memory. | ||
Line 15: | Line 17: | ||
state_entry() | state_entry() | ||
{ | { | ||
list | list once = []; | ||
list twice = [once, once]; // Script run-time error: Lists may not contain lists | |||
} | } | ||
} | } | ||
</pre> | </pre> | ||
</pre> | |||
default | |||
{ | |||
state_entry() | |||
{ | |||
float one = 1.0; | |||
float zero = 0.0; | |||
float quotient = one / zero; // Script run-time error: Math Error | |||
llOwnerSay((string) quotient); | |||
} | |||
} | |||
<pre> |
Revision as of 21:24, 5 September 2007
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Script run-time error messages
- Lists may not contain lists
- Math Error - float divided by zero, integer divided by zero, etc.
- Stack-Heap Collision - The Stack has collided with the Heap.
The LSL memory space contains three sections Bytecode, Stack and Heap which all must be contained in 16kib of memory.- This can occur if the running script is too big. The script compiles and saves successfully, but when an object containing it is instantiated the script crashes.
Examples
default { state_entry() { list once = []; list twice = [once, once]; // Script run-time error: Lists may not contain lists } }
default {
state_entry() { float one = 1.0; float zero = 0.0; float quotient = one / zero; // Script run-time error: Math Error llOwnerSay((string) quotient); }
}