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