Skip to content

SetMethod throwing exception after upgrading to v8.0.0 #644

Closed
@gamelaster

Description

@gamelaster
  • Node.js Version: v8.0.0
  • OS: Windows 10 x64
  • Scope (install, code, runtime, meta, other?): Runtime (native/embedding)
  • Module (and version) (if relevant):

I embedded successfully NodeJS v7.10.0 into my C++ project. After updating to v8.0.0, I getting Access violation reading location on first line of stacktrace.
Stacktrace:

	node.dll!v8::FunctionTemplate::SetCallHandler(void(*)(const v8::FunctionCallbackInfo<v8::Value> &) callback, v8::Local<v8::Value> data) Line 1393	C++
 	node.dll!v8::FunctionTemplateNew(v8::internal::Isolate * isolate, void(*)(const v8::FunctionCallbackInfo<v8::Value> &) callback, v8::Local<v8::Value> data, v8::Local<v8::Signature> signature, int length, bool do_not_cache, v8::Local<v8::Private> cached_property_name) Line 1309	C++
 	node.dll!v8::FunctionTemplate::New(v8::Isolate * isolate, void(*)(const v8::FunctionCallbackInfo<v8::Value> &) callback, v8::Local<v8::Value> data, v8::Local<v8::Signature> signature, int length, v8::ConstructorBehavior behavior) Line 1332	C++
 	nodejs-module.dll!node::gameModule::Initialize(v8::Local<v8::Object> target, v8::Local<v8::Value> unused, v8::Local<v8::Context> context) Line 176	C++
 	node.dll!node::Binding(const v8::FunctionCallbackInfo<v8::Value> & args) Line 2744	C++
 	node.dll!v8::internal::FunctionCallbackArguments::Call(void(*)(const v8::FunctionCallbackInfo<v8::Value> &) f) Line 26	C++
 	node.dll!v8::internal::`anonymous namespace'::HandleApiCallHelper<0>(v8::internal::Isolate * isolate, v8::internal::Handle<v8::internal::HeapObject> function, v8::internal::Handle<v8::internal::HeapObject> new_target, v8::internal::Handle<v8::internal::FunctionTemplateInfo> fun_data, v8::internal::Handle<v8::internal::Object> receiver, v8::internal::BuiltinArguments args) Line 113	C++
 	node.dll!v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments args, v8::internal::Isolate * isolate) Line 140	C++
 	node.dll!v8::internal::Builtin_HandleApiCall(int args_length, v8::internal::Object * * args_object, v8::internal::Isolate * isolate) Line 128	C++

Code:

		void Initialize(v8::Local<v8::Object> target, v8::Local<v8::Value> unused, v8::Local<v8::Context> context)
		{
			Environment* env = Environment::GetCurrent(context);

			env->SetMethod(target, "onResourceLoad", OnResourceLoadFunction); //Line 176 of nodejs-module
			env->SetMethod(target, "onEvent", OnEventFunction);
...
NODE_MODULE_CONTEXT_AWARE_BUILTIN(gameModule, node::gameModule::Initialize);

JS:

global.gameModule = process.binding('gameModule');

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions