<h3 dir="auto">Preflight Checklist</h3>

<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have read the <a href="https://github.com/electron/electron/blob/master/CONTRIBUTING.md">Contributing Guidelines</a> for this project.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I agree to follow the <a href="https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md">Code of Conduct</a> that this project adheres to.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the issue tracker for an issue that matches the one I want to file, without success.</li>
</ul>
<h3 dir="auto">Issue Details</h3>
<ul dir="auto">
<li><strong>Electron Version:</strong>
<ul dir="auto">
<li>4.2.6</li>
</ul>
</li>
<li><strong>Operating System:</strong>
<ul dir="auto">
<li>macOS 10.14.5</li>
</ul>
</li>
<li><strong>Last Known Working Electron version:</strong>
<ul dir="auto">
<li>2.0.18</li>
</ul>
</li>
</ul>
<h3 dir="auto">Expected Behavior</h3>
<p dir="auto">Render process recovers</p>
<h3 dir="auto">Actual Behavior</h3>
<p dir="auto">Render process doesn't recover after the second crash</p>
<h3 dir="auto">To Reproduce</h3>
<ol dir="auto">
<li>Open this test repo: <a href="https://github.com/ClaudiaStefan/electron-notification-test">https://github.com/ClaudiaStefan/electron-notification-test</a></li>
<li>Type process.crash() in devtools console and wait for window to recover</li>
<li>Type again process.crash() in devtools console</li>
</ol>
<h3 dir="auto">Test project setup:</h3>
<p dir="auto"><strong>Clone this repository</strong><br>
git clone <a href="https://github.com/ClaudiaStefan/electron-notification-test.git">https://github.com/ClaudiaStefan/electron-notification-test.git</a><br>
<strong>Go into the repository</strong><br>
cd electron-notification-test<br>
<strong>Install dependencies and run the app</strong><br>
npm install &amp;&amp; npm start</p>
<h3 dir="auto">Additional Information</h3>
<p dir="auto">The issue has started in 3.0.0.<br>
In electron 5.0.6 and in 6.0.0-beta.13, when I type process.crash() the first time, the entire process is crashed, not only the render process.</p>
<ul dir="auto">
<li>Electron version:1.8.2-beta.3</li>
<li>Operating system:darwin</li>
</ul>
<h3 dir="auto">Expected behavior</h3>
<p dir="auto">electron should not crash when a region overflows vertically</p>

<h3 dir="auto">Actual behavior</h3>
<p dir="auto">crash with</p>
<p dir="auto">[87115:0104/143435.970871:FATAL:partition_alloc.cc(934)] Check failed: page-&gt;num_allocated_slots != -1.<br>
0   Electron Framework                  0x000000010c9f821c crashpad::CloseMultipleNowOrOnExec(int, int) + 970204<br>
1   Electron Framework                  0x000000010c9bfa33 crashpad::CloseMultipleNowOrOnExec(int, int) + 738803<br>
2   Electron Framework                  0x000000010c9d7491 crashpad::CloseMultipleNowOrOnExec(int, int) + 835665<br>
3   Electron Framework                  0x000000010f674b9c crashpad::CloseMultipleNowOrOnExec(int, int) + 47617884<br>
4   libnode.dylib                       0x00000001110b442e v8::internal::DeferredHandles::Iterate(v8::internal::ObjectVisitor*) + 20670<br>
5   libnode.dylib                       0x00000001110b436e v8::internal::DeferredHandles::Iterate(v8::internal::ObjectVisitor*) + 20478<br>
6   libnode.dylib                       0x000000011153f67a v8::internal::AllocationSpaceName(v8::internal::AllocationSpace) + 27370<br>
7   libnode.dylib                       0x0000000111538570 v8::internal::operator&lt;&lt;(std::__1::basic_ostream&lt;char, std::__1::char_traits &gt;&amp;, v8::internal::MachineType) + 76800<br>
8   libnode.dylib                       0x00000001115388e4 v8::internal::operator&lt;&lt;(std::__1::basic_ostream&lt;char, std::__1::char_traits &gt;&amp;, v8::internal::MachineType) + 77684<br>
9   libnode.dylib                       0x0000000111548187 v8::internal::AllocationSpaceName(v8::internal::AllocationSpace) + 62967<br>
10  Electron Framework                  0x000000010ca378c2 crashpad::CloseMultipleNowOrOnExec(int, int) + 1229954<br>
11  Electron Framework                  0x000000010c9dee37 crashpad::CloseMultipleNowOrOnExec(int, int) + 866807<br>
12  libsystem_pthread.dylib             0x00007fff5af616c1 _pthread_body + 340<br>
13  libsystem_pthread.dylib             0x00007fff5af6156d _pthread_body + 0<br>
14  libsystem_pthread.dylib             0x00007fff5af60c5d thread_start + 13</p>
<p dir="auto">close variant:<br>
[87069:0104/143010.593801:FATAL:partition_alloc.cc(934)] Check failed: page-&gt;num_allocated_slots != -1.<br>
0   Electron Framework                  0x000000010721121c crashpad::CloseMultipleNowOrOnExec(int, int) + 970204<br>
1   Electron Framework                  0x00000001071d8a33 crashpad::CloseMultipleNowOrOnExec(int, int) + 738803<br>
2   Electron Framework                  0x00000001071f0491 crashpad::CloseMultipleNowOrOnExec(int, int) + 835665<br>
3   Electron Framework                  0x0000000109e8db9c crashpad::CloseMultipleNowOrOnExec(int, int) + 47617884<br>
4   libnode.dylib                       0x000000010b8d242e v8::internal::DeferredHandles::Iterate(v8::internal::ObjectVisitor*) + 20670<br>
5   libnode.dylib                       0x000000010b8d236e v8::internal::DeferredHandles::Iterate(v8::internal::ObjectVisitor*) + 20478<br>
6   libnode.dylib                       0x000000010bd5d67a v8::internal::AllocationSpaceName(v8::internal::AllocationSpace) + 27370<br>
7   libnode.dylib                       0x000000010bd56570 v8::internal::operator&lt;&lt;(std::__1::basic_ostream&lt;char, std::__1::char_traits &gt;&amp;, v8::internal::MachineType) + 76800<br>
8   libnode.dylib                       0x000000010bd56795 v8::internal::operator&lt;&lt;(std::__1::basic_ostream&lt;char, std::__1::char_traits &gt;&amp;, v8::internal::MachineType) + 77349<br>
9   libnode.dylib                       0x000000010bfd3d7d v8::internal::PagedSpace::SlowAllocateRaw(int) + 173<br>
10  libnode.dylib                       0x000000010bb13304 v8::internal::Factory::SetClassFunctionInstanceDescriptor(v8::internal::Handlev8::internal::Map) + 1172<br>
11  libnode.dylib                       0x000000010bd61b5d v8::internal::AllocationSpaceName(v8::internal::AllocationSpace) + 45005<br>
12  libnode.dylib                       0x000000010bd6148a v8::internal::AllocationSpaceName(v8::internal::AllocationSpace) + 43258<br>
13  libnode.dylib                       0x000000010bd5c4ab v8::internal::AllocationSpaceName(v8::internal::AllocationSpace) + 22811<br>
14  libnode.dylib                       0x000000010bd5c16c v8::internal::AllocationSpaceName(v8::internal::AllocationSpace) + 21980<br>
15  libnode.dylib                       0x000000010bd6a2d0 v8::internal::AllocationSpaceName(v8::internal::AllocationSpace) + 79680<br>
16  Electron Framework                  0x00000001072508c2 crashpad::CloseMultipleNowOrOnExec(int, int) + 1229954<br>
17  Electron Framework                  0x00000001071f7e37 crashpad::CloseMultipleNowOrOnExec(int, int) + 866807<br>
18  libsystem_pthread.dylib             0x00007fff5af616c1 _pthread_body + 340<br>
19  libsystem_pthread.dylib             0x00007fff5af6156d _pthread_body + 0<br>
20  libsystem_pthread.dylib             0x00007fff5af60c5d thread_start + 13</p>

<h3 dir="auto">How to reproduce</h3>
<p dir="auto">these steps require use of openwhisk</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="git clone git@github.com:ibm-functions/shell.git
cd shell/app
&lt;update package.json to point to electron 1.8.2-beta.3&gt;
npm install
./bin/fsh shell
execute commands that eventually cause the region to vertically overflow"><pre class="notranslate"><code class="notranslate">git clone git@github.com:ibm-functions/shell.git
cd shell/app
&lt;update package.json to point to electron 1.8.2-beta.3&gt;
npm install
./bin/fsh shell
execute commands that eventually cause the region to vertically overflow
</code></pre></div>