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)
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 +++