Forum OpenACS Q&A: Re: re 3) link daemontools /etc/service/dotlrn worked but service runs when i try to stop it

Hi Kenneth,

To config the instance to listen on a different IP than 127.0.0.1, you only have to edit the /etc/openacs|dotlrn/config.tcl file and change the following parameters to fit your needs:

set httpport Your port
set hostname Your hostname
set address your public IP

Then restart the service and that's it!

About the problem with svc, maybe is related to the symbolic links you did before. Please, purge the dotlrn package and reinstall it:

# apt-get remove --purge dotlrn
# apt-get install dotlrn

I also did a fix on the package's init script, which isn't properly evaluating the /etc/default/dotlrn file, so reinstalling is recommended anyway 😉.

-- Héctor

debian:/home/student# apt-get remove --purge dotlrn
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
xotcl aolserver4-nssha1 aolserver4-doc wwwconfig-common tdom tcllib
aolserver4 tcl8.4 aolserver4-core aolserver4-nspostgres aolserver4-nscache
aolserver4-xotcl tclthread
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
dotlrn*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 105MB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 129118 files and directories currently installed.)
Removing dotlrn ...
Stopping web server: dotlrn.
Purging configuration files for dotlrn ...
dpkg - warning: while removing dotlrn, directory `/var/log/aolserver4/dotlrn' not empty so not removed.
debian:/home/student# apt-get install dotlrn
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
postgresql
The following NEW packages will be installed:
dotlrn
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/24.9MB of archives.
After this operation, 105MB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
dotlrn
Install these packages without verification [y/N]? y
Preconfiguring packages ...
Selecting previously deselected package dotlrn.
(Reading database ... 114968 files and directories currently installed.)
Unpacking dotlrn (from .../archives/dotlrn_2.4.1_all.deb) ...
Setting up dotlrn (2.4.1) ...
Reloading PostgreSQL 8.3 database server: main.
Starting web server: dotlrn.
debian:/home/student#

Stopping web server: dotlr
debian:/etc/default# ln -s /usr/share/dotlrn/etc/daemontools /etc/service/dotlrn
debian:/etc/default#

svc -u /etc/service/dotlrn
svc -d /etc/service/dotlrn
both worked even though it took it more than a minute to come up.

I then edited the /etc/dotlrn/config.tcl
set hostname hostname
set address 0.0.0.0
and the same thing happened like before. When it finally came up it let me access the http://192.168.1:8000 but when i entered my username and password it was hosed.

I've installed Debian Jan Testing on another computer and will go through the whole process again, now.

thanks.

Hi Kenneth,

You seem to forgot to edit the /etc/default file to avoid the init script to be used instead of the daemontools.

Please, can you post the log when trying to access with your username and password (/var/log/aolserver/dotlrn/error.log)?

-- Héctor

debian:/etc/default# cat dotlrn
### dotLRN default file

## Set this to "no" to disable the /etc/init.d/dotlrn script.
StartDaemon="no"
debian:/etc/default#

---------------------------
I did edit the default dotlrn

Looking through the error log i found the following:
[13/Jan/2009:13:49:41][3739.3083434176][-main-] Notice: nsmain: AOLserver/4.5.0 running
[13/Jan/2009:13:49:41][3739.3083434176][-main-] Notice: nsmain: security info: uid=33, euid=33, gid=33, egid=33
[13/Jan/2009:13:49:41][3739.3073518480][-sched-] Notice: sched: starting
[13/Jan/2009:13:49:41][3739.3083434176][-main-] Notice: driver: starting: nssock
[13/Jan/2009:13:49:41][3739.3031853968][-nssock:driver-] Notice: starting
[13/Jan/2009:13:49:41][3739.3031853968][-nssock:driver-] Notice: nssock: listening on 192.168.1.112:8000
[13/Jan/2009:13:50:11][3739.3027651472][-sched:idle0-] Notice: starting
[13/Jan/2009:14:04:24][3739.3023448976][-sched:idle1-] Notice: starting
[13/Jan/2009:14:05:24][3739.3023448976][-sched:22-] Notice: dbdrv: opening database 'postgres:localhost:5432:dotlrn'
[13/Jan/2009:14:05:24][3739.3023448976][-sched:22-] Notice: Opening dotlrn on localhost
[13/Jan/2009:14:05:24][3739.3023448976][-sched:22-] Notice: Ns_PgOpenDb(postgres): Openned connection to localhost:5432:d$
[13/Jan/2009:14:10:14][3739.3083434176][-main-] Notice: nsmain: AOLserver/4.5.0 stopping
[13/Jan/2009:14:10:14][3739.3083434176][-main-] Notice: driver: stopping: nssock
[13/Jan/2009:14:10:14][3739.3031853968][-nssock:driver-] Notice: exiting
[13/Jan/2009:14:10:14][3739.3083434176][-main-] Notice: sched: shutdown pending
[13/Jan/2009:14:10:14][3739.3044461456][-conn:2-] Notice: exiting: shutdown pending
[13/Jan/2009:14:10:14][3739.3040258960][-conn:3-] Notice: exiting: shutdown pending
[13/Jan/2009:14:10:14][3739.3036056464][-conn:4-] Notice: exiting: shutdown pending
[13/Jan/2009:14:10:14][3739.3052866448][-conn:0-] Notice: exiting: shutdown pending
[13/Jan/2009:14:10:14][3739.3048663952][-conn:1-] Notice: exiting: shutdown pending
[13/Jan/2009:14:10:14][3739.3073518480][-sched-] Notice: sched: shutdown started

but didn't see an error from today so I will have to try and recreate it now.

Collapse
Posted by Kenneth Wyrick on
i changed the set address from local host to 0.0.0.0

debian:/etc/dotlrn# pico config.tcl

snip.......
# The hostname and address should be set to actual values.
# setting the address to 0.0.0.0 means aolserver listens on all interfaces
set hostname localhost
set address 0.0.0.0

# Note: If port is privileged (usually < 1024), OpenACS must be
# started by root, and, in AOLserver 4, the run script have a
# '-b address' flag which matches the address according to settings (above)

set server "dotlrn"
set servername "dotLRN"

set serverroot "/usr/share/${server}"
set pidfile /var/run/aolserver4/${server}.pid

---------------------------------------------

debian:/etc/dotlrn# ifconfig
eth0 Link encap:Ethernet HWaddr 00:02:a5:7d:49:ba
inet addr:192.168.1.112 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::202:a5ff:fe7d:49ba/64 Scope:Link

It worked this time. I'm accessing the dotlrn instance on the local ip address (above)

I'm going to another machine to access it....and I was able to access and login successfully to this instance from another machine on the local network.
that closes this chapter.

I will make a separate post for the other 2 or 3 items on my list. setting up cvs to load packages and do back-ups

OK. I got excited and spoke a bit too quick. Now it's back to bring up the login screen but not allowing us to do anything else. In particular register. The following is the log from when it worked to when it didn't:

Setup your own web ba16/Jan/2009:19:07:56][4468.3083184320][-main-] Notice: ns_register_proc GET /finish-component-element* rp_invoke_proc {0$
[16/Jan/2009:19:07:56][4468.3083184320][-main-] Notice: ns_register_proc POST /finish-component-element* rp_invoke_proc {$
[16/Jan/2009:19:08:00][4468.3083184320][-main-] Notice: nsmain: AOLserver/4.5.0 running
[16/Jan/2009:19:08:00][4468.3083184320][-main-] Notice: nsmain: security info: uid=33, euid=33, gid=33, egid=33
[16/Jan/2009:19:08:00][4468.3074554768][-sched-] Notice: sched: starting
[16/Jan/2009:19:08:00][4468.3083184320][-main-] Notice: driver: starting: nssock
[16/Jan/2009:19:08:00][4468.3031493520][-nssock:driver-] Notice: starting
[16/Jan/2009:19:08:00][4468.3031493520][-nssock:driver-] Notice: nssock: listening on 0.0.0.0:8000
[16/Jan/2009:19:08:36][4468.3027291024][-sched:idle0-] Notice: starting
[16/Jan/2009:19:08:45][4468.3023088528][-sched:idle1-] Notice: starting
[16/Jan/2009:19:09:20][4468.3052506000][-conn:0-] Notice: random: generating 1 seed
[16/Jan/2009:19:09:45][4468.3027291024][-sched:13-] Notice: dbdrv: opening database 'postgres:localhost:5432:dotlrn'
[16/Jan/2009:19:09:45][4468.3027291024][-sched:13-] Notice: Opening dotlrn on localhost
[16/Jan/2009:19:09:45][4468.3027291024][-sched:13-] Notice: Ns_PgOpenDb(postgres): Openned connection to localhost:5432:d$
[16/Jan/2009:20:32:23][4468.3018886032][-conn:5-] Notice: encoding: loaded: iso8859-1
Tcl_SetBooleanObj called with shared object
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: nsmain: AOLserver/4.5.0 starting
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: nsmain: security info: uid=33, euid=33, gid=33, egid=33
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: nsmain: max files: FD_SETSIZE = 1024, rl_cur = 1024, rl_max = 1024
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: encoding: loaded: utf-8
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: fastpath[dotlrn]: mapped GET /
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: fastpath[dotlrn]: mapped HEAD /
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: fastpath[dotlrn]: mapped POST /
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: adp[dotlrn]: mapped GET /*.adp
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: adp[dotlrn]: mapped HEAD /*.adp
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: adp[dotlrn]: mapped POST /*.adp
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: modload: loading '/usr/lib/aolserver4/bin/nssock.so'
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: modload: loading '/usr/lib/aolserver4/bin/nslog.so'
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: nslog: opened '/usr/share/dotlrn/log/dotlrn.log'
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: modload: loading '/usr/lib/aolserver4/bin/nssha1.so'
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: modload: loading '/usr/lib/aolserver4/bin/nscache.so'
[16/Jan/2009:20:32:28][4830.3083647168][-main-] Notice: nscache module version 1.4 server: dotlrn

snip......
....without me doing anything except logging in and trying to register from yet another computer

...the following from the end of the file 2 minutes later and some 5000 lines later of it loading all kinds of stuff

[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loading packages/lars-blogger/tcl/technorati-init.tcl...
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loaded packages/lars-blogger/tcl/technorati-init.tcl.
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loading packages/notifications/tcl/reply-sweep-init.tcl...
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loaded packages/notifications/tcl/reply-sweep-init.tcl.
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loading packages/notifications/tcl/sweep-init.tcl...
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loaded packages/notifications/tcl/sweep-init.tcl.
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loading packages/oacs-dav/tcl/oacs-dav-init.tcl...
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: OACS-DAV preauth filters loaded on /dav/*
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loaded packages/oacs-dav/tcl/oacs-dav-init.tcl.
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loading packages/rss-support/tcl/rss-generation-init.tcl...
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loaded packages/rss-support/tcl/rss-generation-init.tcl.
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loading packages/search/tcl/search-init.tcl...
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loaded packages/search/tcl/search-init.tcl.
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loading packages/xml-rpc/tcl/system-init.tcl...
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loaded packages/xml-rpc/tcl/system-init.tcl.
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loading packages/xml-rpc/tcl/validator-init.tcl...
[16/Jan/2009:20:34:25][4830.3083647168][-main-] Notice: Loaded packages/xml-rpc/tcl/validator-init.tcl.
[16/Jan/2009:20:34:34][4830.3083647168][-main-] Notice: Loading packages/news/tcl/test/news-db-test-init.tcl...
[16/Jan/2009:20:34:35][4830.3083647168][-main-] Notice: Loaded packages/news/tcl/test/news-db-test-init.tcl.
[16/Jan/2009:20:34:36][4830.3083647168][-main-] Notice: Bootstrap: Done loading OpenACS.
[16/Jan/2009:20:34:36][4830.3083647168][-main-] Notice: Sourcing files for postload...
[16/Jan/2009:20:34:36][4830.3083647168][-main-] Notice: Done.
[16/Jan/2009:20:34:36][4830.3083647168][-main-] Notice: Executing initialization code blocks...
[16/Jan/2009:20:34:36][4830.3083647168][-main-] Notice: Executing initialization code block filters_register in /usr/share$
[16/Jan/2009:20:34:36][4830.3083647168][-main-] Notice: Executing initialization code block procs_register in /usr/share/d$
[16/Jan/2009:20:34:36][4830.3083647168][-main-] Notice: ns_register_proc GET /grades-sheet-csv* rp_invoke_proc {0 0 0 eva$
[16/Jan/2009:20:34:36][4830.3083647168][-main-] Notice: ns_register_proc POST /grades-sheet-csv* rp_invoke_proc {0 0 0 ev$
[16/Jan/2009:20:34:36][4830.3083647168][-main-] Notice: ns_register_proc GET /finish-component-element* rp_invoke_proc {0$
[16/Jan/2009:20:34:36][4830.3083647168][-main-] Notice: ns_register_proc POST /finish-component-element* rp_invoke_proc {$
[16/Jan/2009:20:34:40][4830.3083647168][-main-] Notice: nsmain: AOLserver/4.5.0 running
[16/Jan/2009:20:34:40][4830.3083647168][-main-] Notice: nsmain: security info: uid=33, euid=33, gid=33, egid=33
[16/Jan/2009:20:34:40][4830.3075017616][-sched-] Notice: sched: starting
[16/Jan/2009:20:34:40][4830.3083647168][-main-] Notice: driver: starting: nssock
[16/Jan/2009:20:34:40][4830.3031956368][-nssock:driver-] Notice: starting
[16/Jan/2009:20:34:40][4830.3031956368][-nssock:driver-] Notice: nssock: listening on 0.0.0.0:8000

Hi Kenneth,

It seems that the instance is restarting when you register, but there is no clue for me on the log of why is it doing this way. Does it happens every time you login, or just one time?

-- Héctor

Now the instance does not start automatically. When I do svc -t /etc/service/dotlrn it will stay started for a good while as i use it on the local computer. As soon as i go to another computer, bring up the splash page and try to login it crashes.

I'm wondering if there are any optimizations that could be done to affect this. I'm also wondering if this computer is powerful enough to handle the dotlrn.

MemTotal: 515212 kB
MemFree: 8876 kB
Buffers: 3116 kB
Cached: 87276 kB
SwapCached: 1116 kB
Active: 415588 kB
Inactive: 37292 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 515212 kB
LowFree: 8876 kB
SwapTotal: 859436 kB
SwapFree: 856140 kB

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 10
cpu MHz : 996.778
cache size : 256 KB

I've also noticed that the /var/log/aolserver4/dotlrn/error.log

starts loading modules which tie up the system and causes it to become unreachable, temporarily.

debian:/var/log/aolserver4/dotlrn# tail error.log
[20/Jan/2009:09:24:32][3112.3083745472][-main-] Notice: ns_register_proc GET /grades-sheet-csv* rp
_invoke_proc {0 0 0 evaluation::generate_grades_sheet {}}
[20/Jan/2009:09:24:32][3112.3083745472][-main-] Notice: ns_register_proc POST /grades-sheet-csv* r
p_invoke_proc {0 0 0 evaluation::generate_grades_sheet {}}
[20/Jan/2009:09:24:32][3112.3083745472][-main-] Notice: ns_register_proc GET /finish-component-ele
ment* rp_invoke_proc {0 0 1 imsld::finish_component_element {}}
[20/Jan/2009:09:24:32][3112.3083745472][-main-] Notice: ns_register_proc POST /finish-component-el
ement* rp_invoke_proc {0 0 1 imsld::finish_component_element {}}
[20/Jan/2009:09:24:38][3112.3083745472][-main-] Notice: nsmain: AOLserver/4.5.0 running
[20/Jan/2009:09:24:38][3112.3083745472][-main-] Notice: nsmain: security info: uid=33, euid=33, gid
=33, egid=33
[20/Jan/2009:09:24:38][3112.3075115920][-sched-] Notice: sched: starting
[20/Jan/2009:09:24:38][3112.3083745472][-main-] Notice: driver: starting: nssock
[20/Jan/2009:09:24:38][3112.3032054672][-nssock:driver-] Notice: starting
[20/Jan/2009:09:24:38][3112.3032054672][-nssock:driver-] Notice: nssock: listening on 0.0.0.0:8000
debian:/var/log/aolserver4/dotlrn# tail error.log
[20/Jan/2009:09:28:28][3112.3044662160][-conn:2-] Warning: adding fs admin portlet to page - fs_adm
in_portlet
[20/Jan/2009:09:28:28][3112.3044662160][-conn:2-] Notice: Added applet:::: dotlrn_fs
[20/Jan/2009:09:28:28][3112.3044662160][-conn:2-] Notice: Added applet:::: dotlrn_forums
[20/Jan/2009:09:28:28][3112.3044662160][-conn:2-] Notice: dotlrn::mount_package: object_type apm_pa
ckage url /dotlrn/clubs/menlo1600/ object_id 5834 instance_name {Menlo 1600} package_type apm_appli
cation package_id 5834 name menlo1600 node_id 5833 directory_p t package_key dotlrn pattern_p t par
ent_id 2149
[20/Jan/2009:09:28:29][3112.3044662160][-conn:2-] Notice: Added applet:::: dotlrn_calendar
[20/Jan/2009:09:28:29][3112.3044662160][-conn:2-] Notice: Added applet:::: dotlrn_faq
[20/Jan/2009:09:28:29][3112.3044662160][-conn:2-] Notice: apm_invoke_callback_proc: invoking callba
ck after-instantiate with command news::install::after_instantiate -package_id 5982
[20/Jan/2009:09:28:29][3112.3044662160][-conn:2-] Notice: Added applet:::: dotlrn_news
[20/Jan/2009:09:28:29][3112.3044662160][-conn:2-] Notice: Added applet:::: dotlrn_static
[20/Jan/2009:09:28:30][3112.3044662160][-conn:2-] Notice: Added applet:::: dotlrn_bm
debian:/var/log/aolserver4/dotlrn#

Collapse
Posted by Kenneth Wyrick on
Dear Hector,

I left the instance up all day yesterday. I hit it and hammered it at the same time from 2 different computers. Once I restarted it at the beginning it did stay up.

I shut it down late last night and fired it back up this morning. After about 10 minutes I went to the other computer and it errored. I tried it again, shortly after that and it was up. So I'm not sure that it will continue to be stable but for now, it's doing what it was intended to do.

thanks.

I was having the same problem with the "Tcl_SetBooleanObj" error. I compiled aolserver 4.5.1 and that didn't solve the error and crashing. I wound up compiling tcl and aolserver from scratch, and my server no longer crashes. Here's exactly the method I used: http://blog.ticketboo.com/2009/02/compile-aolserver-451-on-ubuntu.html
Tony,

Just to keep you posted. We have been in contact with the aolserver maintainer for debian for a while now. Similar incidences have been discussed over at the aolserver list, see e.g. http://article.gmane.org/gmane.comp.web.aolserver/15470.

To cut it short: the issue you encountered has to do with a fundamental conflict between the binary-level coupling of AOLServer core and its modules, on the one hand, and a packaging mechanism with dependency structuring as debian's, on the other hand. In situations of debian package *updates* (aolserver4-core, for instance), you risk running into situations that the module binaries delivered by the debian module packages (aolserver4-nscache etc.) are incompatible with the new core, causing faults of all kind. The inverse (old core, new module) might also occur but is less probable.

Anyways, the debian maintainer came up with a fix to guarantee binary compatibility of core and modules, starting with the upcoming 4.5.1, by playing an elegant trick on the debian packaging infrastructure.

Cheers
//stefan