Forum OpenACS Development: Re: ns_ictl update error with tcllib tree library

Collapse
Posted by Jeff Rogers on
This is a problem with aolserver's init.tcl that rebuilds all the commands from startup in each new interpreter. It happens when a package imports procs from another namespace and then renames them.

I don't recall exactly which versions are affected, but I think this is fixed in the CVS HEAD of aolserver (nsd/init.tcl)

Collapse
Posted by Dave Bauer on
I see.

Yes this is happening in tcllib struct module. I am not sure why one openacs seems to have this problem but not the other. Neither one appears to use the struct or tree module from tcllib.

I grabbed the latest init.tcl and put it under bin in my aolserver install but I am still seeing the same error.

THis happens on the startup of the initial interpreter as well as when conection threads are created.

Collapse
Posted by Dave Bauer on
Upon further inspection the version I have is the same except for whitespace, probably from pasting it into emacs.

Maybe it's a specific case that the fix doesn't catch that only occurs in the struct tree module, I don't know. I don't even understand why that package is called since its not required in any of my code.

Collapse
Posted by Jeff Rogers on
Does your installation use project manager? That's the only package I see that requires 'struct' (which I think pulls in tree, set, and so forth).

Are you already running aolserver cvs head or something close to that? The changes to init.tcl were only made recently to my knowledge (Dec '11).

I'll see if I can get the problem to reproduce with project manager. In the meantime, you could try commenting out the errant code - init.tcl:594 which is

::append _import [::list rename [::namespace current]::[::namespace tail $_orig] $_cmnd] \n