New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 758611 link

Starred by 1 user

Issue metadata

Status: Untriaged
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug

Blocking:
issue 596231



Sign in to add a comment

NOTREACHED in GlobalHistogramAllocator::CreateWithFile in crashpad-handler

Project Member Reported by siggi@chromium.org, Aug 24 2017

Issue description

I'm seeing this hit in what I believe is the Crashpad handler's handler.

#if !defined(OS_NACL)
// static
bool GlobalHistogramAllocator::CreateWithFile(
    const FilePath& file_path,
    size_t size,
    uint64_t id,
    StringPiece name) {
  bool exists = PathExists(file_path);
  File file(
      file_path, File::FLAG_OPEN_ALWAYS | File::FLAG_SHARE_DELETE |
                 File::FLAG_READ | File::FLAG_WRITE);

  std::unique_ptr<MemoryMappedFile> mmfile(new MemoryMappedFile());
  if (exists) {
    size = saturated_cast<size_t>(file.GetLength());
    mmfile->Initialize(std::move(file), MemoryMappedFile::READ_WRITE);
  } else {
    mmfile->Initialize(std::move(file), {0, static_cast<int64_t>(size)},
                       MemoryMappedFile::READ_WRITE_EXTEND);
  }
  if (!mmfile->IsValid() ||
      !FilePersistentMemoryAllocator::IsFileAcceptable(*mmfile, true)) {
    NOTREACHED() << file_path;   <<< HERE
    return false;
  }

  Set(WrapUnique(new GlobalHistogramAllocator(
      std::make_unique<FilePersistentMemoryAllocator>(std::move(mmfile), size,
                                                      id, name, false))));
  Get()->SetPersistentLocation(file_path);
  return true;
}

I don't think this is user-visible, but I think it means we get no metrics from the fallback handler?
 

Comment 1 by siggi@chromium.org, Aug 24 2017

Blocking: 596231
Cc: bcwh...@chromium.org mark@chromium.org
Summary: NOTREACHED in GlobalHistogramAllocator::CreateWithFile in crashpad-handler (was: NOTREACHED in GlobalHistogramAllocator::CreateWithFile)
Tagging it as blocking for bookkeeping.

Comment 2 by siggi@chromium.org, Aug 24 2017

Labels: Hotlist-DCHECK

Comment 3 by siggi@chromium.org, Aug 28 2017

Cc: scottmg@chromium.org
I think perhaps the Crashpad handler and its handler are racing to the persistent UMA file, or racing to initialize it, or some such. I'm not sure that we'll get crash reports for these, we may if the fallback handling code hasn't regressed...

Sign in to add a comment