atom feed10 messages in org.apache.tcl.rivet-devRe: Rivet 2.1 try out
FromSent OnAttachments
Brice HamonJun 28, 2013 8:44 am 
Brice HamonJun 28, 2013 11:03 am 
Massimo ManghiJun 28, 2013 11:16 am 
Brice HamonJun 28, 2013 11:18 am 
Brice HamonJun 28, 2013 11:56
Massimo ManghiJun 29, 2013 11:21 am 
Brice HamonJun 29, 2013 11:32 am 
Brice HamonJun 29, 2013 11:57
Massimo ManghiJun 29, 2013 5:22 pm 
Brice HamonJun 30, 2013 7:51 am 
Subject:Re: Rivet 2.1 try out
From:Brice Hamon (
Date:Jun 29, 2013 11:57:06 am
Attachments: - 8k

Hi again,

ok I did recompile apache2 : ./configure --enable-modules=most --enable-example --enable-unique-id --enable-symbols --sysconfdir=/usr/local/apache2/conf/ --prefix=/usr/local/apache2 --with-mpm=prefork

and rivet: ./configure --with-apache=/usr/local/apache2 --with-apxs=/usr/local/apache2/bin/apxs --with-tcl=/usr/lib64 --with-rivet-target-dir=/usr/local/apache2/lib/rivet2.1 --enable-version-display

Note that it complained that it coulnd't locate the file which on my host is under /usr/lib64

All when well and all in installed in /usr/local/apache2.

I went to tests and ran:

./runtests.tcl /usr/local/apache2/bin/httpd > res runtests.tcl is running with auto_path: ./apachetest /usr/lib64/tcl/tcl8.5 /usr/lib64/tcl /usr/share/tcl Tests will be run against apache2

System encoding is utf-8 - this is known to cause problems with the test environment! Continuing with tests in 5 seconds using the iso8859-1 encoding. .

The test failed badly like before.

in the error_log of apache I got multiple entries like:

[Sat Jun 29 14:44:58 2013] [info] mod_unique_id: using ip addr [Sat Jun 29 14:44:59 2013] [notice] Digest: generating secret for digest authentication ... [Sat Jun 29 14:44:59 2013] [notice] Digest: done [Sat Jun 29 14:44:59 2013] [info] mod_unique_id: using ip addr [Sat Jun 29 14:45:00 2013] [warn] pid file /tmp/rivet-2.1.1/tests/ overwritten -- Unclean shutdown of previous Apache run? [Sat Jun 29 14:45:00 2013] [alert] getpwuid: couldn't determine user name from uid 4294967295, you probably need to modify the User directive

. I attached the res file just in case.

Well, I think we are out of luck unless Harald finds something specific to Opensuse.

Any other ideas?

Thanks you, Brice.

Hi Massimo,

Thanks for helping me on Saturday :)

The file hello.rvt is downloaded but empty.

Okay, I will give a try to recompile Apache (which I hoped not to with the usage of module) if it can help you to troubleshoot the problem.

What version do you recommend me to compile? I am going to go with 2.2.24. Please stop me otherwise.

I will let you know.

Thank you. Brice,

On Sat, Jun 29, 2013 at 2:21 PM, Massimo Manghi <>wrote:

Again on Brice's problem before Harald answers

A 'namespace delete ::request' does exists and it's run at every request, but it's trapped by a catch in case it fails (and it should on the first request served by an interpreter). The function involved in a Tcl code execution is Rivet_ExecuteAndCheck which should print an error message on the browser if an error is not trapped by an ErrorScript directive (and I assume you didn't configure it). The default error handler code is in rivet/init.tcl

proc handle_error {} { global errorInfo global errorOutbuf

puts <PRE> puts "<HR>$errorInfo<HR>" puts "<P><B>OUTPUT BUFFER:</B></P>" puts $errorOutbuf puts </PRE> }

you get the download dialog box instead... if you get the whole hello.rvt script unparsed (can you check out?) that means there is some problem with your apache webserver, because some other request handling module took over the request. It's happening something like Rivet actually returned DENIED to the framework, claiming to be unable to handle it. Still, it doesn't match with the error line in the logs, which means mod_rivet code somehow got executed...that's really puzzling and impossible to figure out from here

I suggest you build your own apache 2.2 webserver by specifying prefork as MPM and giving a chance to the webserver to have all the modules it need for basic operations.

./configure --enable-modules=most --enable-example --enable-unique-id --enable-symbols --sysconfdir=/usr/local/apache2/conf/ --prefix=/usr/local/apache2 --with-mpm=prefork

and then build rivet with something like

./configure --with-apache=/usr/local/apache2 --with-apxs=/usr/local/apache2/bin/apxs --with-tcl=/usr/lib/tcl8.5 --with-rivet-target-dir=/usr/local/apache2/lib/rivet2.1 --enable-version-display

make sudo make install

this should work.

-- Massimo

On 06/28/2013 11:17 PM, Brice Hamon wrote:

I for got to tell you that when I get this error

[Fri Jun 28 17:15:43 2013] [error] (20014)Internal error: mod_rivet: Error parsing exec file '/srv/www/htdocs/hello.rvt': unknown namespace "::request" in namespace delete command\n while executing\n"namespace delete ::request "

my browser wants to download and save the file hello.rvt

that means these lines are not in effect

mod_mime-defaults.conf:AddType application/x-httpd-rivet .rvt mod_mime-defaults.conf:AddType application/x-rivet-tcl .tcl mod_mime-defaults.conf:AddType 'application/x-httpd-rivet;charset=utf-8' rvt

The first line is redundant and replaced by the third line. The . (dot) before rvt and tcl is not necessary

-- Massimo

On Fri, Jun 28, 2013 at 2:56 PM, Brice Hamon < <>> wrote:

No I used the standard distribution of apache2.

Plain vanilla configure:

./configure --with-apxs=/usr/sbin/apxs2

I attached the config.log just in case.

On Fri, Jun 28, 2013 at 4:51 PM, Massimo Manghi < <>> wrote:

Did you build your own httpd instance? In case would you try to build it with this configure line?

./configure --prefix=/usr/local/apache2 --enable-modules-shared=most --enable-mantainer-mode --with-mpm=prefork --enable-maintainer-mode --enable-symbols --with-included-apr --enable-dso --enable-cgi --disable-cgid

this is how my test instance of apache2 is built. What is you configure line for Rivet?

-- Massimo

On 06/28/2013 08:18 PM, Brice Hamon wrote:

Yes Me too.

I believe it's a apache config problem.

Server version: Apache/2.2.21 (Linux/SUSE) Server built: 2013-03-28 11:23:38.000000000 +0000

Linux ydotm2 3.1.10-1.23.1-desktop #1 SMP PREEMPT Tue May 21 12:46:34 UTC 2013 (8645a72) x86_64 x86_64 x86_64 GNU/Linux

On Fri, Jun 28, 2013 at 4:15 PM, Massimo Manghi < <> < <>>> wrote:

Hi Brice

are you running apache 2.2? I think I'm running out of ideas....

-- Massimo

On 06/28/2013 08:03 PM, Brice Hamon wrote:

Hi Massimo,

I think I use the prefork also:

/usr/sbin/httpd2 -l Compiled in modules: core.c prefork.c http_core.c mod_so.c

I am still fiddling around to try to make it work.

Thank you, B.

Dipartimento di Neuroscienze Unità di Biofisica e Fisica Sanitaria via Volturno 39 43125 Parma