Issue 1:
Application crashed on startup only with electron 1.3.3 and 1.3.4, electron 1.3.2 works good.

OS: ubuntu 16.04 64bit

Error log:

#
# Fatal error in ../../v8/src/objects.cc, line 2631
# Check failed: receiver->IsJSFunction().
#

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

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

Issue 2:
Electron version: 1.3.3 +

Operating system: Windows 7

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:

npm ERR! Windows_NT 6.1.7601

npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:

npm ERR! node v4.4.7

npm ERR! npm v2.15.8

npm ERR! code ELIFECYCLE

npm ERR! test-app@1.0.0 start: electron server.js

npm ERR! Exit status 3221225477

npm ERR!

npm ERR! Failed at the test-app@1.0.0 start script 'elect

npm ERR! This is most likely a problem with the test-app

npm ERR! not with npm itself.

npm ERR! Tell the author that this fails on your system:

npm ERR! electron server.js

npm ERR! You can get information on how to open an issue

npm ERR! npm bugs test-app

npm ERR! Or if that isn't available, you can get their in

npm ERR!

npm ERR! npm owner ls test-app

npm ERR! There is likely additional logging output above.

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.

A quick example script to try is:

// 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/");
});
});

//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);

//HTML
<!doctype html>
<html><head><script src="window.js"></script></head><body></body></html>