https://bugs.kde.org/show_bug.cgi?id=466172

--- Comment #4 from Mike J <do.not.spam.me.kde.bugzi...@gmail.com> ---
It was noted that we have Dynatrace OneAgent installed, which preloads one of
its libraries by adding it to /etc/ld.so.preload. Although originally thought
it might be involved in the problem, we have concluded today that it is not
involved, by doing two valgrind runs with gdb attached on hostname -d, with and
without the preloaded library.

The two run details are shown below with gdb output, in the hope that somebody
can spot something untoward that valgrind may be doing.
In the first run, /etc/ld.so.preload is set up to dynamically link in a
Dynatrace OneAgent library for each program started.
In the second run, /etc/ld.so.preload is renamed and ldconfig run to relink
runtime shared library cache
GDB is attached once valgrind is started.
Breakpoints are set on show_name and getaddrinfo, but stepped through from the
show_name breakpoint to also watch the dynamic linker behaviour in loading the
getaddrinfo call.
The initial step from show_name() to getaddrinfo() call shows dynamic linker
involved in loading call from glibc library.
On first entry into getaddrinfo function, the callstack is OK.
On the next step instruction, the callstack becomes corrupted.
Continuing on leads to a SIGSEGV, rather than a SIGTRAP, which crashes the
program. 
Both runs are identical in outcome.
If the debugger is not attached, a SIGTRAP is instead raised, which crashes the
program.

Lines with @@@@@@@@@@@@@ below are eye catchers for relevant notes

@@@@@@@@@@@@@
First run
@@@@@@@@@@@@@

[auser@hostname ~]$ cat /etc/ld.so.preload
/$LIB/liboneagentproc.so

[auser@hostname ~]$ ldd /usr/bin/hostname
        linux-vdso.so.1 =>  (0x00007ffd02d96000)
        /$LIB/liboneagentproc.so => /lib64/liboneagentproc.so
(0x00002af8ce652000)
        libnsl.so.1 => /usr/lib64/libnsl.so.1 (0x00002af8ce860000)
        libc.so.6 => /usr/lib64/libc.so.6 (0x00002af8cea7a000)
        /lib64/ld-linux-x86-64.so.2 (0x00002af8ce42e000)

Terminal 1
valgrind --trace-signals=yes -v --log-file=valgrind.out.2  --vgdb=full
--vgdb-stop-at=startup hostname -d   
Terminal 2
 cat valgrind.out.2
