- Electron version: v1.1.1
- Operating system: Windows (can't hit this issue on either OS X or Linux)

Call Stack:

```
0:000> kn20
 # Child-SP          RetAddr           Call Site
00 0000004d`8277dc90 00007ff7`eabc53d9 electron!ui::ToString+0x648 [c:\jenkins\workspace\libchromiumcontent-win\vendor\chromium\src\out\release_x64\gen\ui\accessibility\ax_enums.cc @ 105]
01 0000004d`8277dcc0 00007ff7`eabc9ff3 electron!__crt_stdio_output::output_processor<char,__crt_stdio_output::stream_output_adapter<char>,__crt_stdio_output::positional_parameter_base<char,__crt_stdio_output::stream_output_adapter<char> > >::type_case_a+0x189 [d:\rs1\minkernel\crts\ucrt\inc\corecrt_internal_stdio_output.h @ 2380]
02 0000004d`8277dd00 00007ff7`e8115e1d electron!__crt_stdio_output::output_processor<wchar_t,__crt_stdio_output::string_output_adapter<wchar_t>,__crt_stdio_output::standard_base<wchar_t,__crt_stdio_output::string_output_adapter<wchar_t> > >::type_case_s+0xf [d:\rs1\minkernel\crts\ucrt\inc\corecrt_internal_stdio_output.h @ 2247]
03 0000004d`8277dd30 00007ff7`e81161b5 electron!asar::Archive::Init+0x25d [c:\users\paulb\code\electron\electron\atom\common\asar\archive.cc @ 163]
04 0000004d`8277df20 00007ff7`e811760b electron!asar::Archive::Readdir+0xbd [c:\users\paulb\code\electron\electron\atom\common\asar\archive.cc @ 247]
05 (Inline Function) --------`-------- electron!std::char_traits<char>::find+0x1 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\iosfwd @ 546]
06 0000004d`8277e1d0 00007ff7`e80890cf electron!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::find_first_of+0x57 [c:\program files (x86)\microsoft visual studio 14.0\vc\include\xstring @ 1968]
07 (Inline Function) --------`-------- electron!base::internal::RunnableAdapter<void (__cdecl crash_reporter::CrashReporter::*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const &,bool,bool,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > const &)>::Run+0x1b [c:\users\paulb\code\electron\electron\vendor\brightray\vendor\download\libchromiumcontent\src\base\bind_internal.h @ 181]
08 0000004d`8277e270 00007ffd`f5e93078 electron!base::internal::InvokeHelper<0,void,base::internal::RunnableAdapter<void (__cdecl crash_reporter::CrashReporter::*)(std::basic_string<char,std::char_traits<char>,std::allocator<char> > const & __ptr64,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const & __ptr64,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const & __ptr64,bool,bool,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > const & __ptr64) __ptr64> >::MakeItSo<crash_reporter::CrashReporter * __ptr64,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const & __ptr64,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const & __ptr64,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const & __ptr64,bool const & __ptr64,bool const & __ptr64,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > > const & __ptr64>+0x2b [c:\users\paulb\code\electron\electron\vendor\brightray\vendor\download\libchromiumcontent\src\base\bind_internal.h @ 301]
09 (Inline Function) --------`-------- node!v8::internal::HeapObject::IsOddball+0x6 [c:\jenkins\workspace\libchromiumcontent-win\vendor\chromium\src\v8\src\objects-inl.h @ 773]
0a (Inline Function) --------`-------- node!v8::internal::HeapObject::IsUninitialized+0x6 [c:\jenkins\workspace\libchromiumcontent-win\vendor\chromium\src\v8\src\objects-inl.h @ 947]
0b (Inline Function) --------`-------- node!v8::internal::Object::IsUninitialized+0x11 [c:\jenkins\workspace\libchromiumcontent-win\vendor\chromium\src\v8\src\objects-inl.h @ 160]
0c 0000004d`8277e4c0 00007ffd`f5da550b node!v8::internal::ArrayLiteral::BuildConstantElements+0x148 [c:\jenkins\workspace\libchromiumcontent-win\vendor\chromium\src\v8\src\ast\ast.cc @ 542]
0d 0000004d`8277e550 00007ffd`f5da20dd node!v8::internal::Builtin_DateConstructor+0xab [c:\jenkins\workspace\libchromiumcontent-win\vendor\chromium\src\v8\src\builtins.cc @ 2601]
0e 0000004d`8277e650 00000368`7220965f node!v8::internal::Builtin_SymbolConstructor_ConstructStub+0xfd [c:\jenkins\workspace\libchromiumcontent-win\vendor\chromium\src\v8\src\builtins.cc @ 3717]
0f 0000004d`8277e6b0 00007ffd`f5da202f 0x00000368`7220965f
10 0000004d`8277e6b8 00000052`775b3ce1 node!v8::internal::Builtin_SymbolConstructor_ConstructStub+0x4f [c:\jenkins\workspace\libchromiumcontent-win\vendor\chromium\src\v8\src\builtins.cc @ 3717]
11 0000004d`8277e6c0 0000004d`8277e6f8 0x00000052`775b3ce1
12 0000004d`8277e6c8 0000007b`5deacab1 0x0000004d`8277e6f8
13 0000004d`8277e6d0 00007ffd`f6121a8f 0x0000007b`5deacab1
14 0000004d`8277e6d8 00000368`7260b3e3 node!v8::internal::IsCompatibleReceiver+0x1cf [c:\jenkins\workspace\libchromiumcontent-win\vendor\chromium\src\v8\src\ic\ic.cc @ 1009]
15 0000004d`8277e6e0 000003c5`ba7e0e51 0x00000368`7260b3e3
16 0000004d`8277e6e8 00000368`722095a1 0x000003c5`ba7e0e51
```

atom\common\asar\archive.cc:141

``` cpp
bool Archive::Init() {
  if (!file_.IsValid()) {
    if (file_.error_details() != base::File::FILE_ERROR_NOT_FOUND) {
      LOG(WARNING) << "Opening " << path_.value()
                   << ": " << base::File::ErrorToString(file_.error_details());
    }
    return false;
  }

  std::vector<char> buf;
  int len;

  buf.resize(8);
  len = file_.ReadAtCurrentPos(buf.data(), buf.size());
  if (len != static_cast<int>(buf.size())) {
    PLOG(ERROR) << "Failed to read header size from " << path_.value();   // **** Blowing up here
    return false;
  }

  uint32_t size;
  if (!base::PickleIterator(base::Pickle(buf.data(), buf.size())).ReadUInt32(
          &size)) {
    LOG(ERROR) << "Failed to parse header size from " << path_.value();
    return false;
  }
```

An ASAR file that repros the crash can be found at http://cl.ly/0O0s0F3N1x2o

If I had to wager a guess, I'd say that Pickle changed its format in Chrome 50 somehow, and ASAR needs to be updated to the new pickler format

atom/common/crash_reporter/crash_reporter_win.cc
PEXCEPTION_RECORD ExceptionRecord,
    ULONG64 EstablisherFrame,
    PCONTEXT ContextRecord,
    PDISPATCHER_CONTEXT DispatcherContext) {
  EXCEPTION_POINTERS info = { ExceptionRecord, ContextRecord };
  if (!CrashReporter::GetInstance())
    return EXCEPTION_CONTINUE_SEARCH;
  return static_cast<CrashReporterWin*>(CrashReporter::GetInstance())->
      CrashForException(&info);
}
struct ExceptionHandlerRecord {
  RUNTIME_FUNCTION runtime_function;
  UNWIND_INFO unwind_info;
  unsigned char thunk[12];
};
bool RegisterNonABICompliantCodeRange(void* start, size_t size_in_bytes) {
  ExceptionHandlerRecord* record =
      reinterpret_cast<ExceptionHandlerRecord*>(start);
  
  
  
  record->runtime_function.BeginAddress = 0;
  record->runtime_function.EndAddress =
      base::checked_cast<DWORD>(size_in_bytes);
  record->runtime_function.UnwindData =
      offsetof(ExceptionHandlerRecord, unwind_info);
  
  record->unwind_info.Version = 1;
  record->unwind_info.Flags = UNW_FLAG_EHANDLER;