I filed a Feedback case 54665, with a test app, that discusses how an error like this can arise in server error logs:
Can't use an undefined value as a symbol reference at Line 118
This has been verified by Xojo Feedback testers. I see this error frequently associated with the user getting an Internal Server Error 500 when they refresh their browser when they find the app is offline in their browser. Especially mobile phone users who left the app loaded in background while the phone display was asleep. So now my question, which I posted in that Feedback conversation:.
Can this be related to a Timeout event occurring just as a user hits the app? Say the 60-second Timeout countdown has started because no Sessions are detected. Further, say there’s only a second remaining in that countdown. And now the user hits the app. Can’t this cause a problem like this? Not enough time left to adequately respond to the user request?
I’m testing this with 3 versions of a simple app. The first app only has an 5-second App timer that kills the app when it fails to see the CGI file, making it easy to update it. The second app has that 5-second timer kill the app not only if it fails to see the CGI file, but also when it sees SessionCount = 0. The third app has the same timer code as App 2, but it has a Period of 30 seconds. None of these apps have any other code, other than a WebPage label.
Yesterday I found all 3 apps crashed at the same second in error logs (that Line 118 reference for each). And they did that when the MacBook Pro that loaded them was closed. When I opened the MBP, Chrome immediately refreshed all three pages and the error log showed all three crashed during that process (Line 118 again). So I had 3 crashes before opening the MBP, and 3 after opening it.
So this happens not only when a browser refreshes the page, but also when the browser isn’t even running (because the MBP is closed). These log entries do not happen consistently, though. But I had earlier thought they happen only when the browser refreshes an app that went offline. Not true.