Search code examples
lasso-lang

Encode_JSON Errors in Lasso 8.6.2 After Period of Time


We are in the process of converting apps from Lasso 8 to Lasso 9, and as an intermediate step, have upgraded from 8.5.5 to 8.6.2 (which runs alongside 9 on our new box, in different virtual hosts).

I am finding that with 8.6.2 we are getting a slew of errors on pages that call encode_json. The weird thing with these errors is that they don't start happening until some period of time after the site starts. Then, some hours later, all encode_json calls begin to fail with error messages like this:

An error occurred while processing your request.
Error Information

Error Message: No tag, type or constant was defined under the name "〰〲⵽硜㉻紱硜㉻紳尭筸戵屽筸搵⵽硜" with arguments: array: (pair: (-find)=([\x{0020}-\x{21}\x{23}-\x{5b}\x{5d}-\x{10fff}])), (r)
at: onCompare with params: 'r'
at: JSON with params: 'reload', -Options=array: (-Internal)
at: JSON with params: @map: (reload)=(false), (tcstring)=(LZU), (timestring)=(10:42 AM   1442Z)
at: [...].lasso with params: 'pageloadtime'='1383038310' on line: 31 at position: 1
Error Code: -9948

(Yes, those Chinese(?) characters are in the error message.) I have removed the 8.5.5 encode_json tag from LassoStartup, so we are using the correct built-in method. The encode_json method fails for any and all parameters I throw at it from simple strings to arrays of maps. Upon restarting the site, encode_json resumes working for an hour or two, seemingly depending on load.

On 8.5.5, we don't have this problem. Does anyone have experience with this issue? Any advice regarding trying the 8.5.5 tag swap encode_json to see if I can override the built-in method? Maybe it will work better?


Solution

  • Upgrading to the "-3" patch of 8.6.2 from the LassoSoft Downloads seems to have solved the problem entirely.

    -Justin