Here we go: (gdb) frame 2 #2 0x00001fe05dc02bfb in change (auth_context=0x1fe261682080, admin_principal=0x1fe318614860, version=65408, s=8, sa=0x7f7ffffe0968, sa_size=16, in_data=0x7f7ffffe0310) at kpasswdd.c:410 410 ret = kadm5_s_chpass_principal_cond (kadm5_handle, principal, 1, tmp); (gdb) p kadm5_handle $1 = (void *) 0x0 (gdb) p principal->name.name_string.val[0] $2 = 0x1fe312b39eb0 "vaxxxxx" (gdb) p principal->name.name_string.val[1] $3 = 0x0 (gdb) p admin_principal->name.name_string[0] Structure has no component named operator[]. (gdb) p admin_principal->name.name_string[1] Structure has no component named operator[]. (gdb) p pwd_data->length $4 = 16 (gdb) p context[0] Cannot perform pointer math on incomplete type "krb5_context_data", try casting to a known type, or void *.
On Sun, 2018-08-05 at 12:11 -0400, Viktor Dukhovni wrote: > On Aug 5, 2018, at 5:20 AM, ASV <[email protected]> wrote: > > > > Good morning, > > this looks more exhaustive to me. :) > > You have debugging symbols in the "kpasswdd" executable, but NOT in > the > libkadm5srv.so library. Please also install the re-compiled library > and > rerun the test, but first: > > > (gdb) bt > > #0 0x00001fe263d185d6 in change () from > > /usr/local/heimdal/lib/libkadm5srv.so.3.0 > > #1 0x00001fe263d1855f in kadm5_s_chpass_principal_cond () from > > /usr/local/heimdal/lib/libkadm5srv.so.3.0 > > [ No symbols in frames 0 and 1 ] > > > #2 0x00001fe05dc02bfb in change (auth_context=0x1fe261682080, > > admin_principal=0x1fe318614860, version=65408, s=8, > > sa=0x7f7ffffe0968, sa_size=16, in_data=0x7f7ffffe0310) at > > kpasswdd.c:410 > > This is the call to kadm5_s_chpass_principal_cond in kpasswdd.c: > > 410 ret = kadm5_s_chpass_principal_cond (kadm5_handle, > principal, 1, tmp); > > It would already be useful to see the value of "kadm5_handle". You > can report the > output of: > > (gdb) frame 2 > (gdb) p kadm5_handle > (gdb) p principal->name.name_string.val[0] > (gdb) p principal->name.name_string.val[1] > (gdb) p admin_principal->name.name_string[0] > (gdb) p admin_principal->name.name_string[1] > (gdb) p pwd_data->length > (gdb) p context[0] > > If this proves insufficient, we'll need the debugging symbols for > library, > but it is possible that symbols in the library will not be needed. > > > #3 0x00001fe05dc01b89 in process (keytab=0x1fe27c7a0c00, s=8, > > this_addr=0x1fe261684330, sa=0x7f7ffffe0968, sa_size=16, > > msg=0x7f7ffffe0460 "\002\200\002\bn\202\002\0040\202\002", len=676) > > at kpasswdd.c:633 > > #4 0x00001fe05dc017d9 in doit (keytab=0x1fe27c7a0c00, port=53249) > > at kpasswdd.c:767 > > #5 0x00001fe05dc01073 in main (argc=1, argv=0x7f7ffffe0c08) at > > kpasswdd.c:906 > > (gdb) x/i $pc > > 0x1fe263d185d6 <change+102>: cmpl $0x0,0xc8(%r14) > > (gdb) i reg > > rax 0xb216510a6421fab2 -5614210780399273294 > > rbx 0x1 1 > > rcx 0x0 0 > > rdx 0x1 1 > > rsi 0x1fe318612740 35060227057472 > > rdi 0x0 0 > > rbp 0x7f7ffffe0050 0x7f7ffffe0050 > > rsp 0x7f7ffffdff40 0x7f7ffffdff40 > > r8 0x0 0 > > r9 0x1fe2b9c4c5d0 35058639750608 > > r10 0x1fe2d5235b30 35059098934064 > > r11 0x0 0 > > r12 0x1fe318612740 35060227057472 > > r13 0x0 0 > > r14 0x0 0 > > r15 0x1fe2b9c4c5d0 35058639750608 > > rip 0x1fe263d185d6 0x1fe263d185d6 <change+102> > > eflags 0x10202 66050 > > cs 0x2b 43 > > ss 0x23 35 > > ds 0x23 35 > > es 0x23 35 > > fs 0x23 35 > > gs 0x23 35 > > > > > > > > On Sat, 2018-08-04 at 15:44 -0400, Viktor Dukhovni wrote: > > > > On Aug 4, 2018, at 3:28 PM, ASV <[email protected]> wrote: > > > > > > > > I think that I finally got it, did I? > > > > > > Still no symbols, but yes, you got the instruction decode. > > > > > > > Program received signal SIGSEGV, Segmentation fault. > > > > 0x000007fe9c69d5d6 in change () from > > > > /usr/local/heimdal/lib/libkadm5srv.so.3.0 > > > > Current language: auto; currently minimal > > > > (gdb) bt > > > > #0 0x000007fe9c69d5d6 in change () from > > > > /usr/local/heimdal/lib/libkadm5srv.so.3.0 > > > > #1 0x000007fe9c69d55f in kadm5_s_chpass_principal_cond () from > > > > /usr/local/heimdal/lib/libkadm5srv.so.3.0 > > > > #2 0x000007fbfc702bfb in ?? () from > > > > /usr/local/heimdal/libexec/kpasswdd > > > > #3 0x000007fbfc701b89 in ?? () from > > > > /usr/local/heimdal/libexec/kpasswdd > > > > #4 0x000007fbfc7017d9 in ?? () from > > > > /usr/local/heimdal/libexec/kpasswdd > > > > #5 0x000007fbfc701073 in ?? () from > > > > /usr/local/heimdal/libexec/kpasswdd > > > > #6 0x000007fbfc7009a6 in ?? () from > > > > /usr/local/heimdal/libexec/kpasswdd > > > > #7 0x0000000000000000 in ?? () > > > > (gdb) x/i > > > > $pc > > > > > > > > > > > > 0x7fe9c69d5d6 <change+102>: cmpl $0x0,0xc8(%r14) > > > > (gdb) x/40i $pc-102 > > > > 0x7fe9c69d570 <change>: push %rbp > > > > 0x7fe9c69d571 <change+1>: mov %rsp,%rbp > > > > 0x7fe9c69d574 <change+4>: push %r15 > > > > 0x7fe9c69d576 <change+6>: push %r14 > > > > 0x7fe9c69d578 <change+8>: push %r13 > > > > 0x7fe9c69d57a <change+10>: push %r12 > > > > 0x7fe9c69d57c <change+12>: push %rbx > > > > 0x7fe9c69d57d <change+13>: sub $0xe8,%rsp > > > > 0x7fe9c69d584 <change+20>: mov %r9,%r15 > > > > 0x7fe9c69d587 <change+23>: mov %r8,%r13 > > > > 0x7fe9c69d58a > > > > <change+26>: mov %ecx,0xffffffffffffff04(%rbp) > > > > 0x7fe9c69d590 <change+32>: mov %edx,%ebx > > > > 0x7fe9c69d592 <change+34>: mov %rsi,%r12 > > > > 0x7fe9c69d595 <change+37>: mov %rdi,%r14 > > > > 0x7fe9c69d598 > > > > <change+40>: mov 2174785(%rip),%rax # > > > > 0x7fe9c8b04e0 <__guard_local> > > > > 0x7fe9c69d59f > > > > <change+47>: mov %rax,0xffffffffffffffd0(%rbp) > > > > 0x7fe9c69d5a3 <change+51>: xorps %xmm0,%xmm0 > > > > 0x7fe9c69d5a6 <change+54>: movaps > > > > %xmm0,0xffffffffffffffc0(%rbp) > > > > 0x7fe9c69d5aa <change+58>: movaps > > > > %xmm0,0xffffffffffffffb0(%rbp) > > > > 0x7fe9c69d5ae <change+62>: movaps > > > > %xmm0,0xffffffffffffffa0(%rbp) > > > > 0x7fe9c69d5b2 <change+66>: movaps > > > > %xmm0,0xffffffffffffff90(%rbp) > > > > 0x7fe9c69d5b6 <change+70>: movaps > > > > %xmm0,0xffffffffffffff80(%rbp) > > > > 0x7fe9c69d5ba <change+74>: movaps > > > > %xmm0,0xffffffffffffff70(%rbp) > > > > 0x7fe9c69d5c1 <change+81>: movaps > > > > %xmm0,0xffffffffffffff60(%rbp) > > > > 0x7fe9c69d5c8 <change+88>: movaps > > > > %xmm0,0xffffffffffffff50(%rbp) > > > > 0x7fe9c69d5cf <change+95>: movaps > > > > %xmm0,0xffffffffffffff40(%rbp) > > > > 0x7fe9c69d5d6 <change+102>: cmpl $0x0,0xc8(%r14) > > > > > > This is confirms the guess, the kadm5 handle is NULL. We now > > > need > > > debugging > > > symbols. > > > > >