==77535== Memcheck, a memory error detector
==77535== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==77535== Using Valgrind-3.20.0-5147d671e4-20221024 and LibVEX; rerun with -h
for copyright info
==77535== Command: hostname -d
==77535== Parent PID: 111647
==77535==
--77535--
--77535-- Valgrind options:
--77535--    --trace-signals=yes
--77535--    -v
--77535--    --log-file=valgrind.out.2
--77535--    --vgdb=full
--77535--    --vgdb-stop-at=startup
--77535-- Contents of /proc/version:
--77535--   Linux version 3.10.0-1160.81.1.el7.x86_64
(mockbu...@x86-vm-38.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red
Hat 4.8.5-44) (GCC) ) #1 SMP Thu Nov 24 12:21:22 UTC 2022
--77535--
--77535-- Arch and hwcaps: AMD64, LittleEndian,
amd64-cx16-lzcnt-rdtscp-sse3-ssse3-avx-avx2-bmi-f16c-rdrand
--77535-- Page sizes: currently 4096, max supported 4096
--77535-- Valgrind library directory: /home/auser/local/libexec/valgrind
--77535-- Reading syms from /usr/bin/hostname
--77535--   Considering
/usr/lib/debug/.build-id/93/633698bd11eeb4bee21a388c191a5656990d8e.debug ..
--77535--   .. build-id is valid
--77535-- Reading syms from /usr/lib64/ld-2.17.so
--77535--   Considering
/usr/lib/debug/.build-id/62/c449974331341bb08dcce3859560a22af1e172.debug ..
--77535--   .. build-id is valid
--77535-- Reading syms from
/home/auser/local/libexec/valgrind/memcheck-amd64-linux
--77535--    object doesn't have a dynamic symbol table
--77535-- Scheduler: using generic scheduler lock implementation.
--77535-- Max kernel-supported signal is 64, VG_SIGVGKILL is 64
--77535-- Reading suppressions file:
/home/auser/local/libexec/valgrind/default.supp
==77535== (action at startup) vgdb me ...
==77535== embedded gdbserver: reading from
/tmp/vgdb-pipe-from-vgdb-to-77535-by-auser-on-hostname.localdomain
==77535== embedded gdbserver: writing to  
/tmp/vgdb-pipe-to-vgdb-from-77535-by-auser-on-hostname.localdomain
==77535== embedded gdbserver: shared mem  
/tmp/vgdb-pipe-shared-mem-vgdb-77535-by-auser-on-hostname.localdomain
==77535==
==77535== TO CONTROL THIS PROCESS USING vgdb (which you probably
==77535== don't want to do, unless you know exactly what you're doing,
==77535== or are doing some strange experiment):
==77535==   /home/auser/local/libexec/valgrind/../../bin/vgdb --pid=77535
...command...
==77535==
==77535== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==77535==   /path/to/gdb hostname
==77535== and then give GDB the following command
==77535==   target remote | /home/auser/local/libexec/valgrind/../../bin/vgdb
--pid=77535
==77535== --pid is optional if only one valgrind process is running
==77535==
[auser@hostname ~]$ gdb /usr/bin/hostname
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/hostname...Reading symbols from
/usr/lib/debug/usr/bin/hostname.debug...done.
done.
(gdb) target remote | /home/auser/local/libexec/valgrind/../../bin/vgdb
--pid=77535
Remote debugging using | /home/auser/local/libexec/valgrind/../../bin/vgdb
--pid=77535
relaying data between gdb and process 77535
Reading symbols from /lib64/ld-linux-x86-64.so.2...Reading symbols from
/usr/lib/debug/usr/lib64/ld-2.17.so.debug...done.
done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
0x0000000004001140 in _start () from /lib64/ld-linux-x86-64.so.2
(gdb) break show_name
Breakpoint 1 at 0x401930: file hostname.c, line 256.
(gdb) break getaddrinfo
Breakpoint 2 at 0x401170
(gdb) cont
Continuing.
Missing separate debuginfo for /lib64/liboneagentproc.so
Try: yum --enablerepo='*debug*' install
/usr/lib/debug/.build-id/48/81feaea9f4a359f31684c530503b5c629d53af.debug

Breakpoint 1, show_name (type=type@entry=DNS) at hostname.c:256
256     {
(gdb) n
264             switch(type)
(gdb) n
334                             memset(&hints, 0, sizeof(struct addrinfo));
(gdb) n
335                             hints.ai_socktype = SOCK_DGRAM;
(gdb) n
336                             hints.ai_flags = AI_CANONNAME;
(gdb) n
338                             p = localhost();
(gdb) n
339                             if ((ret = getaddrinfo(p, NULL, &hints, &res))
!= 0)
(gdb) s
_vgr20160ZU_ldZhlinuxZhx86Zh64ZdsoZd2_strcmp (s1=0x40078f "libc.so.6",
s2=0x401cf5a "") at ../shared/vg_replace_strmem.c:941
941      STRCMP(VG_Z_LD_LINUX_X86_64_SO_2, strcmp)
(gdb) finish
Run till exit from #0  _vgr20160ZU_ldZhlinuxZhx86Zh64ZdsoZd2_strcmp
(s1=0x40078f "libc.so.6", s2=0x401cf5a "")
    at ../shared/vg_replace_strmem.c:941
0x0000000004010a15 in _dl_name_match_p (name=0x40078f "libc.so.6",
map=0x4223150) at dl-misc.c:305
305       if (strcmp (name, map->l_name) == 0)
Value returned is $1 = 1
(gdb) finish
Run till exit from #0  0x0000000004010a15 in _dl_name_match_p (name=0x40078f
"libc.so.6", map=0x4223150) at dl-misc.c:305
0x0000000004009826 in do_lookup_x (new_hash=new_hash@entry=2089078220,
old_hash=old_hash@entry=0x1ffefff460,
    result=result@entry=0x1ffefff470, scope=<optimized out>, i=<optimized out>,
i@entry=0, flags=flags@entry=1, skip=skip@entry=0x0,
    undef_map=undef_map@entry=0x4223150) at dl-lookup.c:463
463               && __builtin_expect (_dl_name_match_p (version->filename,
map), 0))
Value returned is $2 = 0
(gdb) finish
Run till exit from #0  0x0000000004009826 in do_lookup_x
(new_hash=new_hash@entry=2089078220, old_hash=old_hash@entry=0x1ffefff460,
    result=result@entry=0x1ffefff470, scope=<optimized out>, i=<optimized out>,
i@entry=0, flags=flags@entry=1, skip=skip@entry=0x0,
    undef_map=undef_map@entry=0x4223150) at dl-lookup.c:463
