• gopher: null or undefined error

    From Nigel Reed@VERT to GitLab issue in main/sbbs on Sun Aug 10 22:27:09 2025
    open https://gitlab.synchro.net/main/sbbs/-/issues/964

    Just spotting this in my error log:

    ```
    srvc 0042 Gopher <Guest> !JavaScript /sbbs/exec/gopherservice.js line 173: Error: Argument #1 is an unexpected 'null' or 'undefined' value
    ```

    This is the corresponding log entry:

    Aug 2 06:46:09 bbs synchronet: srvc 0042 Gopher client request: 'nodelist'

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Mon Aug 11 11:19:32 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/964#note_7513

    What's on line 173 of your gopherservice.js file?

    For me (and Git) it's:
    `write("\r\n");`

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nigel Reed@VERT to GitLab note in main/sbbs on Mon Aug 11 12:09:26 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/964#note_7514

    Oh, I forgot I added 4 lines of text. (See #946).

    write(u.alias + " (" + u.age + " " + u.gender +") ");

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Mon Aug 11 12:19:48 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/964#note_7516

    That doesn't look like an argument that evaulate to null or undefined. If you remove the lines you added, do you still get the same error?

    Sharing your entire modified script (or a diff against the original) might be helpful.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nigel Reed@VERT to GitLab note in main/sbbs on Mon Aug 11 12:51:02 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/964#note_7517

    ```
    $ diff ~/sbbs-git/exec/gopherservice.js gopherservice.js
    92a93,96
    writeln("0Due to abuse, tor exit nodes, when discovered, will be blocked.");
    writeln("0Also, gopher proxies that allow search engines and users through");
    writeln("0unchecked will also be blocked. Download a gopher client and run");
    writeln("0it on your own system to avoid disruption to service.");
    ```

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Mon Aug 11 13:45:46 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/964#note_7518

    By my counting insert 4 lines makes line 173 this: `write(format(NodeAction[system.node_list[n].action],system.node_list[n].aux));`

    Which implies an issue with the `NodeAction[]` not including the listed node's `action` value, likely `NODE_CUSTOM`.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Mon Aug 11 15:58:30 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/964#note_7521

    Should be now fixed.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nigel Reed@VERT to GitLab note in main/sbbs on Mon Aug 11 16:37:46 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/964#note_7525

    Cheers. I'm not sure how I would test it since I'm not sure what caused it but I'll keep an eye out.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Mon Aug 11 16:41:51 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/964#note_7527

    The trigger would be a gopher request for the node_list while one or more nodes is executing your "custom action" - whatever that is.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Mon Aug 11 16:44:57 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/964#note_7528

    the root problem was that gopherservice.js was never updated (before now) support custom node actions. So if you had one, and a node was performing that "action" while someone requested the node list via Gopher, you'd get that error.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell@VERT to GitLab note in main/sbbs on Mon Aug 11 16:45:13 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/964#note_7528

    the root problem was that gopherservice.js was never updated (before now) to support custom node actions. So if you had one, and a node was performing that "action" while someone requested the node list via Gopher, you'd get that error.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Nigel Reed@VERT to GitLab note in main/sbbs on Mon Aug 11 17:35:26 2025
    https://gitlab.synchro.net/main/sbbs/-/issues/964#note_7530

    Ah ok. That makes sense. I should be able to try to duplicate the issue then though I am sure it's properly fixed. Thanks.

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