Forum OpenACS Development: Re: NaviServer on Windows: [ns_info threads] returning unbalanced braces
I've upladed a Windows installer on SourceForge:
https://sourceforge.net/projects/project-open/files/project-open/V5.0/ -> project-open-Window-5.0.2.alpha1.exe
This installer when installed in a Windows 7 or Windows Server 2008R2 re-creates the described behavior:
- Installation proceeds more or less correctly, when installing in C:/project-open/ as proposed by the installer.
- When loading http://localhost:8000/, the server will take a long time. nsd.exe will use 99% of CPU time.
- The log file with the "Error: unmatched open brace in list" is located in /server/projop/log/error.log
Thank god it's Sunday
just for your information.
I've integrated in my distribution TCL 8.5.19 (it was 8.5.18) and the issue is still there.
1. OpenACS works fine.
2. With ]po[ we still have the unbalanced braces.
as far as I can see it is a timing / threading issue, getting worse when the scheduled background procedures are executed.
3. This issue in my installer is not blocking and does not prevent ]po[ from functioning properly.
4. I will be glad to prove anything I said in here with a live Teamviewer (or whatever) session.
BTW: It's almost one year I have ]po[ 5.0 running on this platform (with this issue present).
I've checked the "large file" issue from ]po[ on your unmodified OpenACS installer, and it behaves exactly the same. There is an issue in your NaviServer binary!
Here is what I tested, so you can reproduce:
- I use a (pretty) fresh Windows Server 2008R2 install as a base,
- Installed your original "Windows-OpenACS-5.9.0.exe" installer,
- Copied a "ext-all.js" file (1.4MB) into C:\naviserver\servers\openacs\packages\acs-admin\www and
- Tried to load the file via the browser from within the VMware: http://localhost:8000/acs-admin/ext-all.js
As a result, the browser shows the first part of the file, but then hangs. NSD.exe starts to consume 50% CPU (there are only two cores assigned to the VM).
my installer, my binary... or simply Naviserver's behaviour on Windows?
...and how about the unbalanced braces...
Does this issue shows up also in the binary generated by Gustaf (I mean when running ]project-open[, not OpenACS)?
If not we need to understand the differences, if yes... then we are facing some problems in Naviserver that show up only in particular cases, work loads...
Please, if you can, get the binary form Gustaf. Please do try those binaries a big file, load then ]project-open[ and then let's see if we are observing different or identical behaviours.
Thank you for your analysis,
Sorry if this "you" sounds personal when I refer to "your" installer. I'm just very happy that I was able to narrow down the error quickly.
Maurizio, could you please try to load a slightly larger file with your OpenACS on your master Windows installation and confirm that you can reproduce the issue?
binaries generated by GustafI couldn't test yet, I don't have the binaries yet. Waiting for them eagerly
Here are some additional details from debugging:
When pointing a browser to http://localhost:8000, Crome loads the first files without any issues. Here is part of the "Network" debugging output:
jquery.min.js 200 mktree.js 200 diagram.js 200 showhide.js 200 mktree.css 200 sm-simple.css 200 jquery.smartmenus.min.js 200 style.saltnpepper.css?v=0 (never returns) style.saltnpepper.js 200 rounded_corners.inc.js (never returns) logo.gif (never returns) core.js (never returns)
After that, NSD is blocked and consumes 99% CPU.
So I tried to load files individually via WGET in order to check if there is something special. As a result, I can load each of the files above, but with style.saltnpepper.css the download stops after 37% or 16kB of data.
- wget http://127.0.0.1:8000/intranet/style/style.saltnpepper.css
I tried multiple times, and also rounded_corners.inc.js stops after 16kB data. After that, NSD CPU usage increases 25% each (1 thread, my Laptop has 4 cores...). The same happens with any other slightly longer file (>16kB).
In contrast, I've downloaded hundred times the mktree.js file (9kB) without any issue.
It looks to me like NaviServer stops/breaks during delivery of slightly larger files. As Maurizio said, the unbalanced braces error doesn't seem to affect the behavior of the server.