* Electron version: 1.6.4
* Operating system: macOS 10.12.3

This is a continuation from https://github.com/electron/electron/issues/8957

My steps are:
* open VS Code on a specific folder
* open another folder in the running instance (this eventually causes a `loadURL` call of the window)

Full stack:
```
Crashed Thread:        0  CrRendererMain  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]

Thread 0 Crashed:: CrRendererMain  Dispatch queue: com.apple.main-thread
0   com.github.electron.framework 	0x000000010dbac57c node::Environment::isolate() const + 12 (env-inl.h:225)
1   com.github.electron.framework 	0x000000010dc1d02c atom::NodeBindings::UvRunOnce() + 44 (node_bindings.cc:236)
2   com.github.electron.framework 	0x000000010dc1e837 void base::internal::FunctorTraits<void (atom::NodeBindings::*)(), void>::Invoke<base::WeakPtr<atom::NodeBindings> const&>(void (atom::NodeBindings::*)(), base::WeakPtr<atom::NodeBindings> const&&&) + 135 (bind_internal.h:214)
3   com.github.electron.framework 	0x000000010dc1e72a void base::internal::InvokeHelper<true, void>::MakeItSo<void (atom::NodeBindings::* const&)(), base::WeakPtr<atom::NodeBindings> const&>(void (atom::NodeBindings::* const&&&)(), base::WeakPtr<atom::NodeBindings> const&&&) + 90 (bind_internal.h:308)
4   com.github.electron.framework 	0x000000010dc1e6c8 void base::internal::Invoker<base::internal::BindState<void (atom::NodeBindings::*)(), base::WeakPtr<atom::NodeBindings> >, void ()>::RunImpl<void (atom::NodeBindings::* const&)(), std::__1::tuple<base::WeakPtr<atom::NodeBindings> > const&, 0ul>(void (atom::NodeBindings::* const&&&)(), std::__1::tuple<base::WeakPtr<atom::NodeBindings> > const&&&, base::IndexSequence<0ul>) + 72 (bind_internal.h:361)
5   com.github.electron.framework 	0x000000010dc1e61c base::internal::Invoker<base::internal::BindState<void (atom::NodeBindings::*)(), base::WeakPtr<atom::NodeBindings> >, void ()>::Run(base::internal::BindStateBase*) + 44 (bind_internal.h:339)
6   libbase.dylib                 	0x0000000110a14591 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 225
7   libblink_platform.dylib       	0x00000001126e02b3 blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue(blink::scheduler::internal::WorkQueue*) + 835
8   libblink_platform.dylib       	0x00000001126deeea blink::scheduler::TaskQueueManager::DoWork(base::TimeTicks, bool) + 618
9   libbase.dylib                 	0x0000000110a14591 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 225
10  libbase.dylib                 	0x0000000110a429e6 base::MessageLoop::RunTask(base::PendingTask*) + 390
11  libbase.dylib                 	0x0000000110a42cbc base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) + 44
12  libbase.dylib                 	0x0000000110a43073 base::MessageLoop::DoWork() + 371
13  libbase.dylib                 	0x0000000110a45c9d 0x110a05000 + 265373
14  libbase.dylib                 	0x0000000110a34cea base::mac::CallWithEHFrame(void () block_pointer) + 10
15  libbase.dylib                 	0x0000000110a45714 0x110a05000 + 263956
16  com.apple.CoreFoundation      	0x00007fff8af3f981 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
17  com.apple.CoreFoundation      	0x00007fff8af20a7d __CFRunLoopDoSources0 + 557
18  com.apple.CoreFoundation      	0x00007fff8af1ff76 __CFRunLoopRun + 934
19  com.apple.CoreFoundation      	0x00007fff8af1f974 CFRunLoopRunSpecific + 420
20  com.apple.Foundation          	0x00007fff8c934612 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 277
21  libbase.dylib                 	0x0000000110a4635e base::MessagePumpNSRunLoop::DoRun(base::MessagePump::Delegate*) + 126
22  libbase.dylib                 	0x0000000110a45b5c 0x110a05000 + 265052
23  libbase.dylib                 	0x0000000110a4274e base::MessageLoop::RunHandler() + 94
24  libbase.dylib                 	0x0000000110a6a503 base::RunLoop::Run() + 115
25  libcontent.dylib              	0x0000000113afa46f 0x113240000 + 9151599
26  libcontent.dylib              	0x0000000113bf470d 0x113240000 + 10176269
27  libcontent.dylib              	0x0000000113bf3926 content::ContentMain(content::ContentMainParams const&) + 54
28  com.github.electron.framework 	0x000000010d8ad668 AtomMain + 104 (atom_library_main.mm:24)
29  com.github.electron.helper    	0x000000010d8a7eff main + 79 (atom_main.cc:142)
30  libdyld.dylib                 	0x00007fffa0477255 start + 1
```
atom/common/node_bindings.cc
DCHECK(task_runner_);
  task_runner_->PostTask(FROM_HERE, base::Bind(&NodeBindings::UvRunOnce,
                                               weak_factory_.GetWeakPtr()));
}
void NodeBindings::WakeupEmbedThread() {
  uv_async_send(&dummy_uv_handle_);
}
void NodeBindings::EmbedThreadRunner(void *arg) {
  NodeBindings* self = static_cast<NodeBindings*>(arg);
  while (true) {
    
    uv_sem_wait(&self->embed_sem_);
    if (self->embed_closed_)
      break;
    
    
    
    
    
    self->PollEvents();
    if (self->embed_closed_)
      break;
    
    self->WakeupMainThread();
  }
}
}