[webkit-changes] [WebKit/WebKit] 1dc871: [libpas] Add alloc/dealloc stack traces to WebKit PGM

Zak Ridouh noreply at github.com
Tue Jan 21 18:17:35 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1dc8717af8a79287e871a499e6ca3cbd32fde51b
      https://github.com/WebKit/WebKit/commit/1dc8717af8a79287e871a499e6ca3cbd32fde51b
  Author: Zak Ridouh <zakr at apple.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c
    M Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.h
    M Source/bmalloc/libpas/src/libpas/pas_report_crash.c
    M Source/bmalloc/libpas/src/libpas/pas_report_crash_pgm_report.h
    M Source/bmalloc/libpas/src/libpas/pas_segmented_vector.h
    M Source/bmalloc/libpas/src/libpas/pas_utils.h
    M Source/bmalloc/libpas/src/test/EnumerationTests.cpp
    M Source/bmalloc/libpas/src/test/PGMTests.cpp

  Log Message:
  -----------
  [libpas] Add alloc/dealloc stack traces to WebKit PGM
https://bugs.webkit.org/show_bug.cgi?id=283370
rdar://106166552

Reviewed by David Kilzer.

This adds collection and storage of <=31 frames of backtrace upon PGM
allocation and deallocation. A followup patch will pack these frame
pointers more aggressivly.

Additionally, bump `pas_crash_report_version` to version 3 so
`reportcrashd` is aware of struct changes.

Add a variety of tests to validate this new functionality.

* Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.c:
(pas_probabilistic_guard_malloc_allocate):
(pas_probabilistic_guard_malloc_deallocate):
* Source/bmalloc/libpas/src/libpas/pas_probabilistic_guard_malloc_allocator.h:
* Source/bmalloc/libpas/src/libpas/pas_report_crash.c:
(pas_update_report_crash_fields):
(pas_report_crash_extract_pgm_failure):
* Source/bmalloc/libpas/src/libpas/pas_report_crash_pgm_report.h:
* Source/bmalloc/libpas/src/test/EnumerationTests.cpp:
(std::testPGMEnumerationBasic):
(std::testPGMEnumerationAddAndFree):
* Source/bmalloc/libpas/src/test/PGMTests.cpp:
(std::testPGMBmallocAllocationBacktrace):
(std::testPGMAllocMetadataOnly):
(addPGMTests):

Canonical link: https://commits.webkit.org/289218@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list