_dl_lookup_symbol_x (undef_name=0x400820 "getaddrinfo", undef_map=0x4223150,
ref=ref@entry=0x1ffefff528, symbol_scope=0x42234a8,
    version=0x4023030, type_class=type_class@entry=1, flags=1,
skip_map=skip_map@entry=0x0) at dl-lookup.c:742
742           if (res > 0)
Value returned is $3 = 1
(gdb) where
#0  _dl_lookup_symbol_x (undef_name=0x400820 "getaddrinfo",
undef_map=0x4223150, ref=ref@entry=0x1ffefff528, symbol_scope=0x42234a8,
    version=0x4023030, type_class=type_class@entry=1, flags=1,
skip_map=skip_map@entry=0x0) at dl-lookup.c:742
#1  0x000000000400edee in _dl_fixup (l=<optimized out>, reloc_arg=<optimized
out>) at ../elf/dl-runtime.c:111
#2  0x00000000040169ea in _dl_runtime_resolve_xsave () at
../sysdeps/x86_64/dl-trampoline.h:131
#3  0x0000000000401b19 in show_name (type=type@entry=DNS) at hostname.c:339
#4  0x00000000004013e4 in main (argc=2, argv=0x1ffefffb88) at hostname.c:550
(gdb) finish
Run till exit from #0  _dl_lookup_symbol_x (undef_name=0x400820 "getaddrinfo",
undef_map=0x4223150, ref=ref@entry=0x1ffefff528,
    symbol_scope=0x42234a8, version=0x4023030, type_class=type_class@entry=1,
flags=1, skip_map=skip_map@entry=0x0) at dl-lookup.c:742
0x000000000400edee in _dl_fixup (l=<optimized out>, reloc_arg=<optimized out>)
at ../elf/dl-runtime.c:111
111           result = _dl_lookup_symbol_x (strtab + sym->st_name, l, &sym,
l->l_scope,
Value returned is $4 = (struct link_map *) 0x40249a8
(gdb) finish
Run till exit from #0  0x000000000400edee in _dl_fixup (l=<optimized out>,
reloc_arg=<optimized out>) at ../elf/dl-runtime.c:111
_dl_runtime_resolve_xsave () at ../sysdeps/x86_64/dl-trampoline.h:132
132             mov %RAX_LP, %R11_LP    # Save return value
Value returned is $5 = 87340512
(gdb) where
#0  _dl_runtime_resolve_xsave () at ../sysdeps/x86_64/dl-trampoline.h:132
#1  0x0000000000401b19 in show_name (type=type@entry=DNS) at hostname.c:339
#2  0x00000000004013e4 in main (argc=2, argv=0x1ffefffb88) at hostname.c:550
(gdb) finish
Run till exit from #0  _dl_runtime_resolve_xsave () at
../sysdeps/x86_64/dl-trampoline.h:132

Breakpoint 2, __GI_getaddrinfo (name=0x5632040 "hostname.localdomain",
service=service@entry=0x0,
    hints=hints@entry=0x1ffefff920, pai=pai@entry=0x1ffefff918) at
../sysdeps/posix/getaddrinfo.c:2208
2208    {
(gdb) where
#0  __GI_getaddrinfo (name=0x5632040 "hostname.localdomain",
service=service@entry=0x0, hints=hints@entry=0x1ffefff920,
    pai=pai@entry=0x1ffefff918) at ../sysdeps/posix/getaddrinfo.c:2208
#1  0x0000000000401b19 in show_name (type=type@entry=DNS) at hostname.c:339
#2  0x00000000004013e4 in main (argc=2, argv=0x1ffefffb88) at hostname.c:550

@@@@@@@@@@@@@
Call stack becomes scrambled on next step. Only #0 is shown correctly with
where
@@@@@@@@@@@@@
(gdb) s
__GI_getaddrinfo (name=0x5632040 "hostname.localdomain", service=0x0,
hints=0x1ffefff920, pai=0x1ffefff918)
    at ../sysdeps/posix/getaddrinfo.c:2215
2215      if (name != NULL && name[0] == '*' && name[1] == 0)
(gdb) where
#0  __GI_getaddrinfo (name=0x5632040 "hostname.localdomain", service=0x0,
hints=0x1ffefff920, pai=0x1ffefff918)
    at ../sysdeps/posix/getaddrinfo.c:2215
