Forum OpenACS Q&A: Error in server log

Collapse
Posted by Nathan Reeves on
Managed to finally get AOLServer 3.0RC2 and Postgres 7.0 Beta 3
loaded and running.  I've pulled the latest CVS copy of ACS/pg
yesterday from sourceforge and built my DB and apart from a parse
error in events.sql, everything seems to have been loaded
successfully.

I start Aolserver up fine, and checking the server log shows that it
it is loading a number of the tcl files successfully form the acs/pg
tcl directory.

When I try an load index.tcl I get a "500 - Server error" message
appear.  Checking the logs, I find the message "Error: tcl/user-group-
defs.tcl: function ug_serve_group_pages: first element in url_list is
not [ad_parameter Groups Directory ug]"

If I call up any static html files AOLServer serves them fine.

Any ideas where my error is?

Thanks

Nathan

Collapse
Posted by Ben Adida on
You need to check your setup with the parameters file. Check the docs, but generally you should look inside parameters/ad.ini and change "yourservername" to your actual server name. Make sure to include the auxconfigdir parameter in your main parameter file, too.
Collapse
Posted by Nathan Reeves on
If I am running AOLServer with nsd.tcl instead of nsd.ini as the server config file, should I be using yourservername.tcl or yourservername.ini?

Nathan

Collapse
Posted by Nathan Reeves on
Just found the answer to my question.  Yourservername.ini is used all the time it seems.

NAthan

Collapse
Posted by Jose Mercado on
I have teh same error. Is there any way to actually fix it? Also, and I am nto sure if this is related, I cannot log in as system. I can an error message in my browser and the server logs report:
[27/Apr/2000:14:23:26][25405.5125][-conn1-] Error: nsd.tcl: can't use non-numeric string as operand of "&&"
can't use non-numeric string as operand of "&&"
    while executing
"if { [ad_parameter UsersTableContainsConvertedUsersP] && $converted_p == "t" } {
    # we have a user who never actively registered; he or she was 
   ..."
    (file "/webroot/test/acspg/www/register/user-login.tcl" line 67)
    invoked from within
"source $script"
    invoked from within
"if ![file exists $script] {
                ns_returnnotfound $conn
        } else {
                source $script
        }"
    (procedure "ns_sourceproc" line 3)
    invoked from within
"ns_sourceproc cns14 {}"
Collapse
Posted by Don Baccus on
Jose, the error you're getting is due to not defining your server name  in the virtual server's ACS configuration file (the one you make from  parameters/ad.tcl).

This means that the predicate referenced by ad_parameters hasn't been defined for your virtual server, so ad_parameters returns "".

if [ "" && ... ] is indeed an error, just like Tcl sez.

Collapse
Posted by Jose Mercado on
Hmm, switching to ad.ini vs. ad.tcl seems to fix everything.  It seems as if my ad.tcl wasn't being parsed at all.
Collapse
Posted by Ben Adida on
Yes, remember that you have to parse you .tcl param file MANUALLY, it won't be done automatically. You should add:
source /web/yourservername/parameters/youservername.tcl 
to the end of your main nsd.tcl file.
Collapse
Posted by Michael A. Cleverly on
You could also change:

if { [ad_parameter UsersTableContainsConvertedUsersP] && $converted_p == "t" } {

to:

if { [ad_parameter UsersTableContainsConvertedUsersP 0] && $converted_p == "t" } {

which makes for a saner default in my opinion...

Collapse
Posted by Don Baccus on
Yeah, Mike, you're right.  Why not make the change and commit it when you have a moment?