Forum OpenACS Q&A: Request Error (ns_encodingforcharset):

Hi all,

I have a problem with SuSE 9.0. I upgraded from 8.3 to 9.0 which also upgraded the Aolserver from 3.3 to 3.4.2.

The server restarts properly without any error but when I try to access the page I receive the following message:

Request Error
The server has encountered an internal server error. The error has been logged and will be investigated by our system programmers.
AOLserver/3.4.2 on http://dotlrn.uni-mannheim.de:8000

In error.log this message is shown:

[22/Dec/2003:15:27:50][5770.98311][-conn3-] Error: GET http://dotlrn.uni-mannheim.de:8000/?
referred by ""
invalid command name "ns_encodingforcharset"
    while executing
"ns_encodingforcharset $output_charset"
    (procedure "template::util::set_file_encoding" line 3)
    invoked from within
"template::util::set_file_encoding $fd"
    (procedure "template::util::read_file" line 5)
    invoked from within
"template::util::read_file $file_stub.tcl"
    ("tcl" arm line 2)
    invoked from within
"switch -exact $type {

	tcl {
	  set code [template::util::read_file $file_stub.tcl]
	}
	default {
	  set code [adp_compile -file $file_stub.$type]
  ..."
    (procedure "adp_init" line 15)
    invoked from within
"adp_init tcl $__adp_stub"
    invoked from within
"if { [file exists $__adp_stub.tcl] } {

      # ensure that data source preparation procedure exists and is up-to-date
      adp_init tcl $__adp_stub
..."
    ("uplevel" body line 3)
    invoked from within
"uplevel {

    if { [file exists $__adp_stub.tcl] } {

      # ensure that data source preparation procedure exists and is up-to-date
      adp_init t..."
    (procedure "adp_prepare" line 2)
    invoked from within
"adp_prepare "
    (procedure "template::adp_parse" line 30)
    invoked from within
"template::adp_parse [file root [ad_conn file]] {}"
    (procedure "adp_parse_ad_conn_file" line 7)
    invoked from within
"$handler"
    ("uplevel" body line 2)
    invoked from within
"uplevel $code"
    invoked from within
"ad_try {
                $handler
            } ad_script_abort val {
                # do nothing
            }"
    invoked from within
"rp_serve_concrete_file [ad_conn file]"
    (procedure "rp_serve_abstract_file" line 60)
    invoked from within
"rp_serve_abstract_file "$root/$path""
    ("uplevel" body line 2)
    invoked from within
"uplevel $code"
    invoked from within
"ad_try {
	rp_serve_abstract_file "$root/$path"
	set tcl_url2file([ad_conn url]) [ad_conn file]
	set tcl_url2path_info([ad_conn url]) [ad_conn path_inf..."
[22/Dec/2003:15:28:03][5770.114696][-conn4-] Error: GET http://dotlrn.uni-mannheim.de:8443/?
referred by "http://krum.rz.uni-mannheim.de/"
invalid command name "ns_encodingforcharset"
    while executing
"ns_encodingforcharset $output_charset"
    (procedure "template::util::set_file_encoding" line 3)
    invoked from within
"template::util::set_file_encoding $fd"
    (procedure "template::util::read_file" line 5)
    invoked from within
"template::util::read_file $file_stub.tcl"
    ("tcl" arm line 2)
    invoked from within
"switch -exact $type {

	tcl {
	  set code [template::util::read_file $file_stub.tcl]
	}
	default {
	  set code [adp_compile -file $file_stub.$type]
  ..."
    (procedure "adp_init" line 15)
    invoked from within
"adp_init tcl $__adp_stub"
    invoked from within
"if { [file exists $__adp_stub.tcl] } {

      # ensure that data source preparation procedure exists and is up-to-date
      adp_init tcl $__adp_stub
..."
    ("uplevel" body line 3)
    invoked from within
"uplevel {

    if { [file exists $__adp_stub.tcl] } {

      # ensure that data source preparation procedure exists and is up-to-date
      adp_init t..."
    (procedure "adp_prepare" line 2)
    invoked from within
"adp_prepare "
    (procedure "template::adp_parse" line 30)
    invoked from within
"template::adp_parse [file root [ad_conn file]] {}"
    (procedure "adp_parse_ad_conn_file" line 7)
    invoked from within
"$handler"
    ("uplevel" body line 2)
    invoked from within
"uplevel $code"
    invoked from within
"ad_try {
                $handler
            } ad_script_abort val {
                # do nothing
            }"
    invoked from within
"rp_serve_concrete_file [ad_conn file]"
    (procedure "rp_serve_abstract_file" line 60)
    invoked from within
"rp_serve_abstract_file "$root/$path""
    ("uplevel" body line 2)
    invoked from within
"uplevel $code"
    invoked from within
"ad_try {
	rp_serve_abstract_file "$root/$path"
	set tcl_url2file([ad_conn url]) [ad_conn file]
	set tcl_url2path_info([ad_conn url]) [ad_conn path_inf..."

Any idea what that could mean?

Greetings,
Nima
Collapse
Posted by Janine Ohmer on
The reason we use 3.3 is because it has extra 'stuff' in it to handle non-English character sets properly.  It looks to me like the command ns_encodingforcharset is part of that, and there will be other things missing or not working right as well.  You'll need to go back to 3.3 to make things work again.  Or you could upgrade to 4.0, but I think there are still some questions about whether everything we need is working 100% in that version.
Collapse
Posted by Andrew Piskorski on
Yeah, Nima, what Janine said is right, you broke your AOLserver. AOLserver 3.4.2 is not supported by OpenACS, you need a version that is, which means either 3.3+ad13 or 4.0. There are some particular features (e.g., SSL) that might not quite be 100% in 4.0, but lot's of OpenACS maintainers say they've been using AOLserver 4.0 for a long time now so it should basically work. See the AOLServer 4.0 Support in 5.0? thread for more info.