Forum OpenACS Development: Re: NaviServer on Windows: [ns_info threads] returning unbalanced braces


I've upladed a Windows installer on SourceForge: -> 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 :-)


Dear Frank and Gustaf,
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).

Thank you,

Hi Maurizio,

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).


Dear Frank,
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,

Hi Maurizio,

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 Gustaf
I 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	(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

I tried multiple times, and also 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.