- Electron version: v0.37.x
- Operating system: All

Steps:
1. run `script/test.py`
2. open devtools
3. Electron crashed after running a few tests

Stack trace:

```
Crashed Thread:        17  Chrome_IOThread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000010

Thread 17 Crashed:: Chrome_IOThread
0   libnet.dylib                    0x000000010f5fca1f net::URLRequestJob::GatherRawReadStats(net::Error, int) + 63
1   libnet.dylib                    0x000000010f5fc958 net::URLRequestJob::ReadRawDataComplete(int) + 232
2   com.github.electron.framework   0x00000001089d7b91 atom::URLRequestFetchJob::DataAvailable(net::IOBuffer*, int) + 369 (url_request_fetch_job.cc:189)
3   com.github.electron.framework   0x00000001089d8092 atom::(anonymous namespace)::ResponsePiper::Write(net::IOBuffer*, int, base::Callback<void (int)> const&) + 82 (url_request_fetch_job.cc:62)
4   libnet.dylib                    0x000000010f5e7870 0x10f39f000 + 2394224
5   libnet.dylib                    0x000000010f5e74f5 0x10f39f000 + 2393333
6   libnet.dylib                    0x000000010f5fc9b6 net::URLRequestJob::ReadRawDataComplete(int) + 326
7   libnet.dylib                    0x000000010f50610c net::HttpCache::Transaction::DoLoop(int) + 2092
8   libnet.dylib                    0x000000010f49fd9c 0x10f39f000 + 1052060
9   libnet.dylib                    0x000000010f49ffa4 0x10f39f000 + 1052580
10  libbase.dylib                   0x000000010b0cc93a base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask const&) + 202
11  libbase.dylib                   0x000000010b0f61c9 base::MessageLoop::RunTask(base::PendingTask const&) + 489
12  libbase.dylib                   0x000000010b0f6818 base::MessageLoop::DoWork() + 632
13  libbase.dylib                   0x000000010b0bd031 base::MessagePumpLibevent::Run(base::MessagePump::Delegate*) + 465
14  libbase.dylib                   0x000000010b10e1e3 base::RunLoop::Run() + 99
15  libbase.dylib                   0x000000010b0f58fd base::MessageLoop::Run() + 29
16  libcontent.dylib                0x000000010ca55378 content::BrowserThreadImpl::IOThreadRun(base::MessageLoop*) + 24
17  libcontent.dylib                0x000000010ca55487 content::BrowserThreadImpl::Run(base::MessageLoop*) + 167
18  libbase.dylib                   0x000000010b139218 base::Thread::ThreadMain() + 248
19  libbase.dylib                   0x000000010b132b1c 0x10b0bb000 + 490268
20  libsystem_pthread.dylib         0x00007fff8a5d3c13 _pthread_body + 131
21  libsystem_pthread.dylib         0x00007fff8a5d3b90 _pthread_start + 168
22  libsystem_pthread.dylib         0x00007fff8a5d1375 thread_start + 13
```

atom/browser/net/url_request_fetch_job.cc
JsAsker<URLRequestJob>::Kill();
  fetcher_.reset();
}
int URLRequestFetchJob::ReadRawData(net::IOBuffer* dest, int dest_size) {
  if (GetResponseCode() == 204) {
    request()->set_received_response_content_length(prefilter_bytes_read());
    return 0;
  }
  pending_buffer_ = dest;
  pending_buffer_size_ = dest_size;
  SetStatus(net::URLRequestStatus(net::URLRequestStatus::IO_PENDING, 0));
  return dest_size;
}
bool URLRequestFetchJob::GetMimeType(std::string* mime_type) const {