• LORD2: Catch global application errors

    From Rob Swindell@VERT to GitLab note in main/sbbs on Wednesday, March 23, 2022 00:15:10
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/166#note_2494

    Why would a JS exception in lord2 cause "sbbs to crash"? Please elaborate.

    -Rob

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Eugene So@VERT to GitLab note in main/sbbs on Friday, April 01, 2022 15:44:26
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/166#note_2508

    I can test in further detail. However, what I found is when the application was not catching overall exceptions, this door would randomly stop working and it would result in sbbs also halting. After adding the try-catch loop, the door still occasionally crashes, but now sbbs remains operational and we can then use the error-log from the door return result to debug the issue.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Friday, April 01, 2022 17:39:20
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/166#note_2509

    Yes, please provide more details. It would be highly unusual for a crashing JS application to result in sbbs also halting. If the application (lord2.js in this case) is invoked as an external program, configured in SCFG->External Programs->Online Programs, that should not be able to happen. Additionally, setting the "Use Shell or New Context" option to 'Yes' should prevent any misbehaving JS application from corrupting the JS runtime used by the BBS (e.g. for command shells, etc.).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Eugene So@VERT to GitLab note in main/sbbs on Saturday, April 02, 2022 08:46:04
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/166#note_2510

    I'm unable to reproduce the sbbs crash unfortunately. The computer that it originally happened on had a bad hard disk, so that may have been part of the problem. In any case, I still think it's a good idea to wrap the application in a try-catch.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT to GitLab note in main/sbbs on Thursday, September 29, 2022 15:24:32
    https://gitlab.synchro.net/main/sbbs/-/merge_requests/166#note_2752

    Synchronet effectively wraps JS doors in a try/catch already (along with a new global and some other niceties). This try/catch would only serve to lower the amount of information about the error.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net