Closed ghost closed 7 years ago
We were able to make this happen less frequent in version 6.2 and greater but I don't have a clean solution to this problem. At the moment in version 6.4 you can set oc_relay
back to running with <prefix> reboot
.
Sorry that I did not look sooner into this and as I havent seen such a device yet in action this is the first hint at all that might help to find a solution, or at least an idea. You think this happens when the script wants to give the error message in Line 320 ?
RelayNotify(g_kWearer,"\n\nBad command from "+llKey2Name(kID)+".\n\nCommand: "+sIdent+","+(string)g_kWearer+","+llDumpList2String(lCommands,"|")+"\n\nFaulty subcommand: "+sCom+"\n\nPlease report to the maker of this device.\n",0);
Lets try this without repeating all the commands (no user understand anyway):
RelayNotify(g_kWearer,"\n\nBad command from "+llKey2Name(kID)+".\n\nCommand: "+sIdent+","+(string)g_kWearer+"\n\nFaulty subcommand: "+sCom+"\n\nPlease report to the maker of this device.\n",0);
Can you please check if this solves the issue at least with "your bad commanding device"?
Yes exactly, too long message, with a large list. in line 320 and 343 Remove llDumpList2String (lCommands, "|") solves the problem.
heck! wrong button
exactly! this is more of debug info anyway I think and if it can cause crashes... no reason to keep it.
These crashes happened also with the shortened message. You could try to make a generic message that clearly explains to the user that a bad source is trying to communicate through the relay to the collar.
That also means that our relay can no longer be used to debug devices that mean to make use of the relay.
How about we make a debug switch that keeps the feature (with shorter list) intact for advanced users?
<prefix> relay debug on
<prefix> relay debug off
I believe it will be better
this happens when relay receives message containing many commands that contain several errors.
relay tries to notify an error, but too large message with list of all commands causes an script error.