New issue
Advanced search Search tips

Issue 733387 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug

Blocked on:
issue crashpad:189



Sign in to add a comment

10.13 crash reports are missing system modules

Project Member Reported by mark@chromium.org, Jun 14 2017

Issue description

Most crash reports on 10.13 are missing system modules. The modules aren’t even listed in the minidump. That prevents them from being symbolized.

Example: go/crash/2b4b398bf0000000

In 10.13, modules loaded from the dyld shared cache appear with __TEXT segments that have a nonzero “fileoff” (file offset). Previously, the fileoff was always 0. Previously, the fileoff for segments in the dyld shared cache was the actual offset into the shared cache (not 0), but special consideration was given to __TEXT segments which were forced to 0. See 10.12.4 dyld-433.5/interlinked-dylibs/OptimizerLinkedit.cpp LinkeditOptimizer<>::updateLoadCommands(). Note the comment there where the __TEXT segment’s apparent fileoff is set to 0:

720          else if ( strcmp(segCmd->segname(), "__TEXT") == 0 ) {
721              // HACK until lldb fixed in: <rdar://problem/20357466> DynamicLoaderMacOSXDYLD fixes for Monarch dyld shared cache
722              segCmd->set_fileoff(0);
723
724          }

Refer also to the lldb commit that references the above, http://llvm.org/viewvc/llvm-project?view=revision&revision=233714.

Evidently, update_dyld_shared_cache has been revised to no longer apply this hack in 10.13. Crashpad’s sanity check for __TEXT segments having a fileoff of 0 is no longer valid, and causes it to reject modules loaded from the dyld shared cache.

Targeting to M60 for now. May want for M59 too, as this renders most crash reports difficult to work with.
 

Comment 1 by mark@chromium.org, Jun 14 2017

Blockedon: crashpad:189
Project Member

Comment 3 by bugdroid1@chromium.org, Jun 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24

commit 12ba22056d7cc3d59bdfddfcf42f9e779a40ea24
Author: Mark Mentovai <mark@chromium.org>
Date: Wed Jun 14 21:53:51 2017

Update Crashpad to 63ccbd0e4c2f for macOS 10.13 support

f53f2c84cc53 Fix comments identifying the source of module TimeDateStamp
             information
5ebd24e96ed2 Upload to the production Chromium Gerrit instance, not the
             canary
8fb23f2accf8 linux: Provide ThreadInfo to collect register sets with
             ptrace
dbc229a2d773 Update mini_chromium to 606ff8a3
8e2e805fa5b0 linux: Add AuxiliaryVector for reading other process' aux
             vectors
1c0c305bc90d linux: Add FindMappingWithName to MemoryMap
8c35d92ae403 Use the C++11-standardized alignof instead of ALIGNOF
f8457977326f mac: 10.13 SDK compatibility, adapt to x86_state_hdr
             changes
2851e5cfc861 mac: Update cl_kernels workaround for macOS 10.13 (and
             later)
107fb7631788 mac: Handle _dyld_get_all_image_infos() not being available
             on 10.13
6108d2523297 mac: Update the process_types version of
             dyld_all_image_infos for 10.13
890ad441b317 mac: Accept modules in 10.13’s dyld shared cache
63ccbd0e4c2f Remove compiler_specific.h #include from
             aligned_allocator.h

Bug:  733387 ,  crashpad:185 ,  crashpad:186 ,  crashpad:187 ,  crashpad:188 ,  crashpad:189 
Change-Id: Ib2de978b1903e6bdf451ab2ad11d2e6dd6e07090
Reviewed-on: https://chromium-review.googlesource.com/535993
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#479515}
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/README.chromium
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/DEPS
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/client/capture_context_mac_test.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/client/simulate_crash_mac.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/client/simulate_crash_mac_test.cc
[delete] https://crrev.com/ea690148fbc9c09d88a1d089a881d48402a69a59/third_party/crashpad/crashpad/compat/android/elf.h
[add] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/compat/android/linux/elf.h
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/compat/mac/AvailabilityMacros.h
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/compat/non_win/dbghelp.h
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/minidump/minidump_context.h
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/snapshot/crashpad_info_client_options_test.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader_test.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/snapshot/mac/process_reader.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/snapshot/mac/process_reader.h
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/snapshot/mac/process_reader_test.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/snapshot/mac/process_types.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/snapshot/mac/process_types.h
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/snapshot/mac/process_types/custom.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/snapshot/mac/process_types/dyld_images.proctype
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/snapshot/mac/process_types/traits.h
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/snapshot/mac/process_types_test.cc
[add] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/test/mac/dyld.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/test/mac/dyld.h
[add] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/test/scoped_module_handle.cc
[add] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/test/scoped_module_handle.h
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/test/test.gyp
[add] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
[add] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/util/linux/auxiliary_vector.h
[add] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/util/linux/auxiliary_vector_test.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/util/linux/memory_map.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/util/linux/memory_map.h
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/util/linux/memory_map_test.cc
[add] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/util/linux/thread_info.cc
[add] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/util/linux/thread_info.h
[add] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/util/linux/thread_info_test.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/util/posix/process_info_linux.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/util/stdlib/aligned_allocator_test.cc
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/util/util.gyp
[modify] https://crrev.com/12ba22056d7cc3d59bdfddfcf42f9e779a40ea24/third_party/crashpad/crashpad/util/util_test.gyp

Comment 4 by mark@chromium.org, Jun 15 2017

Looks OK now: go/crash/0985f76e40000000

Comment 5 by mark@chromium.org, Jun 15 2017

Labels: Hotlist-HighSierra

