Hi!
I’m trying to batch-convert an openLDAP 2.4 MMR configuration to an configuration using openLDAP 2.5, also using MMR, but on different hosts (SLES15 SP6 on x86_64).
When my script tried to drop the syncprov overlay, slapmodify dumps core in function slap_tool_update_ctxcsn_check, like this:
kernel: slapmodify[24757]: segfault at 28 ip 000055d656ea7526 sp 00007ffe9e0875f0 error 4 in slapd[55d656dea000+149000] likely on CPU 1 (core 0, socket 2)
kernel: Code: 48 33 0c 25 28 00 00 00 48 c7 c0 ff ff ff ff 0f 85 74 01 00 00 48 83 c4 28 5b 5d 41 5c 41 5d c3 0f 1f 40 00 49 89 fd 48 89 f3 <48> 8b 7e 28 48 8b 35 cf fa 09 00 e8 1a f5 f8 ff 48 85 c0…
Dump of assembler code for function slap_tool_update_ctxcsn_check:
0x000055d656ea74d0 <+0>: push %r13
0x000055d656ea74d2 <+2>: push %r12
0x000055d656ea74d4 <+4>: push %rbp
0x000055d656ea74d5 <+5>: push %rbx
0x000055d656ea74d6 <+6>: sub $0x28,%rsp
0x000055d656ea74da <+10>: mov 0x9fdd3(%rip),%r8d # 0x55d656f472b4 <tool_globals+20>
0x000055d656ea74e1 <+17>: mov %fs:0x28,%rax
0x000055d656ea74ea <+26>: mov %rax,0x18(%rsp)
0x000055d656ea74ef <+31>: xor %eax,%eax
0x000055d656ea74f1 <+33>: test %r8d,%r8d
0x000055d656ea74f4 <+36>: jne 0x55d656ea7520 <slap_tool_update_ctxcsn_check+80>
0x000055d656ea74f6 <+38>: mov 0x18(%rsp),%rcx
0x000055d656ea74fb <+43>: xor %fs:0x28,%rcx
0x000055d656ea7504 <+52>: mov $0xffffffffffffffff,%rax
0x000055d656ea750b <+59>: jne 0x55d656ea7685 <slap_tool_update_ctxcsn_check+437>
0x000055d656ea7511 <+65>: add $0x28,%rsp
0x000055d656ea7515 <+69>: pop %rbx
0x000055d656ea7516 <+70>: pop %rbp
0x000055d656ea7517 <+71>: pop %r12
0x000055d656ea7519 <+73>: pop %r13
0x000055d656ea751b <+75>: ret
0x000055d656ea751c <+76>: nopl 0x0(%rax)
0x000055d656ea7520 <+80>: mov %rdi,%r13
0x000055d656ea7523 <+83>: mov %rsi,%rbx
=> 0x000055d656ea7526 <+86>: mov 0x28(%rsi),%rdi
0x000055d656ea752a <+90>: mov 0x9facf(%rip),%rsi # 0x55d656f47000 <slap_schema+192>
0x000055d656ea7531 <+97>: call 0x55d656e36a50 <attr_find>
…
Slapmodify had been started with “slapmodify -F /etc/openldap/slapd.d -g -n0 -S 5 -w”, and the input was:
dn: olcOverlay= {0}syncprov, olcDatabase={0}config,cn=config
changetype: delete
The version I’m using was provided by SLES support as openldap2_5-2.5.18+31-150500.11.12.1.29527.34.PTF.1239787.x86_64
If I run slapmodify without “-w”, no core dump happens.
Kind regards,
Ulrich Windl