[Mono-list] mono_runtime_invoke crash
tbrooks
tom at taitale.com
Sat Sep 13 20:30:19 UTC 2014
I've broken everything down to an extremely simple test, this crashes for me
about every other run with an access violation 0x00000C (so a null pointer
somewhere in mono_runtime_invoke). It seems related to Console.WriteLine; if
it is removed the crashing stops.
Code [Pastebin]:
C++: http://pastebin.com/x4d24xPH
C#: http://pastebin.com/uJuFnXEL
Code [Raw]:
C++:
MonoClass* monoClass = mono_class_from_name( monoImage, "Test", "TestClass"
);
MonoObject* monoObj = mono_object_new( monoDomain, monoClass );
mono_runtime_object_init( monoObj );
int handle = mono_gchandle_new( monoObj, false );
MonoMethodDesc* monoMethodSetSomeValueDesc = mono_method_desc_new(
"Test.TestClass::__internal_SetSomeValue", true );
MonoMethod* monoMethodSetSomeValue = mono_method_desc_search_in_class(
monoMethodSetSomeValueDesc, monoClass );
int test = 1234;
void* args[1];
args[0] = &test;
MonoObject* exc;
MonoObject* testObj = mono_gchandle_get_target( handle );
std::cout << "Test Obj: " << testObj << std::endl;
mono_runtime_invoke( monoMethodSetSomeValue, mono_gchandle_get_target(
handle ), args, &exc );
mono_gchandle_free( handle );
C#:
using System;
namespace Test
{
public class TestClass
{
public TestClass() { }
public int someValue = 0;
public void __internal_SetSomeValue(int val)
{
someValue = val;
Console.WriteLine(val);
}
}
}
--
View this message in context: http://mono.1490590.n4.nabble.com/mono-runtime-invoke-crash-tp4663860.html
Sent from the Mono - General mailing list archive at Nabble.com.
More information about the Mono-list
mailing list