<p dir="auto">Application crashed on  startup only with electron 1.3.3 and 1.3.4,  electron 1.3.2 works good.<br>
OS: ubuntu 16.04 64bit<br>
Error log:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="#
# Fatal error in ../../v8/src/objects.cc, line 2631
# Check failed: receiver-&gt;IsJSFunction().
#

==== C stack trace ===============================

 1: V8_Fatal
 2: 0x7fb76fac8906
 3: v8::Object::CreationContext()
 4: atom::V8ValueConverter::FromV8Object(v8::Local&lt;v8::Object&gt;, atom::V8ValueConverter::FromV8ValueState*, v8::Isolate*) const
 5: atom::V8ValueConverter::FromV8ValueImpl(atom::V8ValueConverter::FromV8ValueState*, v8::Local&lt;v8::Value&gt;, v8::Isolate*) const
 6: atom::V8ValueConverter::FromV8Object(v8::Local&lt;v8::Object&gt;, atom::V8ValueConverter::FromV8ValueState*, v8::Isolate*) const
 7: atom::V8ValueConverter::FromV8ValueImpl(atom::V8ValueConverter::FromV8ValueState*, v8::Local&lt;v8::Value&gt;, v8::Isolate*) const
 8: atom::V8ValueConverter::FromV8Object(v8::Local&lt;v8::Object&gt;, atom::V8ValueConverter::FromV8ValueState*, v8::Isolate*) const
 9: atom::V8ValueConverter::FromV8ValueImpl(atom::V8ValueConverter::FromV8ValueState*, v8::Local&lt;v8::Value&gt;, v8::Isolate*) const
10: atom::V8ValueConverter::FromV8Object(v8::Local&lt;v8::Object&gt;, atom::V8ValueConverter::FromV8ValueState*, v8::Isolate*) const
11: atom::V8ValueConverter::FromV8ValueImpl(atom::V8ValueConverter::FromV8ValueState*, v8::Local&lt;v8::Value&gt;, v8::Isolate*) const
12: atom::V8ValueConverter::FromV8Object(v8::Local&lt;v8::Object&gt;, atom::V8ValueConverter::FromV8ValueState*, v8::Isolate*) const
13: atom::V8ValueConverter::FromV8ValueImpl(atom::V8ValueConverter::FromV8ValueState*, v8::Local&lt;v8::Value&gt;, v8::Isolate*) const
14: atom::V8ValueConverter::FromV8Array(v8::Local&lt;v8::Array&gt;, atom::V8ValueConverter::FromV8ValueState*, v8::Isolate*) const
15: atom::V8ValueConverter::FromV8ValueImpl(atom::V8ValueConverter::FromV8ValueState*, v8::Local&lt;v8::Value&gt;, v8::Isolate*) const
16: atom::V8ValueConverter::FromV8Value(v8::Local&lt;v8::Value&gt;, v8::Local&lt;v8::Context&gt;) const
17: mate::Converter&lt;base::ListValue, void&gt;::FromV8(v8::Isolate*, v8::Local&lt;v8::Value&gt;, base::ListValue*)
18: mate::internal::ArgumentHolder&lt;3ul, base::ListValue const&amp;&gt;::ArgumentHolder(mate::Arguments*, int)
19: mate::internal::Invoker&lt;mate::internal::IndicesHolder&lt;0ul, 1ul, 2ul, 3ul&gt;, atom::api::WebContents*, bool, std::basic_string&lt;unsigned short, base::string16_char_traits, std::allocator&lt;unsigned short&gt; &gt; const&amp;, base::ListValue const&amp;&gt;::Invoker(mate::Arguments*, int)
20: mate::internal::Dispatcher&lt;bool (atom::api::WebContents*, bool, std::basic_string&lt;unsigned short, base::string16_char_traits, std::allocator&lt;unsigned short&gt; &gt; const&amp;, base::ListValue const&amp;)&gt;::DispatchToCallback(v8::FunctionCallbackInfo&lt;v8::Value&gt; const&amp;)
21: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo&lt;v8::Value&gt; const&amp;))
22: 0x7fb76f72b1b7
23: 0x7fb76f72cf86
24: 0x3faa24408ba7

"><pre class="notranslate"><code class="notranslate">#
# Fatal error in ../../v8/src/objects.cc, line 2631
# Check failed: receiver-&gt;IsJSFunction().
#

