Subj : src/sbbs3/websrvr.c To : Git commit to main/sbbs/master From : Rob Swindell Date : Mon Jun 06 2022 03:23 pm https://gitlab.synchro.net/main/sbbs/-/commit/2e67162225de28219d747ed1 Modified Files: src/sbbs3/websrvr.c Log Message: Perform a JS garbage collection for each new request in a reused session A reused HTTP session would never (apparently) perform garbage collection. The evidence of this was the collection of concurrent user.dat file opens that would never close until the HTTP sessions were closed. Hundreds or even thousands of open user.dat's have been seen. After this change, active web server (webv4 UI) users have not caused these spikes in open user.dat files, at least in my testing. If no garbage collection was being performed, then likely a lot of JS heap was being needlessly wasted, which could eventually result in a JS "out of memory" error. But that's just a theory. Investigation is needed into why the js_CommonOperationCallback()'s calls to JS_MaybeGC() were not sufficient to actually perform garbage collection in this case. .