[Date Prev][Date Next] [Chronological] [Thread] [Top]

replogfile - segfault when adding new entry (ITS#2981)



Full_Name: Filip Jirsák
Version: 2.1.26
OS: Gentoo Linux
URL: 
Submission from: (NULL) (194.212.178.67)


When adding new entry into ldap-tree, and there is replogfile set in slapd.conf,
slapd segfaults. When replogfile line is commented out, program works OK. When
there is this line in slapd.conf, entry is added (it is there when I start slapd
again) and there is no record in replica log about this operation.
Here is end of debugging output (-d 255):
<= ldbm_cache_open (opened 10)
=> key_change(ADD,3eb)
<= key_change 0
<= index_entry_add( 1003,
"uid=rosicka,ou=oldies,ou=Students,ou=Users,dc=gymnace
=> dn2id_add( "uid=rosicka,ou=oldies,ou=students,ou=users,dc=gymnacel,dc=cz",
10
=> ldbm_cache_open( "dn2id.dbb", 73, 600 )
<= ldbm_cache_open (cache 0)
<= dn2id_add 0
=> id2entry_add( 1003,
"uid=rosicka,ou=oldies,ou=Students,ou=Users,dc=gymnacel,d
=> ldbm_cache_open( "id2entry.dbb", 73, 600 )
<= ldbm_cache_open (cache 1)
<= id2entry_add 0
send_ldap_result: conn=0 op=8 p=2
send_ldap_result: err=0 matched="" text=""
send_ldap_response: msgid=9 tag=105 err=0
ber_flush: 14 bytes to sd 10
  0000:  30 0c 02 01 09 69 07 0a  01 00 04 00 04 00         0....i........
ldap_write: want=14, written=14
  0000:  30 0c 02 01 09 69 07 0a  01 00 04 00 04 00         0....i........
====> cache_return_entry_w( 615 ): returned (0)

----
And part of strace output:


14847 fsync(19)                         = 0
14847 write(2, "=> ldbm_cache_open( \"cn.dbb\", 73"..., 40) = 40
14847 stat64("/var/lib/openldap-ldbm/cn.dbb", {st_mode=S_IFREG|0600,
st_size=372736, ...}) = 0
14847 stat64("/var/lib/openldap-ldbm/cn.dbb", {st_mode=S_IFREG|0600,
st_size=372736, ...}) = 0
14847 open("/var/lib/openldap-ldbm/cn.dbb", O_RDWR|O_LARGEFILE) = 20
14847 fcntl64(20, F_SETFD, FD_CLOEXEC)  = 0
14847 read(20, "\0\0\0\0\1\0\0\0\0\0\0\0b1\5\0\10\0\0\0\0\20\0\0\0\t\0"..., 512)
= 512
14847 close(20)                         = 0
14847 stat64("/var/lib/openldap-ldbm/cn.dbb", {st_mode=S_IFREG|0600,
st_size=372736, ...}) = 0
14847 open("/var/lib/openldap-ldbm/cn.dbb", O_RDWR|O_LARGEFILE) = 20
14847 fcntl64(20, F_SETFD, FD_CLOEXEC)  = 0
14847 fstat64(20, {st_mode=S_IFREG|0600, st_size=372736, ...}) = 0
14847 pread(20, "\0\0\0\0\1\0\0\0\0\0\0\0b1\5\0\10\0\0\0\0\20\0\0\0\t\0"...,
4096, 0) = 4096
14847 time(NULL)                        = 1077789887
14847 stat64("cn.dbb", 0x40b66400)      = -1 EACCES (Permission denied)
14847 write(2, "ldbm_cache_open (blksize 8192) ("..., 61) = 61
14847 write(2, "<= ldbm_cache_open (opened 9)\n", 30) = 30
14847 write(2, "=> key_change(ADD,3eb)\n", 23) = 23
14847 pread(20, "\0\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0T\0|\n\2\3\364"...,
4096, 4096) = 4096
14847 pread(20, "\0\0\0\0\1\0\0\0\23\0\0\0U\0\0\0>\0\0\0\216\0t\7\1\5\354"...,
4096, 77824) = 4096
14847 pread(20, "\0\0\0\0\1\0\0\0B\0\0\0\0\0\0\0\0\0\0\0\1\0\10\10\0\7\0"...,
4096, 270336) = 4096
14847 write(2, "<= key_change 0\n", 16) = 16
14847 sched_yield()                     = 0
14847 write(2, "=> key_change(ADD,3eb)\n", 23) = 23
14847 pread(20, "\0\0\0\0\1\0\0\0O\0\0\0\r\0\0\0/\0\0\0\210\0\320\7\1\5"...,
4096, 323584) = 4096
14847 write(2, "<= key_change 0\n", 16) = 16
14847 sched_yield()                     = 0
14847 write(2, "=> key_change(ADD,3eb)\n", 23) = 23
14847 pread(20, "\0\0\0\0\1\0\0\0*\0\0\0\30\0\0\0\4\0\0\0\266\0004\4\1\5"...,
4096, 172032) = 4096
14847 write(2, "<= key_change 0\n", 16) = 16
14847 sched_yield()                     = 0
14847 write(2, "=> key_change(ADD,3eb)\n", 23) = 23
14847 pread(20, "\0\0\0\0\1\0\0\0J\0\0\0(\0\0\0\27\0\0\0\206\0\244\7\1\5"...,
4096, 303104) = 4096
14847 write(2, "<= key_change 0\n", 16) = 16
14847 sched_yield()                     = 0
14847 write(2, "=> key_change(ADD,3eb)\n", 23) = 23
14847 pread(20, "\0\0\0\0\1\0\0\0K\0\0\0\f\0\0\0%\0\0\0v\0\34\10\1\5\354"...,
4096, 307200) = 4096
14847 write(2, "<= key_change 0\n", 16) = 16
14847 sched_yield()                     = 0
14847 write(2, "=> key_change(ADD,3eb)\n", 23) = 23
14847 pread(20, "\0\0\0\0\1\0\0\0\25\0\0\0001\0\0\0.\0\0\0\316\0\234\2\1"...,
4096, 86016) = 4096
14847 write(2, "<= key_change 0\n", 16) = 16
14847 sched_yield()                     = 0
14847 write(2, "=> key_change(ADD,3eb)\n", 23) = 23
14847 pread(20, "\0\0\0\0\1\0\0\0.\0\0\0\25\0\0\0\f\0\0\0\272\0\244\3\1"...,
4096, 188416) = 4096
14847 write(2, "<= key_change 0\n", 16) = 16
14847 sched_yield()                     = 0
14847 write(2, "=> key_change(ADD,3eb)\n", 23) = 23
14847 pread(20, "\0\0\0\0\1\0\0\0001\0\0\0T\0\0\0\25\0\0\0\252\0\364\3\1"...,
4096, 200704) = 4096
14847 write(2, "<= key_change 0\n", 16) = 16
14847 sched_yield()                     = 0
14847 write(2, "=> key_change(ADD,3eb)\n", 23) = 23
14847 pread(20, "\0\0\0\0\1\0\0\0C\0\0\0\7\0\0\0(\0\0\0\214\0D\7\1\5\354"...,
4096, 274432) = 4096
14847 write(2, "<= key_change 0\n", 16) = 16
14847 sched_yield()                     = 0
14847 write(2, "=> key_change(ADD,3eb)\n", 23) = 23
14847 pread(20, "\0\0\0\0\1\0\0\0\32\0\0\0004\0\0\0005\0\0\0\320\0\20\2"...,
4096, 106496) = 4096
14847 write(2, "<= key_change 0\n", 16) = 16
14847 sched_yield()                     = 0
14847 write(2, "=> key_change(ADD,3eb)\n", 23) = 23
14847 pread(20, "\0\0\0\0\1\0\0\0\30\0\0\0/\0\0\0*\0\0\0\302\0@\3\1\5\354"...,
4096, 98304) = 4096
14847 write(2, "<= key_change 0\n", 16) = 16
14847 sched_yield()                     = 0
14847 write(2, "=> key_change(ADD,3eb)\n", 23) = 23
14847 pread(20, "\0\0\0\0\1\0\0\0007\0\0\0\2\0\0\0\36\0\0\0\264\0\344\3"...,
4096, 225280) = 4096
14847 write(2, "<= key_change 0\n", 16) = 16
14847 sched_yield()                     = 0
14847 pwrite(20, "\0\0\0\0\1\0\0\0\0\0\0\0b1\5\0\10\0\0\0\0\20\0\0\0\t\0"...,
4096, 0) = 4096
14847 pwrite(20, "\0\0\0\0\1\0\0\0\23\0\0\0U\0\0\0>\0\0\0\216\0t\7\1\5\354"...,
4096, 77824) = 4096
14847 pwrite(20, "\0\0\0\0\1\0\0\0\25\0\0\0001\0\0\0.\0\0\0\316\0\234\2\1"...,
4096, 86016) = 4096
14847 pwrite(20, "\0\0\0\0\1\0\0\0\30\0\0\0/\0\0\0*\0\0\0\304\0(\3\1\5\354"...,
4096, 98304) = 4096
14847 pwrite(20, "\0\0\0\0\1\0\0\0\32\0\0\0004\0\0\0005\0\0\0\320\0\20\2"...,
4096, 106496) = 4096
14847 pwrite(20, "\0\0\0\0\1\0\0\0*\0\0\0\30\0\0\0\4\0\0\0\270\0\34\4\1\5"...,
4096, 172032) = 4096
14847 pwrite(20, "\0\0\0\0\1\0\0\0.\0\0\0\25\0\0\0\f\0\0\0\272\0\244\3\1"...,
4096, 188416) = 4096
14847 pwrite(20, "\0\0\0\0\1\0\0\0001\0\0\0T\0\0\0\25\0\0\0\252\0\364\3\1"...,
4096, 200704) = 4096
14847 pwrite(20, "\0\0\0\0\1\0\0\0007\0\0\0\2\0\0\0\36\0\0\0\264\0\344\3"...,
4096, 225280) = 4096
14847 pwrite(20, "\0\0\0\0\1\0\0\0B\0\0\0\0\0\0\0\0\0\0\0\1\0\10\10\0\7\0"...,
4096, 270336) = 4096
14847 pwrite(20, "\0\0\0\0\1\0\0\0C\0\0\0\7\0\0\0(\0\0\0\214\0D\7\1\5\354"...,
4096, 274432) = 4096
14847 pwrite(20, "\0\0\0\0\1\0\0\0J\0\0\0(\0\0\0\27\0\0\0\210\0\214\7\1\5"...,
4096, 303104) = 4096
14847 pwrite(20, "\0\0\0\0\1\0\0\0K\0\0\0\f\0\0\0%\0\0\0v\0\34\10\1\5\354"...,
4096, 307200) = 4096
14847 pwrite(20, "\0\0\0\0\1\0\0\0O\0\0\0\r\0\0\0/\0\0\0\212\0\270\7\1\5"...,
4096, 323584) = 4096
14847 fsync(20)                         = 0
14847 write(2, "=> ldbm_cache_open( \"sambaPrimar"..., 58) = 58
14847 stat64("/var/lib/openldap-ldbm/sambaPrimaryGroupSID.dbb",
{st_mode=S_IFREG|0600, st_size=16384, ...}) = 0
14847 stat64("/var/lib/openldap-ldbm/sambaPrimaryGroupSID.dbb",
{st_mode=S_IFREG|0600, st_size=16384, ...}) = 0
14847 open("/var/lib/openldap-ldbm/sambaPrimaryGroupSID.dbb",
O_RDWR|O_LARGEFILE) = 21
14847 fcntl64(21, F_SETFD, FD_CLOEXEC)  = 0
14847 read(21, "\0\0\0\0\1\0\0\0\0\0\0\0b1\5\0\t\0\0\0\0\20\0\0\0\t\0\0"...,
512) = 512
14847 close(21)                         = 0
14847 stat64("/var/lib/openldap-ldbm/sambaPrimaryGroupSID.dbb",
{st_mode=S_IFREG|0600, st_size=16384, ...}) = 0
14847 open("/var/lib/openldap-ldbm/sambaPrimaryGroupSID.dbb",
O_RDWR|O_LARGEFILE) = 21
14847 fcntl64(21, F_SETFD, FD_CLOEXEC)  = 0
14847 fstat64(21, {st_mode=S_IFREG|0600, st_size=16384, ...}) = 0
14847 pread(21, "\0\0\0\0\1\0\0\0\0\0\0\0b1\5\0\t\0\0\0\0\20\0\0\0\t\0\0"...,
4096, 0) = 4096
14847 time(NULL)                        = 1077789887
14847 stat64("sambaPrimaryGroupSID.dbb", 0x40b66400) = -1 EACCES (Permission
denied)
14847 write(2, "ldbm_cache_open (blksize 8192) ("..., 61) = 61
14847 write(2, "<= ldbm_cache_open (opened 10)\n", 31) = 31
14847 write(2, "=> key_change(ADD,3eb)\n", 23) = 23
14847 pread(21, "\0\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\26\0\214\v\1\5"...,
4096, 4096) = 4096
14847 pread(21, "\0\0\0\0\1\0\0\0\2\0\0\0\0\0\0\0\3\0\0\0\1\0\346\17\0\7"...,
4096, 8192) = 4096
14847 pread(21, "\0\0\0\0\1\0\0\0\3\0\0\0\2\0\0\0\0\0\0\0\1\0\"\0\0\7\0"...,
4096, 12288) = 4096
14847 write(2, "<= key_change 0\n", 16) = 16
14847 sched_yield()                     = 0
14847 pwrite(21, "\0\0\0\0\1\0\0\0\0\0\0\0b1\5\0\t\0\0\0\0\20\0\0\0\t\0\0"...,
4096, 0) = 4096
14847 pwrite(21, "\0\0\0\0\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\26\0\214\v\1\5"...,
4096, 4096) = 4096
14847 pwrite(21, "\0\0\0\0\1\0\0\0\2\0\0\0\3\0\0\0\0\0\0\0\1\0\"\0\0\7\0"...,
4096, 8192) = 4096
14847 pwrite(21, "\0\0\0\0\1\0\0\0\3\0\0\0\0\0\0\0\2\0\0\0\1\0\346\17\0\7"...,
4096, 12288) = 4096
14847 fsync(21)                         = 0
14847 write(2, "<= index_entry_add( 1003, \"uid=r"..., 99) = 99
14847 write(2, "=> dn2id_add( \"uid=rosicka,ou=ol"..., 85) = 85
14847 write(2, "=> ldbm_cache_open( \"dn2id.dbb\","..., 43) = 43
14847 write(2, "<= ldbm_cache_open (cache 0)\n", 29) = 29
14847 pread(11, "\0\0\0\0\1\0\0\0000\0\0\0007\0\0\0@\0\0\0:\0\270\7\1\5"...,
4096, 196608) = 4096
14847 pread(11, "\0\0\0\0\1\0\0\0>\0\0\0$\0\0\0-\0\0\0>\0\344\5\1\5\324"...,
4096, 253952) = 4096
14847 pread(11, "\0\0\0\0\1\0\0\0004\0\0\0\0\0\0\0\0\0\0\0\1\0\10\10\0\7"...,
4096, 212992) = 4096
14847 pread(11, "\0\0\0\0\1\0\0\0\0\0\0\0b1\5\0\10\0\0\0\0\20\0\0\0\t\0"...,
4096, 0) = 4096
14847 pread(11, "\0\0\0\0\1\0\0\0&\0\0\0\0\0\0\0\0\0\0\0\1\0\10\10\0\7\0"...,
4096, 155648) = 4096
14847 pwrite(11, "\0\0\0\0\1\0\0\0\0\0\0\0b1\5\0\10\0\0\0\0\20\0\0\0\t\0"...,
4096, 0) = 4096
14847 pwrite(11, "\0\0\0\0\1\0\0\0\2\0\0\0\0\0\0\0 \0\0\0F\0P\3\1\5\364\17"...,
4096, 8192) = 4096
14847 pwrite(11, "\0\0\0\0\1\0\0\0&\0\0\0\0\0\0\0\0\0\0\0\1\0\10\10\0\7\0"...,
4096, 155648) = 4096
14847 pwrite(11, "\0\0\0\0\1\0\0\0000\0\0\0007\0\0\0@\0\0\0<\0d\7\1\5\304"...,
4096, 196608) = 4096
14847 pwrite(11, "\0\0\0\0\1\0\0\0004\0\0\0\0\0\0\0\0\0\0\0\1\0\10\10\0\7"...,
4096, 212992) = 4096
14847 pwrite(11, "\0\0\0\0\1\0\0\0005\0\0\0%\0\0\0*\0\0\0b\0\314\3\1\5\320"...,
4096, 217088) = 4096
14847 pwrite(11, "\0\0\0\0\1\0\0\0>\0\0\0$\0\0\0-\0\0\0>\0\344\5\1\5\324"...,
4096, 253952) = 4096
14847 fsync(11 <unfinished ...>
14845 <... poll resumed> [{fd=8, events=POLLIN}], 1, 2000) = 0
14845 getppid()                         = 14844
14845 poll( <unfinished ...>
14847 <... fsync resumed> )             = 0
14847 write(2, "<= dn2id_add 0\n", 15)  = 15
14847 write(2, "=> id2entry_add( 1003, \"uid=rosi"..., 88) = 88
14847 write(2, "=> ldbm_cache_open( \"id2entry.db"..., 46) = 46
14847 write(2, "<= ldbm_cache_open (cache 1)\n", 29) = 29
14847 pwrite(12, "\0\0\0\0\1\0\0\0~\1\0\0x\1\0\0\20\0\0\0\20\0\270\6\1\5"...,
4096, 1564672) = 4096
14847 fsync(12)                         = 0
14847 write(2, "<= id2entry_add 0\n", 18) = 18
14847 write(2, "send_ldap_result: conn=0 op=8 p="..., 34) = 34
14847 write(2, "send_ldap_result: err=0 matched="..., 43) = 43
14847 write(2, "send_ldap_response: msgid=9 tag="..., 42) = 42
14847 write(2, "ber_flush: 14 bytes to sd 10\n", 29) = 29
14847 write(2, "  0000:  30 0c 02 01 09 69 07 0a"..., 79) = 79
14847 write(10, "0\f\2\1\ti\7\n\1\0\4\0\4\0", 14) = 14
14847 write(2, "ldap_write: want=14, written=14\n", 32) = 32
14847 write(2, "  0000:  30 0c 02 01 09 69 07 0a"..., 79) = 79
14847 time([1077789887])                = 1077789887
14847 getpid()                          = 14847
14847 rt_sigaction(SIGPIPE, {0x40237370, [], SA_RESTORER, 0x40474708},
{SIG_IGN}, 8) = 0
14847 send(3, "<167>Feb 26 11:04:47 slapd[14847"..., 74, 0) = 74
14847 rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) = 0
14847 write(2, "====> cache_return_entry_w( 615 "..., 48) = 48
14847 time(NULL)                        = 1077789887
14847 open("/var/lib/openldap-slurp/replica.log.lock", O_WRONLY|O_CREAT|O_TRUNC,
0666) = 22
14847 fcntl64(22, F_SETLKW, {type=F_WRLCK, whence=SEEK_CUR, start=0, len=0}) =
0
14847 open("/var/lib/openldap-slurp/replica.log", O_WRONLY|O_APPEND|O_CREAT,
0666) = 23
14847 fstat64(23, {st_mode=S_IFREG|0644, st_size=204, ...}) = 0
14847 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x405b0000
14847 fstat64(23, {st_mode=S_IFREG|0644, st_size=204, ...}) = 0
14847 _llseek(23, 204, [204], SEEK_SET) = 0
14847 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
14845 <... poll resumed> [{fd=8, events=POLLIN}], 1, 2000) = -1 EINTR
(Interrupted system call)
14845 --- SIGRT_1 (Unknown signal 33) @ 0 (0) ---
14845 sigreturn()                       = ? (mask now ~[TRAP KILL STOP])
14845 getppid()                         = 14844
14845 waitpid(-1, [WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV], WNOHANG|__WCLONE)
= 14847
14845 modify_ldt(1, {entry_number:3, base_addr:00000000, limit:0, seg_32bit:0,
contents:0, read_exec_only:1, limit_in_pages:0, seg_not_present:1, useable:0},
16) = 0
14845 munmap(0x40968000, 2097152)       = 0
14845 kill(14846, SIGSEGV <unfinished ...>
14846 <... select resumed> )            = ? ERESTARTNOHAND (To be restarted)
14846 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
14845 <... kill resumed> )              = 0
14845 --- SIGRT_1 (Unknown signal 33) @ 0 (0) ---
14845 sigreturn()                       = ? (mask now ~[TRAP KILL STOP])
14845 kill(14844, SIGSEGV)              = 0
14845 _exit(0)                          = ?
14844 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
14844 +++ killed by SIGSEGV +++