==== C stack trace ===============================

 1: V8_Fatal
 2: 0x7fb76fac8906
 3: v8::Object::CreationContext()
 4: atom::V8ValueConverter::FromV8Object(v8::Local&lt;v8::Object&gt;, atom::V8ValueConverter::FromV8ValueState*, v8::Isolate*) const
 5: atom::V8ValueConverter::FromV8ValueImpl(atom::V8ValueConverter::FromV8ValueState*, v8::Local&lt;v8::Value&gt;, v8::Isolate*) const
 6: atom::V8ValueConverter::FromV8Object(v8::Local&lt;v8::Object&gt;, atom::V8ValueConverter::FromV8ValueState*, v8::Isolate*) const
 7: atom::V8ValueConverter::FromV8ValueImpl(atom::V8ValueConverter::FromV8ValueState*, v8::Local&lt;v8::Value&gt;, v8::Isolate*) const
 8: atom::V8ValueConverter::FromV8Object(v8::Local&lt;v8::Object&gt;, atom::V8ValueConverter::FromV8ValueState*, v8::Isolate*) const
 9: atom::V8ValueConverter::FromV8ValueImpl(atom::V8ValueConverter::FromV8ValueState*, v8::Local&lt;v8::Value&gt;, v8::Isolate*) const
10: atom::V8ValueConverter::FromV8Object(v8::Local&lt;v8::Object&gt;, atom::V8ValueConverter::FromV8ValueState*, v8::Isolate*) const
11: atom::V8ValueConverter::FromV8ValueImpl(atom::V8ValueConverter::FromV8ValueState*, v8::Local&lt;v8::Value&gt;, v8::Isolate*) const
12: atom::V8ValueConverter::FromV8Object(v8::Local&lt;v8::Object&gt;, atom::V8ValueConverter::FromV8ValueState*, v8::Isolate*) const
13: atom::V8ValueConverter::FromV8ValueImpl(atom::V8ValueConverter::FromV8ValueState*, v8::Local&lt;v8::Value&gt;, v8::Isolate*) const
14: atom::V8ValueConverter::FromV8Array(v8::Local&lt;v8::Array&gt;, atom::V8ValueConverter::FromV8ValueState*, v8::Isolate*) const
15: atom::V8ValueConverter::FromV8ValueImpl(atom::V8ValueConverter::FromV8ValueState*, v8::Local&lt;v8::Value&gt;, v8::Isolate*) const
16: atom::V8ValueConverter::FromV8Value(v8::Local&lt;v8::Value&gt;, v8::Local&lt;v8::Context&gt;) const
17: mate::Converter&lt;base::ListValue, void&gt;::FromV8(v8::Isolate*, v8::Local&lt;v8::Value&gt;, base::ListValue*)
18: mate::internal::ArgumentHolder&lt;3ul, base::ListValue const&amp;&gt;::ArgumentHolder(mate::Arguments*, int)
19: mate::internal::Invoker&lt;mate::internal::IndicesHolder&lt;0ul, 1ul, 2ul, 3ul&gt;, atom::api::WebContents*, bool, std::basic_string&lt;unsigned short, base::string16_char_traits, std::allocator&lt;unsigned short&gt; &gt; const&amp;, base::ListValue const&amp;&gt;::Invoker(mate::Arguments*, int)
20: mate::internal::Dispatcher&lt;bool (atom::api::WebContents*, bool, std::basic_string&lt;unsigned short, base::string16_char_traits, std::allocator&lt;unsigned short&gt; &gt; const&amp;, base::ListValue const&amp;)&gt;::DispatchToCallback(v8::FunctionCallbackInfo&lt;v8::Value&gt; const&amp;)
21: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo&lt;v8::Value&gt; const&amp;))
22: 0x7fb76f72b1b7
23: 0x7fb76f72cf86
24: 0x3faa24408ba7


