Running `tldd` also getting `error executing child process: map.at`

Jonathan,

I saw that this issue had been open for quite a long time, so I thought you may have abandoned the project. I was getting the exact same error as issue #2 (closed)

#2 (closed)

First I cloned pstreams per your README

❯ git clone git://git.code.sf.net/p/pstreams/code pstreams

~/SourceInstall/pstreams master                                        19:20:03
❯ make
g++ -pedantic -Wall -Wextra -Wpointer-arith -Wcast-qual -Wcast-align -Wredundant-decls -Wshadow -O1 -g3 -std=c++98 -Woverloaded-virtual   -o test_pstreams test_pstreams.cc
g++ -pedantic -Wall -Wextra -Wpointer-arith -Wcast-qual -Wcast-align -Wredundant-decls -Wshadow -O1 -g3 -std=c++98 -Woverloaded-virtual   -o test_minimum test_minimum.cc

~/SourceInstall/pstreams master                                        19:20:06
❯ sudo make install   
'pstream.h' -> '/usr/local/include/pstreams/pstream.h'

Then I build tldd:

~/SourceInstall/tldd master                                            19:19:46
❯ make
g++ -std=c++11 -O    tldd.cc   -o tldd

And then I tried executing ./tldd, but it fails...

~/SourceInstall/tldd master                                            19:21:37
❯ ./tldd /bin/bash   
./tldd: error executing child process: map::at

~/SourceInstall/tldd master                                            19:21:42
❯ sudo ./tldd /bin/bash   
./tldd: error executing child process: map::at

I ran it through strace to see if that provides any other clues.

I suspect something in the interface with pstreams has changed, but that's just a guess.

