If your TiVo reboots with an error message similar to the following:
Code:
TmkAssertionFailure[166]: (BlockFailure, line 2073 ())
tivosh[166]: Tmk Fatal Error: Thread tivosh <166> died due to signal -2
tivosh[166]: Tmk Thread Backtrace: 1aa90ac 1aa79c8 1aa2290 1cda374 1ce64ec 1d37004 1d60820 1d48968 1d363d8 1d5b184 1d48968 1d363d8 1d37584 1d48968 1d363d8 1d5b184 1d48968 1d363d8 1d36160 199ccec 19b13e8 19b9870 1ba85dc 1ba79fc 1ba7d0c 19a607c 1d35b98 1d48968 1d363d8 1d53470 1d5457c 1ce648c 1ce61d4 1800134
tivosh[166]: Tmk Fatal Error: Thread died due to signal -2
tivosh[166]: Invoking rule 834: rebooting system
Then it is very likely that you are running an application (most likely TCL) that has just allocated too much memory. This can happen in badly written scripts, or in TivoWeb modules that are processing a lot of information.
I have attached a debug.itcl library that can be placed in your TivoWeb modules directory. This will create a function called pvars(chan) which will print out all variables (as well as their sizes) within the scope of the calling application/function. The global variables will be marked as yellow, and the local ones red. If you are debugging a module you can call "pvars $chan" to check the memory and see if there are any large variables that can be unset.
Bookmarks