dump_sys crashes on crosscompile with "terminating with uncaught exception of type std::out_of_range vector"
Categories
(SeaMonkey :: Build Config, defect)
Tracking
(Not tracked)
People
(Reporter: ewong, Unassigned)
Details
Currently MacOSX crosscompile buildsymbols seems to be missing the generation of the XUL symbols.
Even after a 'successful' generation of symbols, the XUL symbol dSYM tarball and .sym file were missing in the <objdir>/dist/crashreporter-symbols.
After much trial and error, it seems as if the symbolstore.py seems to be 'eating' up the
terminating error.
Particularly: https://hg.mozilla.org/mozilla-central/file/tip/toolkit/crashreporter/tools/symbolstore.py#l580
proc = subprocess.Popen(
cmd,
universal_newlines=True,
stdout=subprocess.PIPE,
)
As the <objdir>/dist/host/bin/dump_sys was built using the $CROSSCOMPILE$/macos/clang/lib path, I tried the following manual run:
$ LD_LIBRARY_PATH=/data/crosscompile/macos/clang/lib /data/tmp/build/build/macosx/llvm-dsymutil --arch=x86_64 /data/tmp/obj-mac/toolkit/library/XUL
$ LD_LIBRARY_PATH=/data/crosscompile/macos/clang/lib /data/tmp/obj-mac/dist/host/bin/dump_syms -g /data/tmp/obj-mac/toolkit/library/XUL.dSYM /data/tmp/obj-mac/toolkit/library/XUL
terminating with uncaught exception of type std::out_of_range: vector
Aborted
At this point, I'm somewhat stumped as to what the issue is. Since dump_syms worked on the other files [certutil et. al], I'm guessing that something is funky with the
creating of objdir/toolkit/library/XUL.
Filing this bug for reference.
| Reporter | ||
Comment 1•3 years ago
|
||
Here's an strace, fwiw:
execve("/data/tmp/obj-mac/dist/host/bin/dump_syms", ["/data/tmp/obj-mac/dist/host/bin/"..., "-a", "x86_64", "-g", "/data/tmp/obj-mac/toolkit/librar"..., "/data/tmp/obj-mac/toolkit/librar"...], [/* 29 vars /]) = 0
brk(NULL) = 0x1efb000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f208d22d000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/data/crosscompile/macos/clang/lib/tls/x86_64/libc++.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/data/crosscompile/macos/clang/lib/tls/x86_64", 0x7ffede3c4240) = -1 ENOENT (No such file or directory)
open("/data/crosscompile/macos/clang/lib/tls/libc++.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/data/crosscompile/macos/clang/lib/tls", 0x7ffede3c4240) = -1 ENOENT (No such file or directory)
open("/data/crosscompile/macos/clang/lib/x86_64/libc++.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/data/crosscompile/macos/clang/lib/x86_64", 0x7ffede3c4240) = -1 ENOENT (No such file or directory)
open("/data/crosscompile/macos/clang/lib/libc++.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\220\252\3\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=1021624, ...}) = 0
mmap(NULL, 820200, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f208d164000
mprotect(0x7f208d19e000, 548864, PROT_NONE) = 0
mmap(0x7f208d19e000, 425984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3a000) = 0x7f208d19e000
mmap(0x7f208d206000, 118784, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa2000) = 0x7f208d206000
mmap(0x7f208d224000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xbf000) = 0x7f208d224000
mmap(0x7f208d22a000, 9192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f208d22a000
close(3) = 0
open("/data/crosscompile/macos/clang/lib/libc++abi.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\240\362\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=309688, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f208d163000
mmap(NULL, 242744, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f208d127000
mmap(0x7f208d136000, 126976, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x7f208d136000
mmap(0x7f208d155000, 36864, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2e000) = 0x7f208d155000
mmap(0x7f208d15e000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x36000) = 0x7f208d15e000
close(3) = 0
open("/data/crosscompile/macos/clang/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=92584, ...}) = 0
mmap(NULL, 92584, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f208d110000
close(3) = 0
open("/lib64/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\20S\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1137024, ...}) = 0
mmap(NULL, 3150120, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f208cd0b000
mprotect(0x7f208ce0c000, 2093056, PROT_NONE) = 0
mmap(0x7f208d00b000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x100000) = 0x7f208d00b000
close(3) = 0
open("/data/crosscompile/macos/clang/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\3202\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=756136, ...}) = 0
mmap(NULL, 99376, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f208d0f7000
mmap(0x7f208d0fa000, 69632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x7f208d0fa000
mmap(0x7f208d10b000, 12288, PROT_READ, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14000) = 0x7f208d10b000
mmap(0x7f208d10e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7f208d10e000
close(3) = 0
open("/data/crosscompile/macos/clang/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/libpthread.so.0", 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@m\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=142232, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f208d0f6000
mmap(NULL, 2208904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f208caef000
mprotect(0x7f208cb06000, 2093056, PROT_NONE) = 0
mmap(0x7f208cd05000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0x7f208cd05000
mmap(0x7f208cd07000, 13448, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f208cd07000
close(3) = 0
open("/data/crosscompile/macos/clang/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/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\20&\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=2156160, ...}) = 0
mmap(NULL, 3985888, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f208c721000
mprotect(0x7f208c8e4000, 2097152, PROT_NONE) = 0
mmap(0x7f208cae4000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c3000) = 0x7f208cae4000
mmap(0x7f208caea000, 16864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f208caea000
close(3) = 0
open("/data/crosscompile/macos/clang/lib/../lib/tls/x86_64/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/data/crosscompile/macos/clang/lib/../lib/tls/x86_64", 0x7ffede3c3fe0) = -1 ENOENT (No such file or directory)
open("/data/crosscompile/macos/clang/lib/../lib/tls/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/data/crosscompile/macos/clang/lib/../lib/tls", 0x7ffede3c3fe0) = -1 ENOENT (No such file or directory)
open("/data/crosscompile/macos/clang/lib/../lib/x86_64/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/data/crosscompile/macos/clang/lib/../lib/x86_64", 0x7ffede3c3fe0) = -1 ENOENT (No such file or directory)
open("/data/crosscompile/macos/clang/lib/../lib/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/data/crosscompile/macos/clang/lib/../lib", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
open("/data/crosscompile/macos/clang/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib64/librt.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\340!\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=43776, ...}) = 0
mmap(NULL, 2128920, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f208c519000
mprotect(0x7f208c520000, 2093056, PROT_NONE) = 0
mmap(0x7f208c71f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x7f208c71f000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f208d0f5000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f208d0f4000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f208d0f2000
arch_prctl(ARCH_SET_FS, 0x7f208d0f2740) = 0
mprotect(0x7f208cae4000, 16384, PROT_READ) = 0
mprotect(0x7f208cd05000, 4096, PROT_READ) = 0
mprotect(0x7f208c71f000, 4096, PROT_READ) = 0
mprotect(0x7f208d10e000, 4096, PROT_READ) = 0
mprotect(0x7f208d00b000, 4096, PROT_READ) = 0
mprotect(0x7f208d15e000, 16384, PROT_READ) = 0
mprotect(0x7f208d224000, 20480, PROT_READ) = 0
mprotect(0x63f000, 4096, PROT_READ) = 0
mprotect(0x7f208d22e000, 4096, PROT_READ) = 0
munmap(0x7f208d110000, 92584) = 0
set_tid_address(0x7f208d0f2a10) = 3577
set_robust_list(0x7f208d0f2a20, 24) = 0
rt_sigaction(SIGRTMIN, {0x7f208caf5820, [], SA_RESTORER|SA_SIGINFO, 0x7f208cafe5f0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x7f208caf58b0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x7f208cafe5f0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=81921024, rlim_max=RLIM64_INFINITY}) = 0
gettid() = 3577
gettid() = 3577
gettid() = 3577
brk(NULL) = 0x1efb000
brk(0x1f1c000) = 0x1f1c000
brk(NULL) = 0x1f1c000
stat("/data/tmp/obj-mac/toolkit/library/XUL.dSYM", {st_mode=S_IFDIR|0775, st_size=22, ...}) = 0
access("/data/tmp/obj-mac/toolkit/library/XUL.dSYM/Contents/Resources/DWARF", F_OK) = 0
openat(AT_FDCWD, "/data/tmp/obj-mac/toolkit/library/XUL.dSYM/Contents/Resources/DWARF", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
getdents(3, /* 3 entries /, 32768) = 72
getdents(3, / 0 entries */, 32768) = 0
close(3) = 0
stat("/data/tmp/obj-mac/toolkit/library/XUL.dSYM/Contents/Resources/DWARF/XUL", {st_mode=S_IFREG|0664, st_size=5982059894, ...}) = 0
open("/data/tmp/obj-mac/toolkit/library/XUL.dSYM/Contents/Resources/DWARF/XUL", O_RDONLY) = 3
mmap(NULL, 5982060544, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1f27c29000
fstat(3, {st_mode=S_IFREG|0664, st_size=5982059894, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f208d126000
read(3, "\317\372\355\376\7\0\0\1\3\0\0\0\n\0\0\0\6\0\0\0\17\0\0\0\0\0\0\0\0\0\0"..., 5982056448) = 2147479552 read(3, "p\376\377\377\377\377\377\377o\376\377\377\377\377\377\377\220\1\0\0\0\0\0\0Q\315\1\0\0\0\0\0"..., 3834576896) = 2147479552 read(3, "\0005\302\4\0\0\0\0\0h\302\4\0\0\0\0\0\1\0^0\303\4\0\0\0\0\0006\303\4\0"..., 1687097344) = 1687097344 read(3, "&QUERY_ENCODE_SET\0&mut TakeWhile"..., 4096) = 3446 close(3) = 0 munmap(0x7f208d126000, 4096) = 0 open("/data/tmp/obj-mac/toolkit/library/XUL.dSYM/Contents/Resources/DWARF/XUL", O_RDONLY) = 3 pread64(3, "\317\372\355\376", 4, 0) = 4 pread64(3, "\317\372\355\376\7\0\0\1\3\0\0\0\n\0\0\0\6\0\0\0\17\0\0\0\0\0\0", 28, 0) = 28
pread64(3, "\317\372\355\376\7\0\0\1\3\0\0\0\n\0\0\0\6\0\0\0`\17\0\0\0\0\0\0\0\0\0\0", 32, 0) = 32
pread64(3, "\33\0\0\0\30\0\0\0", 8, 32) = 8
pread64(3, "\33\0\0\0\30\0\0\0B\240\211\242\257\0206j\274s\5>\305\277hl", 24, 32) = 24
close(3) = 0
brk(NULL) = 0x1f1c000
brk(0x1f3d000) = 0x1f3d000
brk(NULL) = 0x1f3d000
brk(NULL) = 0x1f3d000
brk(0x1f3c000) = 0x1f3c000
brk(NULL) = 0x1f3c000
brk(NULL) = 0x1f3c000
brk(0x1f5d000) = 0x1f5d000
brk(NULL) = 0x1f5d000
brk(NULL) = 0x1f5d000
brk(0x1f5c000) = 0x1f5c000
brk(NULL) = 0x1f5c000
brk(NULL) = 0x1f5c000
brk(0x1f7d000) = 0x1f7d000
brk(NULL) = 0x1f7d000
brk(NULL) = 0x1f7d000
brk(0x1f7c000) = 0x1f7c000
brk(NULL) = 0x1f7c000
brk(NULL) = 0x1f7c000
...
brk(0x5a5b000) = 0x5a5b000
futex(0x7f208d162188, FUTEX_WAKE_PRIVATE, 2147483647) = 0
futex(0x7f208d10f1a0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
write(2, "terminating with uncaught except"..., 69terminating with uncaught exception of type std::out_of_range: vector) = 69
write(2, "\n", 1
) = 1
rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
tgkill(3577, 3577, SIGABRT) = 0
--- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=3577, si_uid=1000} ---
| Reporter | ||
Comment 2•3 years ago
|
||
Apparently, the issue seems to stem from the build/build/macosx/llvm-dsymutil binary. WG9s provided a new set of binaries which I uploaded to the builder and after running "mach buildsymbols", the XUL symbols were generated.
So I believe the llvm-dsymutil generated XUL symbols that dump_syms didn't like. That said, I still don't understand why dump_syms didn't like just only the XUL the in-tree llvm-dsymutil generated. The other files were fine. File size issue? I'm keeping this opened just in case there is an answer.
Description
•