
Hi I'm currently trying to debug our whoisserver (version 3.3.0) running as a near real-time mirror running on a RedHat (2.6.9-42.0.3.EL). First - I did not setup the server myself so history is pretty short... Problem: The server starts, runs for a while sucking up all CPU and dies. The wrapper keeps restarting the server as long as $CRASHES -le 10 and then it shuts down. I been looking into the logs and I think there might be a problem with updating the database. When the server starts it complains about to undefined conf. variables : [cut..cut] 070103 14:02:07 whois-server started 070103 14:02:07 /usr/local/whoisserver/bin/whois-server -p /usr/local/whoisserver/bin/whois_rip.pid -c /usr/local/whoisserver/conf/rip.config.sample Configuration [/usr/local/whoisserver/conf/rip.config.sample]: Warning: undefined configuration variable: SAWFILE Warning: undefined configuration variable: UPDSOURCE Error: Incomplete configuration file. Was this intended ??? 2 configuration variables undefined. Mandatory variable(s) undefined <<<<<<<<<<<<<<< >>>>>>>>>>> Continuing ..... Warning: undefined configuration variable: SAWFILE Warning: undefined configuration variable: UPDSOURCE Error: Incomplete configuration file. Was this intended ??? 2 configuration variables undefined. [cut..cut] These variables seems to be missing (or commented out (UPDSOURCE)) in the rip.config.sample that is used as config file. I wonder if that causes problems ? It then checks the DB and reports OK, and then it goes into a NTRM mode and dies when trying to update: [cut..cut] Check the DB Checking the Database [RIPE]...[OK] STATUS: The Database is clean ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Source [RIPE] Mode NRTM [/usr/local/whoisserver/log/ripupd/ripupdlog_RIPE] Mode of operation: * dummy not allowed * NRTM * running as a server * NHR is maintained died: +781 modules/ud/ud_core.c 070103 14:05:48 whoisd crashed & restarted\n/usr/local/whoisserver/bin/whois-server -c /usr/local/whoisserver/conf/rip.config.sample.q\n 070103 14:05:49 /usr/local/whoisserver/bin/whois-server -p /usr/local/whoisserver/bin/whois_rip.pid -c /usr/local/whoisserver/conf/rip.config.sample.q [cut..cut] Looking in log/ripupd/<logfile> the crash triggers a severe warning : 20070103 14:05:47 whois_rip-13755/2914581424 UD-S-SEVERE query not defined for this type of attribute[74]\x0A So in modules/ud/ud_core.c [line 780] (attribute_type) is "x0A" when it crashes - but I get a little lost from here. It leaves me with a few questions: 0) "Mandatory variables" sounds mandatory to me - but it does not seem (in the first place) to cause the server to crash, but just warns. 1) Any good ideas for debugging further ? 2) Is there a good howto somewhere with a better description of the config values found in rip.config* and sources.config.sample*. I'm a little curious about SAW values etc... Best regards, Peter

Dear Peter, Please note that we don't have plans on supporting redhat, or any other platform than debian linux. Also, we only support the newest CVS version of the whoisserver code - the current stable release, 3.3 is way too old and is going to be removed soon. ripe@foobar.dk wrote:
Problem: The server starts, runs for a while sucking up all CPU and dies.
The server loads its in-memory trees to be able to respond to queries quickly. It takes a bit less than 5 minutes for us. You can see the current status by connecting to the config port and issuing the command 'show threads'.
When the server starts it complains about to undefined conf. variables :
[cut..cut] 070103 14:02:07 whois-server started 070103 14:02:07 /usr/local/whoisserver/bin/whois-server -p /usr/local/whoisserver/bin/whois_rip.pid -c /usr/local/whoisserver/conf/rip.config.sample Configuration [/usr/local/whoisserver/conf/rip.config.sample]: Warning: undefined configuration variable: SAWFILE
The SAWFILE option is only intended for the AFRINIC version of whoisserver. Please make sure you are running the server in RIPE RIR mode.
Warning: undefined configuration variable: UPDSOURCE
You have to define an UPDSOURCE before NRTM can start. Check the conf/sources.config file.
These variables seems to be missing (or commented out (UPDSOURCE)) in the rip.config.sample that is used as config file. I wonder if that causes problems ?
The rip.config.sample file is what its name suggests: a sample, not intended for production use. You have to modify it first.
It then checks the DB and reports OK, and then it goes into a NTRM mode and dies when trying to update:
[cut..cut] Check the DB Checking the Database [RIPE]...[OK] STATUS: The Database is clean ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Source [RIPE] Mode NRTM [/usr/local/whoisserver/log/ripupd/ripupdlog_RIPE] Mode of operation: * dummy not allowed * NRTM * running as a server * NHR is maintained died: +781 modules/ud/ud_core.c 070103 14:05:48 whoisd crashed & restarted\n/usr/local/whoisserver/bin/whois-server -c /usr/local/whoisserver/conf/rip.config.sample.q\n 070103 14:05:49 /usr/local/whoisserver/bin/whois-server -p /usr/local/whoisserver/bin/whois_rip.pid -c /usr/local/whoisserver/conf/rip.config.sample.q [cut..cut]
Looking in log/ripupd/<logfile> the crash triggers a severe warning : 20070103 14:05:47 whois_rip-13755/2914581424 UD-S-SEVERE query not defined for this type of attribute[74]\x0A
So in modules/ud/ud_core.c [line 780] (attribute_type) is "x0A" when it crashes - but I get a little lost from here.
The above errors are enough to result any kind of unpredictable problems. Fix them first.
It leaves me with a few questions: 0) "Mandatory variables" sounds mandatory to me - but it does not seem (in the first place) to cause the server to crash, but just warns.
Good point - it is a historic part of the code though. It was probably intended to be able to start the server even if something seems wrong. Remember, we are trying to do 100% availability here. :)
1) Any good ideas for debugging further ?
Fix the above problems first. If whoisserver starts without any warnings or errors, you will most probably be OK. Also, you can have a look at the source code at the place where it died. For example, in the above output, it died in line 781 in ud_core.c - most probably caused by the lack of the database (and the object types within).
2) Is there a good howto somewhere with a better description of the config values found in rip.config* and sources.config.sample*. I'm a little curious about SAW values etc...
Whoisserver is not really used widely, so we don't spend much time on writing howtos. There is just too little interest and too many very different platforms people want to install it on. Nevertheless, we will do our best to answer your whoisserver-related questions here. Regards, Agoston Horvath Database Group RIPE NCC
participants (2)
-
Agoston Horvath
-
ripe@foobar.dk