execve("./tldd", ["./tldd", "/bin/bash"], 0x7fff76ea2088 /* 107 vars */) = 0
brk(NULL)                               = 0x562ec9aa2000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=94800, ...}) = 0
mmap(NULL, 94800, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fa72036d000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\20\n\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2511344, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa72036b000
mmap(NULL, 2526912, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa720000000
mprotect(0x7fa72009d000, 1798144, PROT_NONE) = 0
mmap(0x7fa72009d000, 1122304, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9d000) = 0x7fa72009d000
mmap(0x7fa7201af000, 671744, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1af000) = 0x7fa7201af000
mmap(0x7fa720254000, 73728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x253000) = 0x7fa720254000
mmap(0x7fa720266000, 11968, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fa720266000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0\362\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=5555640, ...}) = 0
mmap(NULL, 1327128, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa71febb000
mmap(0x7fa71feca000, 634880, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7fa71feca000
mmap(0x7fa71ff65000, 626688, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xaa000) = 0x7fa71ff65000
mmap(0x7fa71fffe000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x142000) = 0x7fa71fffe000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0203\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=100800, ...}) = 0
mmap(NULL, 103496, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa720351000
mmap(0x7fa720354000, 69632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7fa720354000
mmap(0x7fa720365000, 16384, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7fa720365000
mmap(0x7fa720369000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x7fa720369000
close(3)                                = 0
openat(AT_FDCWD, "/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0@\177\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=12976264, ...}) = 0
mmap(NULL, 1856160, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fa71fcf5000
mmap(0x7fa71fd1b000, 1351680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x26000) = 0x7fa71fd1b000
mmap(0x7fa71fe65000, 311296, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x170000) = 0x7fa71fe65000
mmap(0x7fa71feb1000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bb000) = 0x7fa71feb1000
mmap(0x7fa71feb7000, 12960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fa71feb7000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa72034f000
arch_prctl(ARCH_SET_FS, 0x7fa72034ff80) = 0
mprotect(0x7fa71feb1000, 12288, PROT_READ) = 0
mprotect(0x7fa720369000, 4096, PROT_READ) = 0
mprotect(0x7fa71fffe000, 4096, PROT_READ) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa72034d000
mprotect(0x7fa720254000, 53248, PROT_READ) = 0
mprotect(0x562ec8b2a000, 4096, PROT_READ) = 0
mprotect(0x7fa7203af000, 4096, PROT_READ) = 0
munmap(0x7fa72036d000, 94800)           = 0
brk(NULL)                               = 0x562ec9aa2000
brk(0x562ec9ac3000)                     = 0x562ec9ac3000
ioctl(1, TCGETS, 0x7ffd9f9ea790)        = -1 ENOTTY (Inappropriate ioctl for device)
pipe([3, 4])                            = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
pipe([5, 6])                            = 0
pipe([7, 8])                            = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fa720350250) = 10556
close(6)                                = 0
close(8)                                = 0
close(4)                                = 0
read(3, "", 4)                          = 0
close(3)                                = 0
read(5, "\tlinux-vdso.so.1 (0x00007ffd2a", 30) = 30
read(5, "115000)\n\tlibdl.so.2 => /usr/li", 30) = 30
read(5, "b/libdl.so.2 (0x00007f2f7d9ee0", 30) = 30
read(5, "00)\n\tlibc.so.6 => /usr/lib/lib", 30) = 30
read(5, "c.so.6 (0x00007f2f7d828000)\n\t/", 30) = 30
read(5, "lib64/ld-linux-x86-64.so.2 => ", 30) = 30
read(5, "/usr/lib64/ld-linux-x86-64.so.", 30) = 30
read(5, "2 (0x00007f2f7db60000)\n", 30) = 23
read(5, "", 30)                         = 0
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=10556, si_uid=1000, si_status=0, si_utime=0, si_stime=0} ---
wait4(10556, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 10556
pipe([3, 4])                            = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
pipe([6, 8])                            = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fa720350250) = 10561
close(8)                                = 0
close(4)                                = 0
read(3, "", 4)                          = 0
close(3)                                = 0
read(6, "\nDynamic section at offset 0x1", 30) = 30
read(6, "3c5d0 contains 28 entries:\n  T", 30) = 30
read(6, "ag        Type                ", 30) = 30
read(6, "         Name/Value\n 0x0000000", 30) = 30
read(6, "000000001 (NEEDED)            ", 30) = 30
read(6, " Shared library: [libdl.so.2]\n", 30) = 30
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=10561, si_uid=1000, si_status=0, si_utime=0, si_stime=0} ---
read(6, " 0x0000000000000001 (NEEDED)  ", 30) = 30
read(6, "           Shared library: [li", 30) = 30
read(6, "bc.so.6]\n 0x000000000000000c (", 30) = 30
read(6, "INIT)               0x30000\n 0", 30) = 30
read(6, "x000000000000000d (FINI)      ", 30) = 30
read(6, "         0xf70e4\n 0x0000000000", 30) = 30
read(6, "000019 (INIT_ARRAY)         0x", 30) = 30
read(6, "13ab50\n 0x000000000000001b (IN", 30) = 30
read(6, "IT_ARRAYSZ)       8 (bytes)\n 0", 30) = 30
read(6, "x000000000000001a (FINI_ARRAY)", 30) = 30
read(6, "         0x13ab58\n 0x000000000", 30) = 30
read(6, "000001c (FINI_ARRAYSZ)       8", 30) = 30
read(6, " (bytes)\n 0x000000006ffffef5 (", 30) = 30
read(6, "GNU_HASH)           0x308\n 0x0", 30) = 30
read(6, "000000000000005 (STRTAB)      ", 30) = 30
read(6, "       0x14f70\n 0x000000000000", 30) = 30
read(6, "0006 (SYMTAB)             0x51", 30) = 30
read(6, "f0\n 0x000000000000000a (STRSZ)", 30) = 30
read(6, "              42467 (bytes)\n 0", 30) = 30
read(6, "x000000000000000b (SYMENT)    ", 30) = 30
read(6, "         24 (bytes)\n 0x0000000", 30) = 30
read(6, "000000015 (DEBUG)             ", 30) = 30
read(6, " 0x0\n 0x0000000000000003 (PLTG", 30) = 30
read(6, "OT)             0x13d7d0\n 0x00", 30) = 30
read(6, "00000000000002 (PLTRELSZ)     ", 30) = 30
read(6, "      5256 (bytes)\n 0x00000000", 30) = 30
read(6, "00000014 (PLTREL)             ", 30) = 30
read(6, "RELA\n 0x0000000000000017 (JMPR", 30) = 30
read(6, "EL)             0x2e9f8\n 0x000", 30) = 30
read(6, "0000000000007 (RELA)          ", 30) = 30
read(6, "     0x20b38\n 0x00000000000000", 30) = 30
read(6, "08 (RELASZ)             57024 ", 30) = 30
read(6, "(bytes)\n 0x0000000000000009 (R", 30) = 30
read(6, "ELAENT)            24 (bytes)\n", 30) = 30
read(6, " 0x0000000000000018 (BIND_NOW)", 30) = 30
read(6, "           \n 0x000000006ffffff", 30) = 30
read(6, "b (FLAGS_1)            Flags: ", 30) = 30
read(6, "NOW PIE\n 0x000000006ffffffe (V", 30) = 30
read(6, "ERNEED)            0x20a78\n 0x", 30) = 30
read(6, "000000006fffffff (VERNEEDNUM) ", 30) = 30
read(6, "        2\n 0x000000006ffffff0 ", 30) = 30
read(6, "(VERSYM)             0x1f554\n ", 30) = 30
read(6, "0x000000006ffffff9 (RELACOUNT)", 30) = 30
read(6, "          2363\n 0x000000000000", 30) = 30
read(6, "0000 (NULL)               0x0\n", 30) = 30
read(6, "", 30)                         = 0
wait4(10561, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 10561
close(6)                                = 0
pipe([3, 4])                            = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
pipe([6, 8])                            = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fa720350250) = 10562
close(8)                                = 0
close(4)                                = 0
read(3, "", 4)                          = 0
close(3)                                = 0
read(6, "\nDynamic section at offset 0x3", 30) = 30
read(6, "cf0 contains 31 entries:\n  Tag", 30) = 30
read(6, "        Type                  ", 30) = 30
read(6, "       Name/Value\n 0x000000000", 30) = 30
read(6, "0000001 (NEEDED)             S", 30) = 30
read(6, "hared library: [libc.so.6]\n 0x", 30) = 30
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=10562, si_uid=1000, si_status=0, si_utime=0, si_stime=0} ---
read(6, "0000000000000001 (NEEDED)     ", 30) = 30
read(6, "        Shared library: [ld-li", 30) = 30
read(6, "nux-x86-64.so.2]\n 0x0000000000", 30) = 30
read(6, "00000e (SONAME)             Li", 30) = 30
read(6, "brary soname: [libdl.so.2]\n 0x", 30) = 30
read(6, "000000000000000c (INIT)       ", 30) = 30
read(6, "        0x1000\n 0x000000000000", 30) = 30
read(6, "000d (FINI)               0x20", 30) = 30
read(6, "48\n 0x0000000000000019 (INIT_A", 30) = 30
read(6, "RRAY)         0x4cd0\n 0x000000", 30) = 30
read(6, "000000001b (INIT_ARRAYSZ)     ", 30) = 30
read(6, "  16 (bytes)\n 0x00000000000000", 30) = 30
read(6, "1a (FINI_ARRAY)         0x4ce0", 30) = 30
read(6, "\n 0x000000000000001c (FINI_ARR", 30) = 30
read(6, "AYSZ)       16 (bytes)\n 0x0000", 30) = 30
read(6, "000000000004 (HASH)           ", 30) = 30
read(6, "    0x280\n 0x000000006ffffef5 ", 30) = 30
read(6, "(GNU_HASH)           0x438\n 0x", 30) = 30
read(6, "0000000000000005 (STRTAB)     ", 30) = 30
read(6, "        0x908\n 0x0000000000000", 30) = 30
read(6, "006 (SYMTAB)             0x500", 30) = 30
read(6, "\n 0x000000000000000a (STRSZ)  ", 30) = 30
read(6, "            569 (bytes)\n 0x000", 30) = 30
read(6, "000000000000b (SYMENT)        ", 30) = 30
read(6, "     24 (bytes)\n 0x00000000000", 30) = 30
read(6, "00003 (PLTGOT)             0x4", 30) = 30
read(6, "f20\n 0x0000000000000002 (PLTRE", 30) = 30
read(6, "LSZ)           312 (bytes)\n 0x", 30) = 30
read(6, "0000000000000014 (PLTREL)     ", 30) = 30
read(6, "        RELA\n 0x00000000000000", 30) = 30
read(6, "17 (JMPREL)             0xe38\n", 30) = 30
read(6, " 0x0000000000000007 (RELA)    ", 30) = 30
read(6, "           0xca0\n 0x0000000000", 30) = 30
read(6, "000008 (RELASZ)             40", 30) = 30
read(6, "8 (bytes)\n 0x0000000000000009 ", 30) = 30
read(6, "(RELAENT)            24 (bytes", 30) = 30
read(6, ")\n 0x000000006ffffffc (VERDEF)", 30) = 30
read(6, "             0xb98\n 0x00000000", 30) = 30
read(6, "6ffffffd (VERDEFNUM)          ", 30) = 30
read(6, "5\n 0x0000000000000018 (BIND_NO", 30) = 30
read(6, "W)           \n 0x000000006ffff", 30) = 30
read(6, "ffb (FLAGS_1)            Flags", 30) = 30
read(6, ": NOW\n 0x000000006ffffffe (VER", 30) = 30
read(6, "NEED)            0xc40\n 0x0000", 30) = 30
read(6, "00006fffffff (VERNEEDNUM)     ", 30) = 30
read(6, "    2\n 0x000000006ffffff0 (VER", 30) = 30
read(6, "SYM)             0xb42\n 0x0000", 30) = 30
read(6, "00006ffffff9 (RELACOUNT)      ", 30) = 30
read(6, "    5\n 0x0000000000000000 (NUL", 30) = 30
read(6, "L)               0x0\n", 30)   = 21
read(6, "", 30)                         = 0
wait4(10562, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 10562
close(6)                                = 0
pipe([3, 4])                            = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
pipe([6, 8])                            = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7fa720350250) = 10563
close(8)                                = 0
close(4)                                = 0
read(3, "", 4)                          = 0
close(3)                                = 0
read(6, "\nDynamic section at offset 0x1", 30) = 30
read(6, "bd9c0 contains 26 entries:\n  T", 30) = 30
read(6, "ag        Type                ", 30) = 30
read(6, "         Name/Value\n 0x0000000", 30) = 30
read(6, "000000001 (NEEDED)            ", 30) = 30
read(6, " Shared library: [ld-linux-x86", 30) = 30
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=10563, si_uid=1000, si_status=0, si_utime=0, si_stime=0} ---
read(6, "-64.so.2]\n 0x000000000000000e ", 30) = 30
read(6, "(SONAME)             Library s", 30) = 30
read(6, "oname: [libc.so.6]\n 0x00000000", 30) = 30
read(6, "00000019 (INIT_ARRAY)         ", 30) = 30
read(6, "0x1bc428\n 0x000000000000001b (", 30) = 30
read(6, "INIT_ARRAYSZ)       24 (bytes)", 30) = 30
read(6, "\n 0x0000000000000004 (HASH)   ", 30) = 30
read(6, "            0x328\n 0x000000006", 30) = 30
read(6, "ffffef5 (GNU_HASH)           0", 30) = 30
read(6, "x38a0\n 0x0000000000000005 (STR", 30) = 30
read(6, "TAB)             0x15718\n 0x00", 30) = 30
read(6, "00000000000006 (SYMTAB)       ", 30) = 30
read(6, "      0x75d0\n 0x00000000000000", 30) = 30
read(6, "0a (STRSZ)              25245 ", 30) = 30
read(6, "(bytes)\n 0x000000000000000b (S", 30) = 30
read(6, "YMENT)             24 (bytes)\n", 30) = 30
read(6, " 0x0000000000000003 (PLTGOT)  ", 30) = 30
read(6, "           0x1beba0\n 0x0000000", 30) = 30
read(6, "000000002 (PLTRELSZ)          ", 30) = 30
read(6, " 1152 (bytes)\n 0x0000000000000", 30) = 30
read(6, "014 (PLTREL)             RELA\n", 30) = 30
read(6, " 0x0000000000000017 (JMPREL)  ", 30) = 30
read(6, "           0x24bf8\n 0x00000000", 30) = 30
read(6, "00000007 (RELA)               ", 30) = 30
read(6, "0x1d158\n 0x0000000000000008 (R", 30) = 30
read(6, "ELASZ)             31392 (byte", 30) = 30
read(6, "s)\n 0x0000000000000009 (RELAEN", 30) = 30
read(6, "T)            24 (bytes)\n 0x00", 30) = 30
read(6, "0000006ffffffc (VERDEF)       ", 30) = 30
read(6, "      0x1cc80\n 0x000000006ffff", 30) = 30
read(6, "ffd (VERDEFNUM)          33\n 0", 30) = 30
read(6, "x000000000000001e (FLAGS)     ", 30) = 30
read(6, "         BIND_NOW STATIC_TLS\n ", 30) = 30
read(6, "0x000000006ffffffb (FLAGS_1)  ", 30) = 30
read(6, "          Flags: NOW\n 0x000000", 30) = 30
read(6, "006ffffffe (VERNEED)          ", 30) = 30
read(6, "  0x1d118\n 0x000000006fffffff ", 30) = 30
read(6, "(VERNEEDNUM)         1\n 0x0000", 30) = 30
read(6, "00006ffffff0 (VERSYM)         ", 30) = 30
read(6, "    0x1b9b6\n 0x000000006ffffff", 30) = 30
read(6, "9 (RELACOUNT)          1213\n 0", 30) = 30
read(6, "x0000000000000000 (NULL)      ", 30) = 30
read(6, "         0x0\n", 30)           = 13
read(6, "", 30)                         = 0
wait4(10563, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 10563
close(6)                                = 0
write(2, "./tldd", 6./tldd)                   = 6
write(2, ": error executing child process:"..., 33: error executing child process: ) = 33
write(2, "map::at", 7map::at)                  = 7
write(2, "\n", 1
)                       = 1
close(5)                                = 0
close(7)                                = 0
exit_group(1)                           = ?
+++ exited with 1 +++