- Electron version: 1.4.3
- Operating system: MacOS 10.11.6

When setCertificateVerifyProc is used, Electron will crash as soon as the callback method is called. Crash log is attached and I've created a very simple project to demonstrate how this can be reproduced: https://github.com/gregnolle/electron-cert-verify-demo

[Electron_2016-10-15-120129_Gregs-iMac.crash.txt](https://github.com/electron/electron/files/531093/Electron_2016-10-15-120129_Gregs-iMac.crash.txt)

atom/browser/atom_browser_context.cc
pref_registry->RegisterFilePathPref(prefs::kSelectFileLastDirectory,
                                      base::FilePath());
  base::FilePath download_dir;
  PathService::Get(chrome::DIR_DEFAULT_DOWNLOADS, &download_dir);
  pref_registry->RegisterFilePathPref(prefs::kDownloadDefaultDirectory,
                                      download_dir);
  pref_registry->RegisterDictionaryPref(prefs::kDevToolsFileSystemPaths);
}
AtomBlobReader* AtomBrowserContext::GetBlobReader() {
  if (!blob_reader_.get()) {
    content::ChromeBlobStorageContext* blob_context =
        content::ChromeBlobStorageContext::GetFor(this);
    storage::FileSystemContext* file_system_context =
        content::BrowserContext::GetStoragePartition(
            this, nullptr)->GetFileSystemContext();
    blob_reader_.reset(new AtomBlobReader(blob_context,
                                          file_system_context));
  }
  return blob_reader_.get();
}
scoped_refptr<AtomBrowserContext> AtomBrowserContext::From(
    const std::string& partition, bool in_memory,
    const base::DictionaryValue& options) {
  auto browser_context = brightray::BrowserContext::Get(partition, in_memory);
  if (browser_context)
    return static_cast<AtomBrowserContext*>(browser_context.get());
  return new AtomBrowserContext(partition, in_memory, options);
}
}