Hi all,
I'm currently trying to track down a segfault, following
Simple Chrome and other docs for guidance. It seems that simplest way to go about it is to read the logs after a crash for the backtrace. After following the instructions in
Simple Chrome, I've managed to get a backtrace in
/var/log/ui/ui.* files when deploying a release build with the
--nostrip option. However, it does not have any symbols:
../../third_party/tcmalloc/chromium/src/tcmalloc.cc:289] Attempt to free invalid pointer 0xc7a89274
Received signal 11 SEGV_MAPERR 000000000039
#0 0x0000323f40ac <unknown>
#1 0x0000323f3f98 <unknown>
#2 0x0000b50d4c40 <unknown>
#3 0x000030f0e1ec <unknown>
#4 0x000030f12ee4 <unknown>
...
[etc.]
Furthermore, when I try deploying a debug build (again with --nostrip), the DCHECK stacktraces do not have symbols either:
[21979:21979:0406/120014.686682:FATAL:pref_registry.cc(63)] Check failed: !defaults_->GetValue(path, NULL). Trying to register a previously registered pref: cryptauth.gcm_registration_id
#0 0x0000393e641e <unknown>
#1 0x0000393e5d34 <unknown>
#2 0x000039412bac <unknown>
#3 0x00003a867ce2 <unknown>
#4 0x00003a868578 <unknown>
...
[etc.]
I have the same issue with base::debug::StackTrace.
The bizarre thing about this situation is that I know for a fact that symbols are included with my deployed chrome, because I am able to get a backtrace with symbols in gdb (for the exact same crash, on the release build):
Thread 1 "chrome" received signal SIGSEGV, Segmentation fault.
0x2c0d61ec in tcmalloc::Abort() () at ../../third_party/tcmalloc/chromium/src/base/abort.cc:15
15 ../../third_party/tcmalloc/chromium/src/base/abort.cc: No such file or directory.
(gdb) bt
#0 0x2c0d61ec in tcmalloc::Abort() () at ../../third_party/tcmalloc/chromium/src/base/abort.cc:15
warning: Could not find DWO CU obj/base/allocator/tcmalloc/internal_logging.dwo(0x53d10e30960f02a8) referenced by CU at offset 0x1c656 [in module /opt/google/chrome/chrome]
#1 0x2c0daee4 in Log () at ../../third_party/tcmalloc/chromium/src/internal_logging.cc:120
warning: Could not find DWO CU obj/base/allocator/tcmalloc/debugallocation_shim.dwo(0x627392cb835b7132) referenced by CU at offset 0x22a71 [in module /opt/google/chrome/chrome]
#2 0x2c0e3284 in do_free_with_callback () at ../../third_party/tcmalloc/chromium/src/tcmalloc.cc:289
warning: Could not find DWO CU obj/components/cryptauth/ble/ble/bluetooth_low_energy_weave_client_connection.dwo(0x73b2176927ee0a4) referenced by CU at offset 0x87805ff [in module /opt/google/chrome/chrome]
#3 0x3046b964 in deallocate () at /usr/local/google/home/hansberry/chromium/.cros_cache/chrome-sdk/tarballs/veyron_minnie+9391.0.0+target_toolchain/usr/bin/../lib/gcc/armv7a-cros-linux-gnueabi/4.9.x/include/g++-v4/ext/new_allocator.h:116
#4 deallocate () at /usr/local/google/home/hansberry/chromium/.cros_cache/chrome-sdk/tarballs/veyron_minnie+9391.0.0+target_toolchain/usr/bin/../lib/gcc/armv7a-cros-linux-gnueabi/4.9.x/include/g++-v4/bits/alloc_traits.h:383
...
[etc.]
Perhaps the "Could not find DWO CU obj/components/cryptauth[...]" warnings are indicative of a larger issue, but I haven't been able to find much help for those warnings searching online.
Does anyone know what I might be doing wrong or missing?
Thanks,
Ryan