Comment 6 by mark@chromium.org, Jun 21 2017

Labels: Merge-Request-60
Status: Fixed (was: Started)
Project Member

Comment 7 by sheriffbot@chromium.org, Jun 21 2017

Labels: -Merge-Request-60 Hotlist-Merge-Review Merge-Review-60
This bug requires manual review: DEPS changes referenced in bugdroid comments.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), josafat@(ChromeOS), bustamante@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Do we know how much of an impact this has been having?  Generally I'd like to wait until M61 this as this a very large change (+1681 -268 lines of code) and we're late into the release cycle.

Comment 9 by mark@chromium.org, Jun 21 2017

We can't make sense of crash reports on 10.13 (High Sierra) without this. It would be foolish to leave ourselves exposed by not being able to take action on crash reports while 10.13 is in beta. This is the time to make sure that we run well on the new OS version.
Labels: -Merge-Review-60 Merge-Approved-60
Thanks! That makes a lot of sense, approving for merge into M60 (build 3112)
Project Member

Comment 11 by bugdroid1@chromium.org, Jun 22 2017

Labels: -merge-approved-60 merge-merged-3112
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/4a22e865666ccf5ec510289b48c2d6148e63b873

commit 4a22e865666ccf5ec510289b48c2d6148e63b873
Author: Mark Mentovai <mark@chromium.org>
Date: Thu Jun 22 20:52:31 2017

Update Crashpad to c4f6ca3c6ac5 for macOS 10.13 support (60.0.3112)

f53f2c84cc53 Fix comments identifying the source of module TimeDateStamp
             information
5ebd24e96ed2 Upload to the production Chromium Gerrit instance, not the
             canary
8fb23f2accf8 linux: Provide ThreadInfo to collect register sets with
             ptrace
dbc229a2d773 Update mini_chromium to 606ff8a3
8e2e805fa5b0 linux: Add AuxiliaryVector for reading other process' aux
             vectors
1c0c305bc90d linux: Add FindMappingWithName to MemoryMap
8c35d92ae403 Use the C++11-standardized alignof instead of ALIGNOF
f8457977326f mac: 10.13 SDK compatibility, adapt to x86_state_hdr
             changes
2851e5cfc861 mac: Update cl_kernels workaround for macOS 10.13 (and
             later)
107fb7631788 mac: Handle _dyld_get_all_image_infos() not being available
             on 10.13
6108d2523297 mac: Update the process_types version of
             dyld_all_image_infos for 10.13
890ad441b317 mac: Accept modules in 10.13’s dyld shared cache
63ccbd0e4c2f Remove compiler_specific.h #include from
             aligned_allocator.h
d3e4f09742d6 linux: Collect fxsave instead of fsave in ThreadInfo
8c802aace407 Add ReinterpretBytes which does a checked, variable size
             bit cast
c4f6ca3c6ac5 mac: Provide a larger thread state buffer for AVX-512 on
             10.13

Bug:  733387 ,  crashpad:185 ,  crashpad:186 ,  crashpad:187 ,  crashpad:188 ,  crashpad:189 ,  crashpad:190 
Change-Id: I4b9bccd9a0132ca89ea2263c5476c655efc84ffb
Reviewed-on: https://chromium-review.googlesource.com/543196
Reviewed-by: Mark Mentovai <mark@chromium.org>
Cr-Commit-Position: refs/branch-heads/3112@{#444}
Cr-Branched-From: b6460e24cf59f429d69de255538d0fc7a425ccf9-refs/heads/master@{#474897}
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/build/secondary/third_party/crashpad/crashpad/util/BUILD.gn
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/README.chromium
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/DEPS
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/client/capture_context_mac_test.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/client/simulate_crash_mac.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/client/simulate_crash_mac_test.cc
[add] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/compat/android/linux/elf.h
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/compat/compat.gyp
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/compat/mac/AvailabilityMacros.h
[rename] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/compat/mac/mach/i386/thread_state.h
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/compat/mac/mach/mach.h
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/compat/non_win/dbghelp.h
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/minidump/minidump_context.h
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/snapshot/crashpad_info_client_options_test.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_reader_test.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/snapshot/mac/mach_o_image_segment_reader.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/snapshot/mac/process_reader.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/snapshot/mac/process_reader.h
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/snapshot/mac/process_reader_test.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/snapshot/mac/process_types.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/snapshot/mac/process_types.h
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/snapshot/mac/process_types/custom.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/snapshot/mac/process_types/dyld_images.proctype
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/snapshot/mac/process_types/traits.h
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/snapshot/mac/process_types_test.cc
[add] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/test/mac/dyld.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/test/mac/dyld.h
[add] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/test/scoped_module_handle.cc
[add] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/test/scoped_module_handle.h
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/test/test.gyp
[add] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc
[add] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/linux/auxiliary_vector.h
[add] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/linux/auxiliary_vector_test.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/linux/memory_map.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/linux/memory_map.h
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/linux/memory_map_test.cc
[add] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/linux/thread_info.cc
[add] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/linux/thread_info.h
[add] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/linux/thread_info_test.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/mach/mig.py
[add] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/misc/reinterpret_bytes.cc
[add] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/misc/reinterpret_bytes.h
[add] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/misc/reinterpret_bytes_test.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/posix/process_info_linux.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/stdlib/aligned_allocator.h
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/stdlib/aligned_allocator_test.cc
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/util.gyp
[modify] https://crrev.com/4a22e865666ccf5ec510289b48c2d6148e63b873/third_party/crashpad/crashpad/util/util_test.gyp

Sign in to add a comment