[exim] Exim with FreeBSD 8, dbm loop

Top Page
Delete this message
Reply to this message
Author: Artis Caune
Date:  
To: exim-users
Subject: [exim] Exim with FreeBSD 8, dbm loop
Hi,

I have problem running exim on FreeBSD 8.x. I found those messages on test box:
...
swap_pager_getswapspace(3): failed
swap_pager_getswapspace(3): failed
pid 1441 (exim_tidydb), uid 25, was killed: out of swap space

That was nightly cron job and there was one message in queue.

Maybe something related to:
http://svn.freebsd.org/viewvc/base/head/lib/libc/db/hash/hash.c?r1=190489&r2=190491


I run dbm test, just like in doc/dbm.discuss.txt and there is loop in scan:

read(0,"open junk\n",4096)                       = 10 (0xa)
getrusage(0,{ u=0.002821,s=0.004896,in=0,out=0 }) = 0 (0x0)
open("/root/exim/db/junk.lockfile",O_RDWR,0640)  = 3 (0x3)
write(2,"locking /root/exim/db/junk.lockf"...,36) = 36 (0x24)
setitimer(0,{0.000000, 60.000000 },{0.000000, 0.000000 }) = 0 (0x0)
fcntl(3,F_SETLKW,0x7fffffffe2b0)                 = 0 (0x0)
setitimer(0,{0.000000, 0.000000 },{0.000000, 59.998986 }) = 0 (0x0)
write(2,"locked /root/exim/db/junk.lockfi"...,35) = 35 (0x23)
write(2,"EXIM_DBOPEN(/root/exim/db/junk)"...,32) = 32 (0x20)
open("/root/exim/db/junk",O_RDWR,0640)           = 4 (0x4)
fcntl(4,F_SETFD,FD_CLOEXEC)                      = 0 (0x0)
fstat(4,{ mode=-rw-r----- ,inode=710960,size=16384,blksize=4096 }) = 0 (0x0)
read(4,"\0\^F\^Ua\0\0\0\^B\0\0\^D\M-R\0"...,260) = 260 (0x104)
write(2,"returned from EXIM_DBOPEN\n",26)        = 26 (0x1a)
write(2,"opened hints database /root/exim"...,55) = 55 (0x37)
getrusage(0,{ u=0.003017,s=0.004896,in=0,out=0 }) = 0 (0x0)
write(1,"opened 0\n",9)                          = 9 (0x9)
write(1,"> ",2)                                  = 2 (0x2)
read(0,"read abcde\n",4096)                      = 11 (0xb)
getrusage(0,{ u=0.003086,s=0.004896,in=0,out=0 }) = 0 (0x0)
write(2,"dbfn_read: key=abcde\n",21)             = 21 (0x15)
pread(0x4,0x800c1f000,0x1000,0x2000,0x1,0x0)     = 4096 (0x1000)
getrusage(0,{ u=0.003130,s=0.004896,in=0,out=0 }) = 0 (0x0)
write(1,"the quick brown fox\n",20)              = 20 (0x14)
write(1,"> ",2)                                  = 2 (0x2)
read(0,"scan\n",4096)                            = 5 (0x5)
getrusage(0,{ u=0.003189,s=0.004896,in=0,out=0 }) = 0 (0x0)
pread(0x4,0x800c20000,0x1000,0x1000,0x1,0x0)     = 4096 (0x1000)
write(2,"dbfn_read: key=abcde\n",21)             = 21 (0x15)
write(1,"abcde: the quick brown fox\n",27)       = 27 (0x1b)
write(2,"dbfn_read: key=abcde\n",21)             = 21 (0x15)
write(1,"abcde: the quick brown fox\n",27)       = 27 (0x1b)
write(2,"dbfn_read: key=abcde\n",21)             = 21 (0x15)
write(1,"abcde: the quick brown fox\n",27)       = 27 (0x1b)
write(2,"dbfn_read: key=abcde\n",21)             = 21 (0x15)
write(1,"abcde: the quick brown fox\n",27)       = 27 (0x1b)
write(2,"dbfn_read: key=abcde\n",21)             = 21 (0x15)
write(1,"abcde: the quick brown fox\n",27)       = 27 (0x1b)
write(2,"dbfn_read: key=abcde\n",21)             = 21 (0x15)
write(1,"abcde: the quick brown fox\n",27)       = 27 (0x1b)
write(2,"dbfn_read: key=abcde\n",21)             = 21 (0x15)
write(1,"abcde: the quick brown fox\n",27)       = 27 (0x1b)
write(2,"dbfn_read: key=abcde\n",21)             = 21 (0x15)
write(1,"abcde: the quick brown fox\n",27)       = 27 (0x1b)
write(2,"dbfn_read: key=abcde\n",21)             = 21 (0x15)
write(1,"abcde: the quick brown fox\n",27)       = 27 (0x1b)
write(2,"dbfn_read: key=abcde\n",21)             = 21 (0x15)
write(1,"abcde: the quick brown fox\n",27)       = 27 (0x1b)
write(2,"dbfn_read: key=abcde\n",21)             = 21 (0x15)
write(1,"abcde: the quick brown fox\n",27)       = 27 (0x1b)
...




--
Artis Caune

    Everything should be made as simple as possible, but not simpler.