• Too Many Files Open

    From Zazz@1:103/705 to All on Sat Jul 28 09:21:34 2018
    Everyday and several times a day I can't login to my Sync bbs and when I look I find this info in the Sync Control Panel

    7/28 08:37:34a 9980 Telnet connection accepted from: 192.168.1.88 port 59136
    7/28 08:37:35a 9980 Telnet Hostname: <no name>
    7/28 08:37:35a Node 1 socket 9980 attached to local interface 76.235.75.36 port 2424
    7/28 08:37:35a Node 1 !ERROR 24 (Too many open files) (WinError 0) in main.cpp line 3509 (sbbs_t::init) opening "C:\sbbs\ctrl\node.dab" access=1
    7/28 08:37:35a 9980 Telnet Node 1 !Initialization failure
    7/28 08:51:39a Error smb_open_fp 24 'Too many open files' opening C:\sbbs\data\subs\dove-syncdata.shd opening msgbase: C:\sbbs\data\subs\dove-syncdata
    7/28 08:51:40a Error smb_open_fp 24 'Too many open files' opening C:\sbbs\data\subs\dove-syncdata.shd opening msgbase: C:\sbbs\data\subs\dove-syncdata
    7/28 08:57:12a Error smb_open_fp 24 'Too many open files' opening C:\sbbs\data\subs\dove-syncdata.shd opening msgbase: C:\sbbs\data\subs\dove-syncdata
    7/28 08:57:14a Error smb_open_fp 24 'Too many open files' opening C:\sbbs\data\subs\dove-syncdata.shd opening msgbase: C:\sbbs\data\subs\dove-syncdata

    I'm not sure what is happening, But seems like there is a file open? How to correct is my question?

    Zazz


    Ruben Figueroa, Sysop
    Sync Prison Board
    telnet:wc.darktech.org:2424
    http:wc.darktech.org





    ... How do you tell when you're out of invisible ink?

    ---
    * Synchronet * PBSync - Sync Prison BBS, Mesquite, Tx (wc.darktech.org)
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Zazz on Sat Jul 28 13:40:38 2018
    Re: Too Many Files Open
    By: Zazz to All on Sat Jul 28 2018 09:21 am

    Everyday and several times a day I can't login to my Sync bbs and when I look I find this info in the Sync Control Panel

    7/28 08:37:34a 9980 Telnet connection accepted from: 192.168.1.88 port 59136
    7/28 08:37:35a 9980 Telnet Hostname: <no name>
    7/28 08:37:35a Node 1 socket 9980 attached to local interface 76.235.75.36 port 2424
    7/28 08:37:35a Node 1 !ERROR 24 (Too many open files) (WinError 0) in main.cpp line 3509 (sbbs_t::init) opening "C:\sbbs\ctrl\node.dab" access=1
    7/28 08:37:35a 9980 Telnet Node 1 !Initialization failure
    7/28 08:51:39a Error smb_open_fp 24 'Too many open files' opening C:\sbbs\data\subs\dove-syncdata.shd opening msgbase: C:\sbbs\data\subs\dove-syncdata
    7/28 08:51:40a Error smb_open_fp 24 'Too many open files' opening C:\sbbs\data\subs\dove-syncdata.shd opening msgbase: C:\sbbs\data\subs\dove-syncdata
    7/28 08:57:12a Error smb_open_fp 24 'Too many open files' opening C:\sbbs\data\subs\dove-syncdata.shd opening msgbase: C:\sbbs\data\subs\dove-syncdata
    7/28 08:57:14a Error smb_open_fp 24 'Too many open files' opening C:\sbbs\data\subs\dove-syncdata.shd opening msgbase: C:\sbbs\data\subs\dove-syncdata

    I'm not sure what is happening, But seems like there is a file open? How to correct is my question?

    Are you using echicken's webv4 interface? If so, update to the latest (in github) and that should fix the issue.

    digital man

    Synchronet/BBS Terminology Definition #1:
    ANSI = American National Standards Institute
    Norco, CA WX: 90.5oF, 43.0% humidity, 7 mph E wind, 0.00 inches rain/24hrs
    --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Zazz@1:103/705 to Digital Man on Sun Jul 29 19:14:01 2018
    Re: Too Many Files Open
    By: Digital Man to Zazz on Sat Jul 28 2018 13:40:38

    Are you using echicken's webv4 interface? If so, update to the latest (in github) and that should fix the issue.

    I am and I did. Time will tell if that is the fix. However, using ecwebv4 my ftelnet is not 100%. When I click connect the Sync control panel says it is unable to connect to localhost 2424. So I don't the ftelnet telnet connection and when I login on the web and click on a game it gives me the same response but unable to connect to localhost 514.

    Yes, the ports on the firewall are open, everything checked. Just not sure where to look for in resolving this.

    Zazz


    Ruben Figueroa, Sysop
    Sync Prison Board
    telnet:wc.darktech.org:2424
    http:wc.darktech.org





    ... Conscience is what hurts when everything else feels so good.

    ---
    * Synchronet * PBSync - Sync Prison BBS, Mesquite, Tx (wc.darktech.org)
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From echicken@1:103/705 to Zazz on Mon Jul 30 18:07:00 2018
    Re: Too Many Files Open
    By: Zazz to Digital Man on Sun Jul 29 2018 19:14:01

    I am and I did. Time will tell if that is the fix. However, using ecwebv4 my ftelnet is not 100%. When I click connect the Sync control panel says it is unable to connect to localhost 2424. So I don't the ftelnet telnet connection and when I login on the web and click on a game it gives me the same response but unable to connect to localhost 514.

    Please share the contents of the [WS] section of your ctrl/services.ini file.

    Your external telnet port is 2424. Is that also what you have set for TelnetPort in the [BBS] section of ctrl/sbbs.ini, or is that set to 23?

    Yes, the ports on the firewall are open, everything checked. Just not sure where to look for in resolving this.

    The flow of the ftelnet connection is like this:

    Browser <-> Websocket server <-> Telnet/RLogin server

    (The websocket server is a proxy/gateway between the browser and the target server.)

    On your website, after clicking connect, ftelnet says "Redirecting to server". This message comes from the websocket server, so the browser is able to connect to that.

    The websocket server and telnet/rlogin server are on the same machine (your BBS).

    Firewall problems are unlikely at this point. It's going to come down to how websocketservice.js determines which host and port to connect to.

    ---
    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230
    * Synchronet * electronic chicken bbs - bbs.electronicchicken.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Zazz@1:103/705 to echicken on Tue Jul 31 07:48:58 2018
    Re: Too Many Files Open
    By: echicken to Zazz on Mon Jul 30 2018 18:07:00

    control panel says it is unable to connect to localhost 2424. So I
    don't the ftelnet telnet connection and when I login on the web and
    click on a game it gives me the same response but unable to connect
    to localhost 514.

    Please share the contents of the [WS] section of your ctrl/services.ini file.

    Here it is:
    [WS]
    Port=1123
    Options=NO_HOST_LOOKUP
    Command=websocketservice.js 2424
    Enabled=true

    [WSS]
    Port=11235
    Options=NO_HOST_LOOKUP|TLS
    Command=websocketservice.js 514
    Enabled=true

    Your external telnet port is 2424. Is that also what you have set for TelnetPort in the [BBS] section of ctrl/sbbs.ini, or is that set to 23?

    Here is that part from sbbs.ini

    [BBS]Terminal Server
    ; Set to 'false' to disable Telnet/Rlogin/Event server:
    AutoStart=true
    ; Set to IP address of network interface (or blank for default): TelnetInterface=76.235.75.36
    RLoginInterface=76.235.75.36
    SSHInterface=76.235.75.36
    ; TCP port for Telnet server:
    TelnetPort=2424
    ; TCP port for RLogin server:
    RLoginPort=514
    ; TCP port for Secure Shell (SSH) server:
    SSHPort=22

    On your website, after clicking connect, ftelnet says "Redirecting to server". This message comes from the websocket server, so the browser is able to connect to that.
    The websocket server and telnet/rlogin server are on the same machine (your BBS).

    Redirecting to server shows up for a while then the message:
    Error: Unable to connect to server. is displayed.

    Firewall problems are unlikely at this point. It's going to come down to how websocketservice.js determines which host and port to connect to.

    Just to restate. BBS is running in Oracle Virtual Box and the OS is Windows XP(SP3)

    Zazz


    Ruben Figueroa, Sysop,aka Zazz
    PBSync Prison Board
    telnet:wcalt.rdfig.net:2424
    http:wcalt.rdfig.net






    Ruben

    ... A memorandum is written not to inform the reader but to protect the writer

    ---
    * Synchronet * PBSync - Sync Prison BBS, Mesquite, Tx (wcalt.rdfig.net)
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From echicken@1:103/705 to Zazz on Tue Jul 31 11:26:28 2018
    Re: Too Many Files Open
    By: Zazz to echicken on Tue Jul 31 2018 07:48:58

    [WSS]
    Port=11235
    Options=NO_HOST_LOOKUP|TLS
    Command=websocketservice.js 514
    Enabled=true

    You can probably just delete this section since you aren't serving your site over HTTPS. If you keep it, remove the '514' from the end of the command line.

    Redirecting to server shows up for a while then the message:
    Error: Unable to connect to server. is displayed.

    Right. That's your websocket service failing to connect to your telnet server. On the same machine.

    TelnetInterface=76.235.75.36

    This is the likely culprit. The websocket service tries to connect to 'localhost' by default, unless you tell it to connect to some other address.

    In the [WS] section of /ctrl/services.ini, change the Command line to this:

    Command=websocketservice.js 76.235.75.36 2424

    Recycle services or restart your BBS, and see if that helps.

    ---
    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230
    * Synchronet * electronic chicken bbs - bbs.electronicchicken.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Digital Man on Tue Jul 31 12:14:01 2018
    Re: Too Many Files Open
    By: Digital Man to Zazz on Sat Jul 28 2018 01:40 pm

    Re: Too Many Files Open
    By: Zazz to All on Sat Jul 28 2018 09:21 am

    Everyday and several times a day I can't login to my Sync bbs and when
    I look I find this info in the Sync Control Panel

    7/28 08:37:35a Node 1 !ERROR 24 (Too many open files) (WinError 0)
    in main.cpp line 3509 (sbbs_t::init) opening "C:\sbbs\ctrl\node.dab"
    access=1 7/28 08:37:35a 9980 Telnet Node 1 !Initialization failure
    7/28 08:51:39a Error smb_open_fp 24 'Too many open files' opening
    C:\sbbs\data\subs\dove-syncdata.shd opening msgbase:
    C:\sbbs\data\subs\dove-syncdata

    Are you using echicken's webv4 interface? If so, update to the latest (in github) and that should fix the issue.

    I've been having the same issues recently, but only after updating to one of the newer Synchronet builds (7/29). I've also seen 'Too many open files' errors in the Synchronet email (SMTP/POP) window. I just updated to the latest ecwebv4 today though, so I'll see if that makes a difference.

    Nightfox

    ---
    * Synchronet * Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Zazz@1:103/705 to echicken on Tue Jul 31 16:39:52 2018
    Re: Too Many Files Open
    By: echicken to Zazz on Tue Jul 31 2018 11:26:28

    Here is what sync panel tells me

    7/31 04:32:48p 0000 JSON Synchronetris background service initialized
    7/31 04:32:48p 0000 JSON <--2476: 127.0.0.1 disconnected
    7/31 04:36:47p 2396 WS connection accepted from: 192.168.1.88 port 50305
    7/31 04:36:47p 2396 WS Hostname: <no name>
    7/31 04:36:57p 2396 WS Unable to connect to server at localhost:2424
    7/31 04:36:59p 2396 WS service thread terminated (0 clients remain, 0 total, 1 served)

    Thought you might want this info regarding not able to use ftelnet conection.

    Zazz


    Ruben Figueroa, Sysop,aka Zazz
    PBSync Prison Board
    telnet:wcalt.rdfig.net:2424
    http:wcalt.rdfig.net






    Ruben

    ... Behind every successful man is an astonished mother-in-law.

    ---
    * Synchronet * PBSync - Sync Prison BBS, Mesquite, Tx (wcalt.rdfig.net)
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From echicken@1:103/705 to Zazz on Tue Jul 31 18:24:02 2018
    Re: Too Many Files Open
    By: Zazz to echicken on Tue Jul 31 2018 16:39:52

    Here is what sync panel tells me

    7/31 04:36:57p 2396 WS Unable to connect to server at localhost:2424

    I assume that when you got this message, you had the command line for [WS] in services.ini set to:

    Command=websocketservice.js 2424

    or

    Command=websocketservice.js localhost 2424

    ---
    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230
    * Synchronet * electronic chicken bbs - bbs.electronicchicken.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Zazz@1:103/705 to Nightfox on Tue Jul 31 17:53:35 2018
    Re: Too Many Files Open
    By: Nightfox to Digital Man on Tue Jul 31 2018 12:14:01

    *
    I've been having the same issues recently, but only after updating to one of the newer Synchronet builds (7/29). I've also seen 'Too many open files' errors in the Synchronet email (SMTP/POP) window. I just updated to the latest ecwebv4 today though, so I'll see if that makes a difference.

    Still having problems with that. But today so far it has not happened. Except I found it that way this morning.

    Zazz


    Ruben Figueroa, Sysop,aka Zazz
    PBSync Prison Board
    telnet:wcalt.rdfig.net:2424
    http:wcalt.rdfig.net






    Ruben

    ... DOS never says EXCELLENT command or filename...

    ---
    * Synchronet * PBSync - Sync Prison BBS, Mesquite, Tx (wcalt.rdfig.net)
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Zazz@1:103/705 to echicken on Wed Aug 1 09:23:04 2018
    I assume that when you got this message, you had the command line for [WS] in services.ini set to:

    Command=websocketservice.js 2424

    or

    Command=websocketservice.js localhost 2424

    Yes, that is correct.



    Ruben Figueroa, Sysop,aka Zazz
    PBSync Prison Board
    telnet:wcalt.rdfig.net:2424
    http:wcalt.rdfig.net






    Ruben

    ---
    * Synchronet * PBSync - Sync Prison BBS, Mesquite, Tx (wcalt.rdfig.net)
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Zazz@1:103/705 to Zazz on Wed Aug 1 09:59:33 2018
    I assume that when you got this message, you had the command line for [WS] in services.ini set to:

    Command=websocketservice.js 2424

    or

    Command=websocketservice.js localhost 2424

    Yes, that is correct.

    ok, here is what I have discovered. I went to sync control panel, clicked on bbs and clicked on login and no go. Could not connect. So I went to File and properties and looked at the settings tab and saw logon command as telnet://127.0.0.1.(which was a no go for connection. So I changed it to telnet://localhost and also no go. So I changed it to wcalt.rdfig.net:2424 and was able to connect from the sync panel. So connecting, for some reason, to localhost does not work.

    So if your js wants to connect to the localhost on my system it won't be able to. It expects intergers and nothing else and when I entered the whole IP address it took the first two characters and ignored the rest.


    Ruben Figueroa, Sysop,aka Zazz
    PBSync Prison Board
    telnet:wcalt.rdfig.net:2424
    http:wcalt.rdfig.net






    Ruben

    ---
    * Synchronet * PBSync - Sync Prison BBS, Mesquite, Tx (wcalt.rdfig.net)
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Zazz on Wed Aug 1 10:13:08 2018
    Re: Too Many Files Open
    By: Zazz to Nightfox on Tue Jul 31 2018 05:53 pm

    I've been having the same issues recently, but only after updating
    to one of the newer Synchronet builds (7/29). I've also seen 'Too
    many open files' errors in the Synchronet email (SMTP/POP) window. I
    just updated to the latest ecwebv4 today though, so I'll see if that
    makes a difference.

    Still having problems with that. But today so far it has not happened. Except I found it that way this morning.

    I'm still having issues with that with my BBS. So I'm not sure what's causing it. It wasn't happening before I updated my Synchronet binaries a few days ago.

    Nightfox

    ---
    * Synchronet * Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From echicken@1:103/705 to Zazz on Wed Aug 1 14:00:01 2018
    Re: Too Many Files Open
    By: Zazz to Zazz on Wed Aug 01 2018 09:59:33

    ok, here is what I have discovered. I went to sync control panel, clicked on bbs and clicked on login and no go. Could not connect. So I went to File and properties and looked at the settings tab and saw logon command as telnet://127.0.0.1.(which was a no go for connection. So I changed it to telnet://localhost and also no go. So I changed it to wcalt.rdfig.net:2424 and was able to connect from the sync panel. So connecting, for some reason, to localhost does not work.

    Yes, this confirms what we already know. By default, the websocket service attempts to connect to 'localhost' on your configured TelnetPort (sbbs.ini -> [BBS]). It's failing to do so on your system because your BBS is not listening

    on 127.0.0.1 (localhost).

    So if your js wants to connect to the localhost on my system it won't be

    My web interface has very minimal involvement in this. The only JS things it does re: ftelnet are to load your custom splash screen into ftelnet, and determine the hostname and port of the websocket server to connect to. None of these things is the issue here.

    able to. It expects intergers and nothing else and when I entered the whole IP address it took the first two characters and ignored the rest.

    Right, that's websocketservice.js, which is invoked (via services.ini) in one of three ways:

    Command = websocketservice.js
    Command = websocketservice.js target_port
    Command = websocketservice.js target_host target_port

    The first style attempts to connect to 'localhost' on TelnetPort (sbbs.ini).

    The second style attempts to connect to 'localhost' on target_port.

    The third style attempts to connect to target_host on target_port.

    When you got the "Unable to connect to server at 76" message, I suspect that you were supplying the IP address as the *only* argument to websocketservice.js. When it only sees one argument, websocketservice.js assumes that argument is a port number and attempts to parse it as an integer. In javascript, parseInt('76.1.2.3') returns '76'.

    If you provide two arguments to websocketservice.js - the IP address or 'wcalt.rdfig.net' - and then the telnet port, it might just work:

    Command = websocketservice.js wcalt.rdfig.net 2424

    ---
    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230
    ---
    * Synchronet * electronic chicken bbs - bbs.electronicchicken.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Zazz@1:103/705 to Nightfox on Wed Aug 1 14:25:30 2018
    Re: Too Many Files Open
    By: Nightfox to Zazz on Wed Aug 01 2018 10:13:08

    to one of the newer Synchronet builds (7/29). I've also seen 'Too
    many open files' errors in the Synchronet email (SMTP/POP) window.
    I just updated to the latest ecwebv4 today though, so I'll see if
    that makes a difference.
    Still having problems with that. But today so far it has not
    happened. Except I found it that way this morning.
    I'm still having issues with that with my BBS. So I'm not sure what's causing it. It wasn't happening before I updated my Synchronet binaries a few days ago.

    Still happening here. I will update today and see how it goes.

    Zazz


    Ruben Figueroa, Sysop,aka Zazz
    PBSync Prison Board
    telnet:wcalt.rdfig.net:2424
    http:wcalt.rdfig.net






    Ruben

    ... Some things have got to be believed to be seen.

    ---
    * Synchronet * PBSync - Sync Prison BBS, Mesquite, Tx (wcalt.rdfig.net)
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Zazz on Wed Aug 1 16:21:28 2018
    Re: Too Many Files Open
    By: Zazz to Zazz on Wed Aug 01 2018 09:59 am

    I assume that when you got this message, you had the command line for [WS] in services.ini set to:

    Command=websocketservice.js 2424

    or

    Command=websocketservice.js localhost 2424

    Yes, that is correct.

    ok, here is what I have discovered. I went to sync control panel, clicked on bbs and clicked on login and no go. Could not connect. So I went to File and properties and looked at the settings tab and saw logon command as telnet://127.0.0.1.(which was a no go for connection. So I changed it to telnet://localhost and also no go. So I changed it to wcalt.rdfig.net:2424 and was able to connect from the sync panel. So connecting, for some reason, to localhost does not work.

    Probably becuase of the port number, not the hostname. Did you try telnet://localhost:2424?

    digital man

    Synchronet "Real Fact" #39:
    Synchronet first supported Windows NT v6.x (a.k.a. Vista/Win7) w/v3.14a (2006). Norco, CA WX: 91.7oF, 39.0% humidity, 12 mph E wind, 0.00 inches rain/24hrs
    --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Zazz@1:103/705 to Digital Man on Thu Aug 2 07:13:20 2018
    Re: Too Many Files Open
    By: Digital Man to Zazz on Wed Aug 01 2018 16:21:28

    I went to File and properties and looked at the settings tab and saw
    logon command as telnet://127.0.0.1.(which was a no go for connection.
    So I changed it to telnet://localhost and also no go. So I changed it
    to wcalt.rdfig.net:2424 and was able to connect from the sync panel.

    Probably becuase of the port number, not the hostname. Did you try telnet://localhost:2424?

    I will add the port and see what happens.

    Zazz


    Ruben Figueroa, Sysop,aka Zazz
    PBSync Prison Board
    telnet:wcalt.rdfig.net:2424
    http:wcalt.rdfig.net






    Ruben

    ... Counting time is not so important as making time count.

    ---
    * Synchronet * PBSync - Sync Prison BBS, Mesquite, Tx (wcalt.rdfig.net)
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Zazz on Thu Aug 2 09:26:30 2018
    Re: Too Many Files Open
    By: Zazz to Nightfox on Wed Aug 01 2018 02:25 pm

    Still happening here. I will update today and see how it goes.

    It was still happening on my BBS as of last night/today. I reverted my Synchronet binaries back to my backed-up binaries (from April 21, 2018). This issue for me only started after I updated my binaries (first the 7/28 build, then the 7/29 build), so I'll see if reverting my binaries helps.

    Nightfox

    ---
    * Synchronet * Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nelgin@1:103/705 to Nightfox on Thu Aug 2 14:14:15 2018
    Nightfox wrote:
    Re: Too Many Files Open
    By: Zazz to Nightfox on Wed Aug 01 2018 02:25 pm

    Still happening here. I will update today and see how it goes.

    It was still happening on my BBS as of last night/today. I reverted my Synchronet binaries back to my backed-up binaries (from April 21, 2018).
    This
    issue for me only started after I updated my binaries (first the 7/28 build, then the 7/29 build), so I'll see if reverting my binaries helps.

    Maybe it has something to do with all the extra .ini files that have been generated? I can't imagine they'd all be held open at once but you might want to check your limits and kernel setting for open files?

    ---
    * Synchronet * End Of The Line BBS - endofthelinebbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Nightfox on Thu Aug 2 16:45:51 2018
    Re: Too Many Files Open
    By: Nightfox to Zazz on Thu Aug 02 2018 09:26 am

    Re: Too Many Files Open
    By: Zazz to Nightfox on Wed Aug 01 2018 02:25 pm

    Still happening here. I will update today and see how it goes.

    It was still happening on my BBS as of last night/today.

    Can you check and see what files are opened by sbbs/sbbsctrl when the problem occurs?

    I reverted my
    Synchronet binaries back to my backed-up binaries (from April 21, 2018). This issue for me only started after I updated my binaries (first the 7/28 build, then the 7/29 build), so I'll see if reverting my binaries helps.

    It might make the problem go away (if the file is the user.dat) - but that doesn't mean that is the solution: On June 6th, a performance optimization was made to the JS User class which leaves the user.dat file while the object is instatiated. A script that creates a bunch of User objects but doesn't delete them can cause this problem. The solution is the fix the script (assuming its the same issue).

    digital man

    Synchronet/BBS Terminology Definition #9:
    CR = Carriage Return (ASCII 13, Ctrl-M)
    Norco, CA WX: 90.3oF, 40.0% humidity, 18 mph NE wind, 0.00 inches rain/24hrs --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Nelgin on Thu Aug 2 16:34:04 2018
    Re: Re: Too Many Files Open
    By: Nelgin to Nightfox on Thu Aug 02 2018 02:14 pm

    It was still happening on my BBS as of last night/today. I
    reverted my Synchronet binaries back to my backed-up binaries (from
    April 21, 2018). This issue for me only started after I updated my
    binaries (first the 7/28 build, then the 7/29 build), so I'll see
    if reverting my binaries helps.

    Maybe it has something to do with all the extra .ini files that have been generated? I can't imagine they'd all be held open at once but you might want to check your limits and kernel setting for open files?

    I'm not sure, but my BBS is running in Windows 7 (32-bit), and I've heard for Win32 software, there is no setting in the OS to control the number of open files allowed - As far as I've heard, it's limited only by the resources available. So I'm not sure there's anything I can change for that.

    Also it seems to only become a problem when the BBS was up for a day or 2. After a day or 2, I'm unable to log in to my BBS (the telnet server says "The server cannot be contacted" or similar), and I notice it has a bunch of errors on a few of the nodes, which seems to be accompanied by some "Too many open files" errors.

    Nightfox

    ---
    * Synchronet * Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Digital Man on Fri Aug 3 09:45:32 2018
    Re: Too Many Files Open
    By: Digital Man to Nightfox on Thu Aug 02 2018 04:45 pm

    It was still happening on my BBS as of last night/today.

    Can you check and see what files are opened by sbbs/sbbsctrl when the problem occurs?

    Next time I see it happening, I'll see if I can check that.

    I reverted my
    Synchronet binaries back to my backed-up binaries (from April 21,
    2018). This issue for me only started after I updated my binaries
    (first the 7/28 build, then the 7/29 build), so I'll see if reverting
    my binaries helps.

    It might make the problem go away (if the file is the user.dat) - but that doesn't mean that is the solution: On June 6th, a performance optimization was made to the JS User class which leaves the user.dat file while the object is instatiated. A script that creates a bunch of User objects but doesn't delete them can cause this problem. The solution is the fix the script (assuming its the same issue).

    I see. I'll have to update a couple of my scripts - I have a login matrix that creates User objects in some sections of the code, and one of the functions in SlyEdit's code creates a User object, so I'll have to update those to delete the User object when it's done with them. There aren't a bunch of User objects created, but I suppose when used repeatedly, it may cause an issue.

    Nightfox

    ---
    * Synchronet * Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Nightfox on Fri Aug 3 14:25:19 2018
    Re: Too Many Files Open
    By: Nightfox to Digital Man on Fri Aug 03 2018 09:45 am

    Re: Too Many Files Open
    By: Digital Man to Nightfox on Thu Aug 02 2018 04:45 pm

    It was still happening on my BBS as of last night/today.

    Can you check and see what files are opened by sbbs/sbbsctrl when the problem occurs?

    Next time I see it happening, I'll see if I can check that.

    Historically, I use https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer for that kind of thing, but there's likely other ways.

    I reverted my
    Synchronet binaries back to my backed-up binaries (from April 21,
    2018). This issue for me only started after I updated my binaries
    (first the 7/28 build, then the 7/29 build), so I'll see if reverting
    my binaries helps.

    It might make the problem go away (if the file is the user.dat) - but that doesn't mean that is the solution: On June 6th, a performance optimization was made to the JS User class which leaves the user.dat file while the object is instatiated. A script that creates a bunch of User objects but doesn't delete them can cause this problem. The solution is the fix the script (assuming its the same issue).

    I see. I'll have to update a couple of my scripts - I have a login matrix that creates User objects in some sections of the code, and one of the functions in SlyEdit's code creates a User object, so I'll have to update those to delete the User object when it's done with them. There aren't a bunch of User objects created, but I suppose when used repeatedly, it may cause an issue.

    For whatever reason, setting the User variable to 'undefined' works better than deleting it, e.g.

    var u = new User(1);
    // do something with u
    u = undefined; // destructs the object immediately, rather than than 'delete u'

    Also, this particular problem with the user.dat file being left open is triggered by setting the User.number property (or clearing the 'cached' property) after the User object has been created. It's a fine practice to re-use the same User object, but be sure to delete it (set to undefined) when done with it.

    digital man

    This Is Spinal Tap quote #20:
    Well, I'm sure I'd feel much worse if I weren't under such heavy sedation. Norco, CA WX: 95.0oF, 31.0% humidity, 8 mph ENE wind, 0.00 inches rain/24hrs --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From mark lewis@1:3634/12.73 to echicken on Fri Aug 3 16:04:26 2018

    On 2018 Aug 01 14:00:00, you wrote to Zazz:

    Right, that's websocketservice.js, which is invoked (via services.ini) in one of three ways:

    Command = websocketservice.js
    Command = websocketservice.js target_port
    Command = websocketservice.js target_host target_port

    how about if the first parameter is alpha or contains dots, then assume it is a
    host name or IP address and use it for that with the default sbbs.ini specified
    port or use the port param if it exists? that gives you two single param capability and we all know that the port number will never contain alpha or dots, right?

    When you got the "Unable to connect to server at 76" message, I suspect that you were supplying the IP address as the *only* argument to
    websocketservice.js. When it only sees one argument, websocketservice.js assumes that argument is a port number and attempts to parse it as an integer. In javascript, parseInt('76.1.2.3') returns '76'.

    then you won't run into the above problem ;)

    )\/(ark

    Always Mount a Scratch Monkey
    Do you manage your own servers? If you are not running an IDS/IPS yer doin' it wrong...
    ... If you would keep a slave, educate him not.
    ---
    * Origin: (1:3634/12.73)
  • From Nightfox@1:103/705 to Digital Man on Fri Aug 3 15:26:59 2018
    Re: Too Many Files Open
    By: Digital Man to Nightfox on Fri Aug 03 2018 02:25 pm

    Can you check and see what files are opened by sbbs/sbbsctrl when
    the problem occurs?

    Next time I see it happening, I'll see if I can check that.

    Historically, I use https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer for that kind of thing, but there's likely other ways.

    Yeah, I was thinking Process Explorer could probably help with that.

    I see. I'll have to update a couple of my scripts - I have a login
    matrix that creates User objects in some sections of the code, and one
    of the functions in SlyEdit's code creates a User object, so I'll have
    to update those to delete the User object when it's done with them.
    There aren't a bunch of User objects created, but I suppose when used
    repeatedly, it may cause an issue.

    For whatever reason, setting the User variable to 'undefined' works better than deleting it, e.g.

    var u = new User(1);
    // do something with u
    u = undefined; // destructs the object immediately, rather than than 'delete u'

    Interesting.. I would have expected 'delete' to do the job immediately.

    Also, this particular problem with the user.dat file being left open is triggered by setting the User.number property (or clearing the 'cached' property) after the User object has been created. It's a fine practice to re-use the same User object, but be sure to delete it (set to undefined) when done with it.

    Good to know. Thanks.

    Nightfox

    ---
    * Synchronet * Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From echicken@1:103/705 to mark lewis on Fri Aug 3 19:24:29 2018
    Re: Too Many Files Open
    By: mark lewis to echicken on Fri Aug 03 2018 16:04:26

    how about if the first parameter is alpha or contains dots, then assume it is a
    host name or IP address and use it for that with the default sbbs.ini specified port or use the port param if it exists? that gives you two single param capability and we all know that the port number will never contain alpha or dots, right?

    right?

    Sure, that would work as an enhancement. If I care about it enough later on, I'll make that change. It's not much of an issue, just poor structure.

    then you won't run into the above problem ;)

    The problem can also be avoided by supplying the correct parameters to the script in its current state.

    ---
    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230
    * Synchronet * electronic chicken bbs - bbs.electronicchicken.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From echicken@1:103/705 to Nightfox on Fri Aug 3 19:42:13 2018
    Re: Too Many Files Open
    By: Nightfox to Digital Man on Fri Aug 03 2018 15:26:59

    Interesting.. I would have expected 'delete' to do the job immediately.

    'delete' will remove a property from an object, but won't delete something declared with var/const in the global scope (or within a function).

    var a = { b: 'c' };
    var b = a;
    writeln(JSON.stringify(a)); // { b: 'c' }
    writeln(JSON.stringify(b)); // { b: 'c' }
    delete a.b; // true
    writeln(JSON.stringify(a)); // {}
    writeln(JSON.stringify(b)); // {}
    delete a; // false
    writeln(JSON.stringify(a)); // {}
    writeln(JSON.stringify(b)); // {}
    a = undefined; // Change the value that 'a' references writeln(JSON.stringify(a)); // undefined
    writeln(JSON.stringify(b)); // {}
    b = undefined; // Change the value that 'b' references writeln(JSON.stringify(b)); // undefined
    // Nothing references that value anymore, it will be garbage-collected

    ---
    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230
    * Synchronet * electronic chicken bbs - bbs.electronicchicken.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to echicken on Fri Aug 3 17:11:40 2018
    Re: Too Many Files Open
    By: echicken to Nightfox on Fri Aug 03 2018 07:42 pm

    Interesting.. I would have expected 'delete' to do the job
    immediately.

    'delete' will remove a property from an object, but won't delete something declared with var/const in the global scope (or within a function).

    Interesting to know.

    b = undefined; // Change the value that 'b' references writeln(JSON.stringify(b)); // undefined
    // Nothing references that value anymore, it will be garbage-collected

    I imagine the garbage collection does not necessarily happen immediately, but perhaps only as necessary? Also, I'd tihnk that the JavaScript runtime would know that nothing references the value anymore simply by the variable going out of scope (of the function, etc.).. It seems odd to have to explicitly set it to undefined.

    Nightfox

    ---
    * Synchronet * Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Zazz@1:124/5014 to Digital Man on Fri Aug 3 20:17:59 2018
    Probably becuase of the port number, not the hostname. Did you try telnet://localhost:2424?

    Yes and nope

    Ruben Figueroa aka Zazz
    Mystic Prison Board Sysop
    telnet://pb.darktech.org:24
    Web: www.rdfig.net

    --- Mystic BBS v1.12 A39 2018/04/21 (Windows/32)
    * Origin: Mystic Prison Board*Mesquite Tx*pb.darktech.org:24 (1:124/5014)
  • From echicken@1:103/705 to Nightfox on Fri Aug 3 22:35:07 2018
    Re: Too Many Files Open
    By: Nightfox to echicken on Fri Aug 03 2018 17:11:40

    I imagine the garbage collection does not necessarily happen immediately,

    Right; that's really up to the runtime. (You can force GC in Synchronet with js.gc(true) though, if for some reason it becomes necessary to do so.)

    but perhaps only as necessary? Also, I'd tihnk that the JavaScript runtime would know that nothing references the value anymore simply by the variable going out of scope (of the function, etc.).. It seems odd to have to explicitly set it to undefined.

    I rarely use 'delete' or dereference things for this same reason, but every once in a while there's a situation that calls for it.

    ---
    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230
    * Synchronet * electronic chicken bbs - bbs.electronicchicken.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From mark lewis@1:3634/12.73 to echicken on Sat Aug 4 17:17:12 2018

    On 2018 Aug 03 19:24:28, you wrote to me:

    how about if the first parameter is alpha or contains dots, then
    assume it is a host name or IP address and use it for that with the
    default sbbs.ini specified port or use the port param if it exists?
    that gives you two single param capability and we all know that the
    port number will never contain alpha or dots, right?

    right?

    yeah :)

    Sure, that would work as an enhancement. If I care about it enough
    later on, I'll make that change. It's not much of an issue, just poor structure.

    i hear ya... it may not have been so easily seen when it was created that checking the params for alphas and/or dots would have sufficed to differentiate
    between host and port entries...

    then you won't run into the above problem ;)

    The problem can also be avoided by supplying the correct parameters to
    the script in its current state.

    there is that but all coders know (or learn the hard way) that users of the code will provide input in ways that were never expected or considered... one only need look at all the websites with their various input fields and someone has been able to cause an alert box to pop up because the site wasn't doing input validation correctly... this sitiation is similar and the validation enables the determination of what each of the parameters is representing -=B-)

    you're doing good, though! please do consider this as an enhancement feature so
    others won't run into the same problem...



    umm, guess what? you can also use this enhancement to allow for the two parameters to be placed in any order... all digits, no dots? port number... no all digits and no dots? use the default port from the ini file... all digits and dots? IP number... alpha and dots? host.domain... alpha and no dots? host name on local network ;)

    did i miss anything? hahaha...

    )\/(ark

    Always Mount a Scratch Monkey
    Do you manage your own servers? If you are not running an IDS/IPS yer doin' it wrong...
    ... OOPS I didn't know my screen would do that!
    ---
    * Origin: (1:3634/12.73)
  • From mark lewis@1:3634/12.73 to Nightfox on Sat Aug 4 17:21:06 2018

    On 2018 Aug 03 17:11:40, you wrote to echicken:

    b = undefined; // Change the value that 'b' references
    writeln(JSON.stringify(b)); // undefined
    // Nothing references that value anymore, it will be garbage-collected

    I imagine the garbage collection does not necessarily happen immediately, but perhaps only as necessary?

    it happens whenever... necessary or not...

    truth be told, garbage collection is a lazy coder paradigm... it is not needed at all if coders would properly destroy and deallocate objects they no longer need... this goes way back when coders started not caring any more because the OS would clean up after them when the program was terminated... but only some OSes provide this... then someone came along and created this ugly thing where the runtime had garbage collection and the sewer was opened... there will be as
    many discussions about garbage collection as there are about spaces vs. tabs for code formatting... it is a nasty rabbit hole to go down...

    i won't even mention programs that have obvious processing delays and jitteriness when their garbage collecting and disposal is going on...

    like most parent have always tried to teach, you should always clean up after yourself and do not rely on anyone else to do it for you...


    NOTE: i absolutely do not fault anyone who finds themselves using languages with garbage collection... are there other alternatives? there's always an alternative...


    can you tell that i am not a fan of garbage collection? ;)

    )\/(ark

    Always Mount a Scratch Monkey
    Do you manage your own servers? If you are not running an IDS/IPS yer doin' it wrong...
    ... I'm in here for being crazy, not stupid.
    ---
    * Origin: (1:3634/12.73)
  • From echicken@1:103/705 to mark lewis on Sat Aug 4 19:17:22 2018
    Re: Too Many Files Open
    By: mark lewis to echicken on Sat Aug 04 2018 17:17:12

    there is that but all coders know (or learn the hard way) that users of the code will provide input in ways that were never expected or considered... one only need look at all the websites with their various

    Sure, and sometimes it matters more than others. I'm typically careful about validating input, but it depends on the scenario.

    i hear ya... it may not have been so easily seen when it was created that checking the params for alphas and/or dots would have sufficed to

    you're doing good, though! please do consider this as an enhancement feature so
    others won't run into the same problem...

    To be clear this isn't a script that I wrote, and I loathe supporting this feature, so I'm not super keen on messing around with it. I'll probably make these changes at some point just to possibly avoid a repeat - but reluctantly because it's kind of a non-problem.

    ---
    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230
    * Synchronet * electronic chicken bbs - bbs.electronicchicken.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Digital Man on Sat Aug 4 18:50:13 2018
    Re: Too Many Files Open
    By: Digital Man to Nightfox on Thu Aug 02 2018 04:45 pm

    Can you check and see what files are opened by sbbs/sbbsctrl when the problem occurs?

    I saw the problem again today, and it looked like sbbsctrl.exe had a bunch of files open, and user.dat was listed a bunch of times. I'm not sure what may be opening so many copies of user.dat..
    I saved a copy of the output from Process Explorer and put it here: http://digdist.synchro.net/miscFilesForDL/sbbsctrl.txt

    Nightfox

    ---
    * Synchronet * Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Nightfox on Mon Aug 6 11:48:49 2018
    Re: Too Many Files Open
    By: Nightfox to Digital Man on Sat Aug 04 2018 06:50 pm

    Re: Too Many Files Open
    By: Digital Man to Nightfox on Thu Aug 02 2018 04:45 pm

    Can you check and see what files are opened by sbbs/sbbsctrl when the problem occurs?

    I saw the problem again today, and it looked like sbbsctrl.exe had a bunch of files open, and user.dat was listed a bunch of times. I'm not sure what may be opening so many copies of user.dat..

    A JavaScript running on your system.

    I saved a copy of the output from Process Explorer and put it here: http://digdist.synchro.net/miscFilesForDL/sbbsctrl.txt

    That just confirms it the JS User object issue I told you about. Review the JS modules on your system to find the one(s) that might be creating User objects and not deleting them.

    digital man

    This Is Spinal Tap quote #43:
    I feel my role in the band is ... kind of like lukewarm water.
    Norco, CA WX: 92.7oF, 33.0% humidity, 0 mph SSE wind, 0.00 inches rain/24hrs --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Digital Man on Mon Aug 6 13:58:32 2018
    Re: Too Many Files Open
    By: Digital Man to Nightfox on Mon Aug 06 2018 11:48 am

    http://digdist.synchro.net/miscFilesForDL/sbbsctrl.txt

    That just confirms it the JS User object issue I told you about. Review the JS modules on your system to find the one(s) that might be creating User objects and not deleting them.

    I went through the JS modules in my mods directory (which I have customized) and updated those, and I also got all the latest JS scripts from exec and exec/load from CVS, and I still saw the issue.. I'll have to keep reviewing more of the JS modules to track it down, I suppose.

    Nightfox

    ---
    * Synchronet * Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Nightfox on Mon Aug 6 15:41:43 2018
    Re: Too Many Files Open
    By: Nightfox to Digital Man on Mon Aug 06 2018 01:58 pm

    Re: Too Many Files Open
    By: Digital Man to Nightfox on Mon Aug 06 2018 11:48 am

    http://digdist.synchro.net/miscFilesForDL/sbbsctrl.txt

    That just confirms it the JS User object issue I told you about. Review the JS modules on your system to find the one(s) that might be creating User objects and not deleting them.

    I went through the JS modules in my mods directory (which I have customized) and updated those, and I also got all the latest JS scripts from exec and exec/load from CVS, and I still saw the issue.. I'll have to keep reviewing more of the JS modules to track it down, I suppose.

    Okay, that's good to know. It might be a bug in one of the default script or perhaps in sbbs itself. I haven't had any errors, but see a lot of copies of user.dat open, so I'll look into it.

    digital man

    This Is Spinal Tap quote #16:
    David St. Hubbins: I believe virtually everything I read...
    Norco, CA WX: 99.2oF, 28.0% humidity, 13 mph ESE wind, 0.00 inches rain/24hrs --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Digital Man on Mon Aug 6 17:21:42 2018
    Re: Too Many Files Open
    By: Digital Man to Nightfox on Mon Aug 06 2018 03:41 pm

    Okay, that's good to know. It might be a bug in one of the default script or perhaps in sbbs itself. I haven't had any errors, but see a lot of copies of user.dat open, so I'll look into it.

    I did notice that the latest login.js in CVS creates a new User object but doesn't delete it (CVS says login.js was last updated 8 months ago). I'm not sure what others may need to be updated.

    Nightfox

    ---
    * Synchronet * Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Nightfox on Mon Aug 6 17:44:55 2018
    Re: Too Many Files Open
    By: Nightfox to Digital Man on Mon Aug 06 2018 05:21 pm

    Re: Too Many Files Open
    By: Digital Man to Nightfox on Mon Aug 06 2018 03:41 pm

    Okay, that's good to know. It might be a bug in one of the default script or perhaps in sbbs itself. I haven't had any errors, but see a lot of copies of user.dat open, so I'll look into it.

    I did notice that the latest login.js in CVS creates a new User object but doesn't delete it (CVS says login.js was last updated 8 months ago). I'm not sure what others may need to be updated.

    That particular instance shouldn't be a problem:

    1. A user object created and used in that manner does not result in the user.dat file being left open - the user file (user.dat) is only left open when transitioning from a non-cached to cached user data (for performance reasons). An initial creation of a User object has cached data and the user file is not left open.

    2. The JS context for a terminal server session is short-lived, so the garbage collection will delete the instance upon disconnection anyway.

    Here's an example that would cause the user file to be left open (at least until the garbage collection of the user object):

    var u = new User(1);
    u.number = 2; // change which user # in the user object references print(u.alias); // dereference any user property

    Another example that'll leave the user file open:

    var u = new User(1);
    u.security.level--; // modify any user property value
    print(u.alia); // dereference any user property

    Both of these u objects can be deleted (and the user file closed) with:
    u = undefined;

    digital man

    Synchronet "Real Fact" #35:
    The irc.synchro.net network has more servers than users.
    Norco, CA WX: 93.4oF, 28.0% humidity, 7 mph ESE wind, 0.00 inches rain/24hrs --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Nightfox on Mon Aug 6 21:02:33 2018
    Re: Too Many Files Open
    By: Digital Man to Nightfox on Mon Aug 06 2018 05:44 pm

    Re: Too Many Files Open
    By: Nightfox to Digital Man on Mon Aug 06 2018 05:21 pm

    Re: Too Many Files Open
    By: Digital Man to Nightfox on Mon Aug 06 2018 03:41 pm

    Okay, that's good to know. It might be a bug in one of the default script or perhaps in sbbs itself. I haven't had any errors, but see a lot of copies of user.dat open, so I'll look into it.

    I did notice that the latest login.js in CVS creates a new User object but doesn't delete it (CVS says login.js was last updated 8 months ago). I'm not sure what others may need to be updated.

    This problem might be fixed in CVS now (and tomorrow morning's build). Your testing and feedback would be appreciated.

    digital man

    Synchronet/BBS Terminology Definition #57:
    XON = Transmit On (ASCII 17, Ctrl-Q)
    Norco, CA WX: 85.0oF, 44.0% humidity, 0 mph ESE wind, 0.00 inches rain/24hrs --- SBBSecho 3.05-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Digital Man on Tue Aug 7 10:00:52 2018
    Re: Too Many Files Open
    By: Digital Man to Nightfox on Mon Aug 06 2018 05:44 pm

    I did notice that the latest login.js in CVS creates a new User object
    but doesn't delete it (CVS says login.js was last updated 8 months
    ago). I'm not sure what others may need to be updated.

    That particular instance shouldn't be a problem:

    1. A user object created and used in that manner does not result in the user.dat file being left open - the user file (user.dat) is only left open when transitioning from a non-cached to cached user data (for performance reasons). An initial creation of a User object has cached data and the user file is not left open.

    2. The JS context for a terminal server session is short-lived, so the garbage collection will delete the instance upon disconnection anyway.

    I see.. So would you not worry about it for any script that is designed to run in a terminal server session?

    Here's an example that would cause the user file to be left open (at least until the garbage collection of the user object):

    var u = new User(1);
    u.number = 2; // change which user # in the user object references print(u.alias); // dereference any user property

    Another example that'll leave the user file open:

    var u = new User(1);
    u.security.level--; // modify any user property value
    print(u.alia); // dereference any user property

    Both of these u objects can be deleted (and the user file closed) with:
    u = undefined;

    I see.

    Nightfox

    ---
    * Synchronet * Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Digital Man on Tue Aug 7 10:03:07 2018
    Re: Too Many Files Open
    By: Digital Man to Nightfox on Mon Aug 06 2018 09:02 pm

    This problem might be fixed in CVS now (and tomorrow morning's build). Your testing and feedback would be appreciated.

    Thanks. I'll update and see how it works.

    Nightfox

    ---
    * Synchronet * Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nelgin@1:103/705 to Digital Man on Tue Aug 7 15:03:54 2018
    Digital wrote:
    Re: Too Many Files Open
    By: Digital Man to Nightfox on Mon Aug 06 2018 05:44 pm

    Re: Too Many Files Open
    By: Nightfox to Digital Man on Mon Aug 06 2018 05:21 pm

    Re: Too Many Files Open
    By: Digital Man to Nightfox on Mon Aug 06 2018 03:41 pm

    Okay, that's good to know. It might be a bug in one of the default
    script or perhaps in sbbs itself. I haven't had any errors, but see
    a lot of copies of user.dat open, so I'll look into it.

    I did notice that the latest login.js in CVS creates a new User object
    but doesn't delete it (CVS says login.js was last updated 8 months ago).
    I'm not sure what others may need to be updated.

    This problem might be fixed in CVS now (and tomorrow morning's build). Your testing and feedback would be appreciated.

    You might be on to something.

    Before update
    root@bbs:~# lsof|grep user.dat|wc -l
    4316

    After update
    root@bbs:~# lsof|grep user.dat|wc -l
    34

    No idea if that number will go up as I use the board more, I'll keep an eye on it.

    ---
    * Synchronet * End Of The Line BBS - endofthelinebbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Nightfox@1:103/705 to Digital Man on Wed Aug 8 17:00:26 2018
    Re: Too Many Files Open
    By: Digital Man to Nightfox on Mon Aug 06 2018 09:02 pm

    This problem might be fixed in CVS now (and tomorrow morning's build). Your testing and feedback would be appreciated.

    I got the updated binaries yesterday, and so far, so good. I haven't seen the issue yet (usually it would happen by now). I'll let you know if it happens on my system again.

    Nightfox

    ---
    * Synchronet * Digital Distortion: digitaldistortionbbs.com
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)