Max wrote to Digital Man <=-
I have a user who sends a long sequence of chars. He does this about 3 times a day, and it hangs the entire synchronet, what can be done to prevent this??
I have a user who sends a long sequence of chars. He does this about 3 times a day,
and it hangs the entire synchronet, what can be done to prevent this??
Log:
2024-12-29 20:36:39 0660 HTTPS [203.95.221.254] Path is: S:\sbbs\webv4\root\index.xjs
2024-12-29 20:36:39 0660 JavaScript: Initializing User Objects
2024-12-29 20:36:39 0660 RX: 159
2024-12-29 20:36:39 0660 RX:
2024-12-29 20:36:39 0660 RX: 0
2024-12-29 20:36:39 0660 RX:
2024-12-29 20:36:39 0660 HTTPS [203.95.221.254] Adding query value page=000-register.xjs at pos 0
2024-12-29 20:36:39 0660 HTTPS [203.95.221.254] Adding query value {"address ":"PEcMePVfZfxIp","alias":"ZjGOjPUnnL","birth":"CdgyFQhpAzPiluF"," gender":"O"," location":"sJwoLWdhauTLhNd","ne tmail":"winterrigerbrdill@yahoo.com","password1 ":"d3Uf7vvFNB9Puf!","password2":"d3Uf7vvFNB9Puf!","phone":"7670439781"," realna me":"ZcWolXOak","send-me-free-stuff":"eiJiUTxBDj","subscribe-to-newsl etter":"1" ,"zipcode":"YAbvkZDm"}= at pos 0
2024-12-29 20:36:39 0660 JavaScript: Compiling script: S:\sbbs\exec\xjs_handler.js
2024-12-29 20:36:39 0660 JavaScript: Executing script: S:\sbbs\exec\xjs_handler.js
2024-12-29 20:36:39 0660 HTTPS [203.95.221.254] <Guest> logged-in
it pop up a debug error:
Program; WEBSRVR.DLL
HEAP CORRUPTION DETECTED after normal block (#143377) at
0x0B7C56B8
CRT detected that the application wrote to memory after end of heap buffer.
Can you find the actual http request in your log and send that? It definitely sounds like a bug in websrvr.c that
I'd like to find and fix.
Re: hanging my bbs
By: Digital Man to Max on S”n Dec 29 2024 15:33:28
hi,
Now he hang it again.
You find my log at https://pepzi.net/hang.zip
It happens at 17.30 in the log.
Re: hanging my bbs
By: Digital Man to Max on S”n Dec 29 2024 15:33:28
hi,
Now he hang it again.
You find my log at https://pepzi.net/hang.zip
It happens at 17.30 in the log.
I see a similar attempt to create a new/spam user at 17:30 (HTTPS socket/session 2992), but the web server still seems to be running and
accepting requests after that time (at least until 17:59).
Can you elaborate?
Re: hanging my bbs
By: Digital Man to Max on M†n Dec 30 2024 14:07:10
I see a similar attempt to create a new/spam user at 17:30 (HTTPS socket/session 2992), but the web server still seems to be running and accepting requests after that time (at least until 17:59).
Can you elaborate?
It hangs at 17:30
and stops logging, and there is a popup with an error, when I get to the computer and click on the error window, ignore, and
it continues to work and log, but it works very poorly, so I have to restart. At 17.59 i click at ignore.
I found (and just fixed) a lack of error checking when converting that query value string to a JS string. I'm not sure if that's part of
this issue (HEAP CORRUPTION / hang) or not, but it's worth updating and seeing if/when it happens again and continue to provide the
relevant log data. Much appreciated,
--
I noticed your JS runtime heap size is a bit small at 16M. The default nowadays is 10x that (160M). Just as an experiment, you want to
try increasing that value (e.g. in SBBSCTRL:File->properties->JavaScript->Heap Size)?
I do think it's interesting that you're getting a debug assertion, which I think can only happen in debug builds (e.g. of
websrvr.dll). Are you building your own Synchronet executables? If you are, that implies you'd have MSVS/C++ installed and could
potentially attach its debugger to the crashed sbbs and get a backtrace (callstack). That could be very useful in helping to
root-cause and resolve this heap corruption.
Another thing that could potentially help would be a packet ure (e.g. using Wireshark), so we could maybe feed that same HTTP POST
request back into a webserver and reproduce the crash.
digital man (rob)
Re: hanging my bbs
By: Digital Man to Max on M†n Dec 30 2024 18:16:54
I noticed your JS runtime heap size is a bit small at 16M. The default nowadays is 10x that (160M). Just as an experiment, you want to try increasing that value (e.g. in SBBSCTRL:File->properties->JavaScript->Heap Size)?
I has change it to 160M now.
I do think it's interesting that you're getting a debug assertion, which I think can only happen in debug builds (e.g. of websrvr.dll). Are you building your own Synchronet executables? If you are, that implies you'd have MSVS/C++ installed and could potentially attach its debugger to the crashed sbbs and get a backtrace (callstack). That could be very useful in helping to root-cause and resolve this heap corruption.
Yes, i build it myself with MS Visual Studio 2022, and it is debug build, but I cant mush about debugging...
Another thing that could potentially help would be a packet ure (e.g. using Wireshark), so we could maybe feed that same HTTP POST request back into a webserver and reproduce the crash.
will try that.
All you have done didn't help, he is back again. And the error windows still popup.
Lastest log at https://pepzi.net/hang2.txt
Thanks anyway
Sysop: | fluid |
---|---|
Location: | wickliffe, ohio |
Users: | 4 |
Nodes: | 10 (0 / 10) |
Uptime: | 210:03:57 |
Calls: | 50 |
Files: | 15,838 |
Messages: | 50,993 |