Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 868d39a8 authored by Elliott Hughes's avatar Elliott Hughes
Browse files

Show the number of VMAs in the tombstone.

Tombstones (especially ones with lots of VMAs) are regularly truncated.
We can at least show the number of VMAs, though, for anyone interested
in knowing whether they got close to the default 64Ki limit.

Bug: http://b/66911122
Test: ran crasher, examined tombstone
Change-Id: I286db66f28f132307d573dbe5164efc969dc6ddc
parent 65673033
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -413,15 +413,17 @@ static void dump_all_maps(Backtrace* backtrace, BacktraceMap* map, log_t* log, p
  }

  ScopedBacktraceMapIteratorLock lock(map);
  _LOG(log, logtype::MAPS, "\n");
  if (!print_fault_address_marker) {
    _LOG(log, logtype::MAPS, "memory map:\n");
  } else {
    _LOG(log, logtype::MAPS, "memory map: (fault address prefixed with --->)\n");
  _LOG(log, logtype::MAPS,
       "\n"
       "memory map (%zu entries):\n",
       map->size());
  if (print_fault_address_marker) {
    if (map->begin() != map->end() && addr < map->begin()->start) {
      _LOG(log, logtype::MAPS, "--->Fault address falls at %s before any mapped regions\n",
           get_addr_string(addr).c_str());
      print_fault_address_marker = false;
    } else {
      _LOG(log, logtype::MAPS, "(fault address prefixed with --->)\n");
    }
  }

+2 −0
Original line number Diff line number Diff line
@@ -91,6 +91,8 @@ public:
  const_iterator begin() const { return maps_.begin(); }
  const_iterator end() const { return maps_.end(); }

  size_t size() const { return maps_.size(); }

  virtual bool Build();

  static inline bool IsValid(const backtrace_map_t& map) {