</code></pre></div>
<ul dir="auto">
<li>Electron version: 1.3.3 +</li>
<li>Operating system: Windows 7<br>
After version 1.3.3 of electron when using webContents.send and sending the request variable, from an http listening server, as a parameter, the application will crash with the following npm errors:<br>
npm ERR! Windows_NT 6.1.7601<br>
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:<br>
npm ERR! node v4.4.7<br>
npm ERR! npm  v2.15.8<br>
npm ERR! code ELIFECYCLE<br>
npm ERR! test-app@1.0.0 start: <code class="notranslate">electron server.js</code><br>
npm ERR! Exit status 3221225477<br>
npm ERR!<br>
npm ERR! Failed at the test-app@1.0.0 start script 'elect<br>
npm ERR! This is most likely a problem with the test-app<br>
npm ERR! not with npm itself.<br>
npm ERR! Tell the author that this fails on your system:<br>
npm ERR!     electron server.js<br>
npm ERR! You can get information on how to open an issue<br>
npm ERR!     npm bugs test-app<br>
npm ERR! Or if that isn't available, you can get their in<br>
npm ERR!<br>
npm ERR!     npm owner ls test-app<br>
npm ERR! There is likely additional logging output above.</li>
</ul>
<p dir="auto">I have tested this for most versions prior to 1.3.3 with no issues.  Only 1.3.3 and 1.3.4 are currently showing the issue above.</p>
<p dir="auto">A quick example script to try is:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="// electron main
var app = require('electron').app;
var BrowserWindow = require('electron').BrowserWindow;
//var app = require(&quot;app&quot;);

app.on(&quot;ready&quot;, function () {
    var ipc = require(&quot;electron&quot;).ipcMain;

    var window = new BrowserWindow({show: true});
    window.loadURL(&quot;file://&quot; + __dirname + &quot;/window.html&quot;);
    window.webContents.once(&quot;did-finish-load&quot;, function () {
        var http = require(&quot;http&quot;);
        var crypto = require(&quot;crypto&quot;);
        var port = crypto.randomBytes(16).toString(&quot;hex&quot;);
        var server = http.createServer(function(req,res) {
          ipc.once(port, function(ev, status, head, body) {
            res.writeHead(status, head);
            res.end(body);
          });
          window.webContents.send(&quot;ping&quot;, req, &quot;two&quot;);
        });
        server.listen(9021);
        console.log(&quot;http://localhost:9021/&quot;);
    });
});"><pre class="notranslate"><code class="notranslate">// electron main
var app = require('electron').app;
var BrowserWindow = require('electron').BrowserWindow;
//var app = require("app");

app.on("ready", function () {
    var ipc = require("electron").ipcMain;

    var window = new BrowserWindow({show: true});
    window.loadURL("file://" + __dirname + "/window.html");
    window.webContents.once("did-finish-load", function () {
        var http = require("http");
        var crypto = require("crypto");
        var port = crypto.randomBytes(16).toString("hex");
        var server = http.createServer(function(req,res) {
          ipc.once(port, function(ev, status, head, body) {
            res.writeHead(status, head);
            res.end(body);
          });
          window.webContents.send("ping", req, "two");
        });
        server.listen(9021);
        console.log("http://localhost:9021/");
    });
});
</code></pre></div>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="//RenderProcess
var ipc = require(&quot;electron&quot;).ipcRenderer;
console.log(&quot;second&quot;);

// server handler
window.addEventListener(&quot;load&quot;, function () {
    console.log(&quot;start&quot;);
    var ipc = require(&quot;electron&quot;).ipcRenderer;
    ipc.on(&quot;ping&quot;, function(event, reg, port) {
      console.log(reg);
      console.log(port);
    });
}, false);"><pre class="notranslate"><code class="notranslate">//RenderProcess
var ipc = require("electron").ipcRenderer;
console.log("second");

// server handler
window.addEventListener("load", function () {
    console.log("start");
    var ipc = require("electron").ipcRenderer;
    ipc.on("ping", function(event, reg, port) {
      console.log(reg);
      console.log(port);
    });
}, false);
</code></pre></div>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="//HTML
&lt;!doctype html&gt;
&lt;html&gt;&lt;head&gt;&lt;script src=&quot;window.js&quot;&gt;&lt;/script&gt;&lt;/head&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;
"><pre class="notranslate"><code class="notranslate">//HTML
&lt;!doctype html&gt;
&lt;html&gt;&lt;head&gt;&lt;script src="window.js"&gt;&lt;/script&gt;&lt;/head&gt;&lt;body&gt;&lt;/body&gt;&lt;/html&gt;

</code></pre></div>