Package: tokyotyrant
Version: 1.1.40-4
Severity: grave
Justification: renders package unusable
There is tokyotyrant properly installed (using package system) taken from
'testing' branch while most of installed packages on host are 'stable'.
$ cat /etc/default/tokyotyrant | egrep -v "(^$|^#)"
SERVERHOST=10.0.4.13
SERVERPORT=1978
DBNAME=$NAME.tct#idx=key:lex#idx=x:dec#idx=val:lex#dfunit=8
DAEMON_ARGS_EXTRA="-ext /srv/Services/TokyoTyrant/expire.lua -thnum 32 -rts
/srv/Services/TokyoTyrant/timestamp.rts -extpc expire 300.0 -sid 1 -ulim
16777216 -ld"
DATADIR=/srv/Services/TokyoTyrant/data
ULOGDIR=/srv/Services/TokyoTyrant/ulog
$
I use "-ext" script as follows (_log date is used only to check that script is
executing at all):
$ cat /srv/Services/TokyoTyrant/expire.lua
function expire()
local args = {}
local cdate = string.format("%d", _time())
_log("current date => " .. cdate)
table.insert(args, "addcond\0x\0NUMLE\0" .. cdate)
table.insert(args, "out")
local res = _misc("search", args)
if not res then
_log("expiration was failed", 2)
end
end
$
The problem is that after quite random time of operation (at least 30 minutes,
usually few hours)- while daemon is not under heavy load (I would even
say while it is almost not used) - it crashes, leaving it's PID file. Without
using 'gdb' it was impossible for me to get any clue why it bahaves so.
Daemon process has just been dissappearing at a time.
Last part of it's own log file (while 'gdb' attached, see below):
$ tail -n 30 /var/log/tokyotyrant/tokyotyrant.log
2010-06-18T13:25:31+01:00 DEBUG doing misc command
2010-06-18T13:25:31+01:00 DEBUG doing out command
2010-06-18T13:25:31+01:00 INFO connection finished
2010-06-18T13:25:44+01:00 INFO current date => 1276863944
2010-06-18T13:25:52+01:00 INFO connected: 10.0.3.101:50724
2010-06-18T13:25:52+01:00 DEBUG doing stat command
2010-06-18T13:25:52+01:00 DEBUG doing misc command
2010-06-18T13:25:52+01:00 DEBUG doing out command
2010-06-18T13:25:53+01:00 INFO connection finished
2010-06-18T13:26:01+01:00 INFO connected: 10.0.3.101:50818
2010-06-18T13:26:01+01:00 DEBUG doing stat command
2010-06-18T13:26:01+01:00 DEBUG doing misc command
2010-06-18T13:26:01+01:00 DEBUG doing out command
2010-06-18T13:26:01+01:00 INFO connection finished
2010-06-18T13:26:02+01:00 INFO connected: 10.0.3.101:50820
2010-06-18T13:26:02+01:00 DEBUG doing stat command
2010-06-18T13:26:02+01:00 DEBUG doing misc command
2010-06-18T13:26:02+01:00 DEBUG doing out command
2010-06-18T13:26:02+01:00 INFO connection finished
2010-06-18T13:26:10+01:00 INFO connected: 10.0.3.101:50884
2010-06-18T13:26:10+01:00 DEBUG doing stat command
2010-06-18T13:26:10+01:00 DEBUG doing misc command
2010-06-18T13:26:10+01:00 DEBUG doing out command
2010-06-18T13:26:10+01:00 INFO connection finished
2010-06-18T13:26:25+01:00 INFO connected: 10.0.3.101:50977
2010-06-18T13:26:25+01:00 DEBUG doing stat command
2010-06-18T13:26:25+01:00 DEBUG doing misc command
2010-06-18T13:26:25+01:00 DEBUG doing out command
2010-06-18T13:26:25+01:00 DEBUG doing misc command
2010-06-18T13:31:42+01:00 INFO signal interruption
$
Without 'gdb' attached last logged line was "DEBUG doing misc command", so no
line "INFO signal interruption" was logged. Then I've installed
tokyotyrant-dbg package after which I've attached to running daemon using 'gdb'.
I'm not very familiar with 'gdb' - I only used this to investigate what is
exact reason of daemon crashing.
Here is last part of 'gdb' output:
Program received signal SIGHUP, Hangup.
[Thread 0x40868950 (LWP 19160) exited]
[Thread 0x4cd59950 (LWP 19185) exited]
[Thread 0x4f55e950 (LWP 19190) exited]
[Thread 0x4dd5b950 (LWP 19187) exited]
[Thread 0x4e55c950 (LWP 19188) exited]
[Thread 0x5188a950 (LWP 19192) exited]
[Thread 0x41069950 (LWP 19159) exited]
[Thread 0x41d43950 (LWP 19163) exited]
[Thread 0x50888950 (LWP 19162) exited]
[Thread 0x42d45950 (LWP 19165) exited]
[Thread 0x42544950 (LWP 19164) exited]
[Thread 0x44d49950 (LWP 19169) exited]
[Thread 0x4554a950 (LWP 19170) exited]
[Thread 0x43d47950 (LWP 19167) exited]
[Thread 0x44548950 (LWP 19168) exited]
[Thread 0x43546950 (LWP 19166) exited]
[Thread 0x45d4b950 (LWP 19171) exited]
[Thread 0x4754e950 (LWP 19174) exited]
[Thread 0x46d4d950 (LWP 19173) exited]
[Thread 0x4654c950 (LWP 19172) exited]
[Thread 0x47d4f950 (LWP 19175) exited]
[Thread 0x49552950 (LWP 19178) exited]
[Thread 0x48d51950 (LWP 19177) exited]
[Thread 0x48550950 (LWP 19176) exited]
[Thread 0x4b556950 (LWP 19182) exited]
[Thread 0x4ad55950 (LWP 19181) exited]
[Thread 0x4fd5f950 (LWP 19191) exited]
[Thread 0x4bd57950 (LWP 19183) exited]
[Thread 0x4ed5d950 (LWP 19189) exited]
[Thread 0x4a554950 (LWP 19180) exited]
[Thread 0x4c558950 (LWP 19184) exited]
[Thread 0x49d53950 (LWP 19179) exited]
[Thread 0x4d55a950 (LWP 19186) exited]
[Thread 0x51089950 (LWP 19161) exited]
[New Thread 0x40868950 (LWP 19366)]
[New Thread 0x41069950 (LWP 19367)]
[New Thread 0x5188a950 (LWP 19368)]
[New Thread 0x4fd5f950 (LWP 19369)]
[New Thread 0x420b6950 (LWP 19370)]
[New Thread 0x4186a950 (LWP 19371)]
[New Thread 0x428b7950 (LWP 19372)]
[New Thread 0x430b8950 (LWP 19373)]
[New Thread 0x438b9950 (LWP 19374)]
[New Thread 0x440ba950 (LWP 19375)]
[New Thread 0x448bb950 (LWP 19376)]
[New Thread 0x450bc950 (LWP 19377)]
[New Thread 0x458bd950 (LWP 19378)]
[New Thread 0x460be950 (LWP 19379)]
[New Thread 0x468bf950 (LWP 19380)]
[New Thread 0x470c0950 (LWP 19381)]
[New Thread 0x478c1950 (LWP 19382)]
[New Thread 0x480c2950 (LWP 19383)]
[New Thread 0x488c3950 (LWP 19384)]
[New Thread 0x490c4950 (LWP 19385)]
[New Thread 0x498c5950 (LWP 19386)]
[New Thread 0x4a0c6950 (LWP 19387)]
[New Thread 0x4a8c7950 (LWP 19388)]
[New Thread 0x4b0c8950 (LWP 19389)]
[New Thread 0x4b8c9950 (LWP 19390)]
[New Thread 0x4c0ca950 (LWP 19391)]
[New Thread 0x4c8cb950 (LWP 19392)]
[New Thread 0x4d0cc950 (LWP 19393)]
[New Thread 0x4d8cd950 (LWP 19394)]
[New Thread 0x4e0ce950 (LWP 19395)]
[New Thread 0x4e8cf950 (LWP 19396)]
[New Thread 0x4f0d0950 (LWP 19397)]
[New Thread 0x50560950 (LWP 19398)]
[New Thread 0x50d61950 (LWP 19399)]
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x4b0c8950 (LWP 19389)]
0x00007fc1f4ebaed5 in raise () from /lib/libc.so.6
(gdb) continue
Continuing.
Program terminated with signal SIGABRT, Aborted.
The program no longer exists.
(gdb)
As you see there is SIGHUP - due to log rotation. Debugger as directed did not
stopped process on SIGHUP. Then process received SIGABRT. Why?
Please let me know, what additional information should be send.
Re hardware: HP ProLiant DL360 G5 / 1x Xeon E5420 / 4GB RAM - no disk space or
out of memory problems on operating system.
-- System Information:
Debian Release: 5.0.4
APT prefers stable
APT policy: (990, 'stable'), (650, 'testing'), (600, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.26-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages tokyotyrant depends on:
ii adduser 3.110 add and remove users and groups
ii libc6 2.7-18lenny2 GNU C Library: Shared libraries
ii liblua5.1-0 5.1.3-1 Simple, extensible, embeddable pro
ii libtokyocabinet8 1.4.37-4 Tokyo Cabinet Database Libraries [
ii libtokyotyrant3 1.1.40-4 Tokyo Tyrant runtime libraries
ii lsb-base 3.2-20 Linux Standard Base 3.2 init scrip
Versions of packages tokyotyrant recommends:
ii tokyotyrant-utils 1.1.40-4 Tokyo Tyrant utilities
tokyotyrant suggests no packages.
-- no debconf information
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]