#1  0x0000001ffefffa30 in ?? ()
#2  0x000000000529d226 in __GI_getenv (name=0x1ffefff920 "\002") at getenv.c:35
#3  0x0000000000000000 in ?? ()
(gdb) cont
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x0000001ffefffa30 in ?? ()
(gdb) cont
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb) quit

Terminal 1
Segmentation fault (core dumped)

@@@@@@@@@@@@@
Second run
@@@@@@@@@@@@@
[auser@hostname ~]$ ls -l /etc/ld.so.preload
ls: cannot access /etc/ld.so.preload: No such file or directory

[auser@hostname ~]$ ldd /usr/bin/hostname
        linux-vdso.so.1 =>  (0x00007fffad9b2000)
        libnsl.so.1 => /usr/lib64/libnsl.so.1 (0x00002b3691222000)
        libc.so.6 => /usr/lib64/libc.so.6 (0x00002b369143c000)
        /lib64/ld-linux-x86-64.so.2 (0x00002b3690ffe000)

Terminal 1
[auser@hostname ~]$ valgrind --trace-signals=yes -v --log-file=valgrind.out.3 
--vgdb=full --vgdb-stop-at=startup hostname -d

Terminal 2
[auser@hostname ~]$ cat valgrind.out.3
==92915== Memcheck, a memory error detector
==92915== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==92915== Using Valgrind-3.20.0-5147d671e4-20221024 and LibVEX; rerun with -h
for copyright info
==92915== Command: hostname -d
==92915== Parent PID: 73200
==92915==
--92915--
--92915-- Valgrind options:
--92915--    --trace-signals=yes
--92915--    -v
--92915--    --log-file=valgrind.out.3
--92915--    --vgdb=full
--92915--    --vgdb-stop-at=startup
--92915-- Contents of /proc/version:
--92915--   Linux version 3.10.0-1160.81.1.el7.x86_64
(mockbu...@x86-vm-38.build.eng.bos.redhat.com) (gcc version 4.8.5 20150623 (Red
Hat 4.8.5-44) (GCC) ) #1 SMP Thu Nov 24 12:21:22 UTC 2022
--92915--
--92915-- Arch and hwcaps: AMD64, LittleEndian,
amd64-cx16-lzcnt-rdtscp-sse3-ssse3-avx-avx2-bmi-f16c-rdrand
--92915-- Page sizes: currently 4096, max supported 4096
--92915-- Valgrind library directory: /home/auser/local/libexec/valgrind
--92915-- Reading syms from /usr/bin/hostname
--92915--   Considering
/usr/lib/debug/.build-id/93/633698bd11eeb4bee21a388c191a5656990d8e.debug ..
--92915--   .. build-id is valid
--92915-- Reading syms from /usr/lib64/ld-2.17.so
--92915--   Considering
/usr/lib/debug/.build-id/62/c449974331341bb08dcce3859560a22af1e172.debug ..
--92915--   .. build-id is valid
--92915-- Reading syms from
/home/auser/local/libexec/valgrind/memcheck-amd64-linux
--92915--    object doesn't have a dynamic symbol table
--92915-- Scheduler: using generic scheduler lock implementation.
--92915-- Max kernel-supported signal is 64, VG_SIGVGKILL is 64
--92915-- Reading suppressions file:
/home/auser/local/libexec/valgrind/default.supp
==92915== (action at startup) vgdb me ...
==92915== embedded gdbserver: reading from
/tmp/vgdb-pipe-from-vgdb-to-92915-by-auser-on-hostname.localdomain
==92915== embedded gdbserver: writing to  
/tmp/vgdb-pipe-to-vgdb-from-92915-by-auser-on-hostname.localdomain
==92915== embedded gdbserver: shared mem  
/tmp/vgdb-pipe-shared-mem-vgdb-92915-by-auser-on-hostname.localdomain
==92915==
==92915== TO CONTROL THIS PROCESS USING vgdb (which you probably
==92915== don't want to do, unless you know exactly what you're doing,
==92915== or are doing some strange experiment):
==92915==   /home/auser/local/libexec/valgrind/../../bin/vgdb --pid=92915
...command...
==92915==
==92915== TO DEBUG THIS PROCESS USING GDB: start GDB like this
==92915==   /path/to/gdb hostname
==92915== and then give GDB the following command
==92915==   target remote | /home/auser/local/libexec/valgrind/../../bin/vgdb
--pid=92915
==92915== --pid is optional if only one valgrind process is running
==92915==
[auser@hostname ~]$ gdb /usr/bin/hostname
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-120.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/bin/hostname...Reading symbols from
/usr/lib/debug/usr/bin/hostname.debug...done.
done.
(gdb)  target remote | /home/auser/local/libexec/valgrind/../../bin/vgdb
--pid=92915
Remote debugging using | /home/auser/local/libexec/valgrind/../../bin/vgdb
--pid=92915
relaying data between gdb and process 92915
Reading symbols from /lib64/ld-linux-x86-64.so.2...Reading symbols from
/usr/lib/debug/usr/lib64/ld-2.17.so.debug...done.
done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
0x0000000004001140 in _start () from /lib64/ld-linux-x86-64.so.2
(gdb) break show_name
Breakpoint 1 at 0x401930: file hostname.c, line 256.
(gdb) break getaddrinfo
Breakpoint 2 at 0x401170
(gdb) cont
Continuing.

Breakpoint 1, show_name (type=type@entry=DNS) at hostname.c:256
256     {
(gdb) n
264             switch(type)
(gdb) n
334                             memset(&hints, 0, sizeof(struct addrinfo));
(gdb) n
335                             hints.ai_socktype = SOCK_DGRAM;
(gdb) n
336                             hints.ai_flags = AI_CANONNAME;
(gdb) n
338                             p = localhost();
(gdb) n
339                             if ((ret = getaddrinfo(p, NULL, &hints, &res))
!= 0)
(gdb) s
_vgr20160ZU_ldZhlinuxZhx86Zh64ZdsoZd2_strcmp (s1=0x40078f "libc.so.6",
s2=0x401cf5a "") at ../shared/vg_replace_strmem.c:941
941      STRCMP(VG_Z_LD_LINUX_X86_64_SO_2, strcmp)
(gdb) where
#0  _vgr20160ZU_ldZhlinuxZhx86Zh64ZdsoZd2_strcmp (s1=0x40078f "libc.so.6",
s2=0x401cf5a "") at ../shared/vg_replace_strmem.c:941
#1  0x0000000004010a15 in _dl_name_match_p (name=0x40078f "libc.so.6",
map=0x4223150) at dl-misc.c:305
#2  0x0000000004009826 in do_lookup_x (new_hash=new_hash@entry=2089078220,
old_hash=old_hash@entry=0x1ffefff4a0,
    result=result@entry=0x1ffefff4b0, scope=<optimized out>, i=<optimized out>,
i@entry=0, flags=flags@entry=1, skip=skip@entry=0x0,
    undef_map=undef_map@entry=0x4223150) at dl-lookup.c:463
#3  0x000000000400a09f in _dl_lookup_symbol_x (undef_name=0x400820
"getaddrinfo", undef_map=0x4223150, ref=ref@entry=0x1ffefff568,
    symbol_scope=0x42234a8, version=0x4034a90, type_class=type_class@entry=1,
flags=1, skip_map=skip_map@entry=0x0) at dl-lookup.c:739
#4  0x000000000400edee in _dl_fixup (l=<optimized out>, reloc_arg=<optimized
out>) at ../elf/dl-runtime.c:111
#5  0x00000000040169ea in _dl_runtime_resolve_xsave () at
../sysdeps/x86_64/dl-trampoline.h:131
#6  0x0000000000401b19 in show_name (type=type@entry=DNS) at hostname.c:339
#7  0x00000000004013e4 in main (argc=2, argv=0x1ffefffbd8) at hostname.c:550
(gdb) finish
Run till exit from #0  _vgr20160ZU_ldZhlinuxZhx86Zh64ZdsoZd2_strcmp
(s1=0x40078f "libc.so.6", s2=0x401cf5a "")
    at ../shared/vg_replace_strmem.c:941
0x0000000004010a15 in _dl_name_match_p (name=0x40078f "libc.so.6",
map=0x4223150) at dl-misc.c:305
305       if (strcmp (name, map->l_name) == 0)
Value returned is $1 = 1
(gdb) finish
Run till exit from #0  0x0000000004010a15 in _dl_name_match_p (name=0x40078f
"libc.so.6", map=0x4223150) at dl-misc.c:305
0x0000000004009826 in do_lookup_x (new_hash=new_hash@entry=2089078220,
old_hash=old_hash@entry=0x1ffefff4a0,
    result=result@entry=0x1ffefff4b0, scope=<optimized out>, i=<optimized out>,
i@entry=0, flags=flags@entry=1, skip=skip@entry=0x0,
    undef_map=undef_map@entry=0x4223150) at dl-lookup.c:463
463               && __builtin_expect (_dl_name_match_p (version->filename,
map), 0))
Value returned is $2 = 0
(gdb) finish
Run till exit from #0  0x0000000004009826 in do_lookup_x
(new_hash=new_hash@entry=2089078220, old_hash=old_hash@entry=0x1ffefff4a0,
    result=result@entry=0x1ffefff4b0, scope=<optimized out>, i=<optimized out>,
i@entry=0, flags=flags@entry=1, skip=skip@entry=0x0,
    undef_map=undef_map@entry=0x4223150) at dl-lookup.c:463
_dl_lookup_symbol_x (undef_name=0x400820 "getaddrinfo", undef_map=0x4223150,
ref=ref@entry=0x1ffefff568, symbol_scope=0x42234a8,
    version=0x4034a90, type_class=type_class@entry=1, flags=1,
skip_map=skip_map@entry=0x0) at dl-lookup.c:742
742           if (res > 0)
Value returned is $3 = 1
(gdb) finish
Run till exit from #0  _dl_lookup_symbol_x (undef_name=0x400820 "getaddrinfo",
undef_map=0x4223150, ref=ref@entry=0x1ffefff568,
    symbol_scope=0x42234a8, version=0x4034a90, type_class=type_class@entry=1,
flags=1, skip_map=skip_map@entry=0x0) at dl-lookup.c:742
0x000000000400edee in _dl_fixup (l=<optimized out>, reloc_arg=<optimized out>)
at ../elf/dl-runtime.c:111
111           result = _dl_lookup_symbol_x (strtab + sym->st_name, l, &sym,
l->l_scope,
Value returned is $4 = (struct link_map *) 0x40344c8
(gdb) finish
Run till exit from #0  0x000000000400edee in _dl_fixup (l=<optimized out>,
reloc_arg=<optimized out>) at ../elf/dl-runtime.c:111
_dl_runtime_resolve_xsave () at ../sysdeps/x86_64/dl-trampoline.h:132
132             mov %RAX_LP, %R11_LP    # Save return value
Value returned is $5 = 85186016
(gdb) finish
Run till exit from #0  _dl_runtime_resolve_xsave () at
../sysdeps/x86_64/dl-trampoline.h:132

Breakpoint 2, __GI_getaddrinfo (name=0x5424040 "hostname.localdomain",
service=service@entry=0x0,
    hints=hints@entry=0x1ffefff970, pai=pai@entry=0x1ffefff968) at
../sysdeps/posix/getaddrinfo.c:2208
2208    {
(gdb) where
#0  __GI_getaddrinfo (name=0x5424040 "hostname.localdomain",
service=service@entry=0x0, hints=hints@entry=0x1ffefff970,
    pai=pai@entry=0x1ffefff968) at ../sysdeps/posix/getaddrinfo.c:2208
#1  0x0000000000401b19 in show_name (type=type@entry=DNS) at hostname.c:339
#2  0x00000000004013e4 in main (argc=2, argv=0x1ffefffbd8) at hostname.c:550

@@@@@@@@@@@@@
Call stack becomes scrambled on next step. Only #0 is shown correctly with
where
@@@@@@@@@@@@@
(gdb) s
__GI_getaddrinfo (name=0x5424040 "hostname.localdomain", service=0x0,
hints=0x1ffefff970, pai=0x1ffefff968)
    at ../sysdeps/posix/getaddrinfo.c:2215
2215      if (name != NULL && name[0] == '*' && name[1] == 0)
(gdb) where
#0  __GI_getaddrinfo (name=0x5424040 "hostname.localdomain", service=0x0,
hints=0x1ffefff970, pai=0x1ffefff968)
    at ../sysdeps/posix/getaddrinfo.c:2215
#1  0x0000001ffefffa80 in ?? ()
#2  0x000000000508f226 in __GI_getenv (name=0x1ffefff970 "\002") at getenv.c:35
#3  0x0000000000000000 in ?? ()
(gdb) cont
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x0000001ffefffa80 in ?? ()
(gdb) cont
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
(gdb) quit
[auser@hostname ~]$

Terminal 1
Segmentation fault (core dumped)

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to