mono_domain_get() relies on the current thread being already
attached, while mono_get_root_domain() simply returns
the first created domain.

The latter is what you want in most of the cases.

Robert

On 06.08.2013 08:49, Chris Ochs wrote:
Hmm, so mono_get_root_domain() doesn't segfault.


On Mon, Aug 5, 2013 at 11:37 PM, Chris Ochs <[email protected]> wrote:

Hey thanks that solved most of the problem.  I'm getting a segfault now
when I call mono_thread_attach(mono_domain_get()) at some point later in a
thread that's not the main thread.

I have a functions to load the image, create objects, and call methods on
those objects.

What works is if I create the image and objects in the main thread, then
make calls to the objects from any other java thread.  What's strange is
that when calling a method on the object in another thread,  if I pass
mono_domain_get() to mono_thread_attach it segfaults, but if I get the
domain by calling mono_object_get_domain on the object I am calling a
method on, it works fine.

I'll post more info when I get it.  This kind of stuff might be good to
put in the embedding docs.


On Mon, Aug 5, 2013 at 6:52 AM, Rodrigo Kumpera <[email protected]> wrote:

For Java, try this:
http://docs.oracle.com/javase/6/docs/technotes/guides/vm/signal-chaining.html


On Mon, Aug 5, 2013 at 1:49 AM, Chris Ochs <[email protected]> wrote:

It appears that java and mono both use some of the same signals for GC
and pthreads, and step on each other.  If you embed mono in a java app it
works fine until you start spinning up other java threads, then it
eventually segfaults.  This happens even if you do nothing but call
mono_jit_init in the main thread.


On Fri, Aug 2, 2013 at 10:50 PM, snacktime <[email protected]> wrote:

I'm embedding mono using C, which I'm calling from java.   I'm loading
the
mono runtime in the main thread.  That all works fine, until I load the
rest
of my app, at which point it segfaults.  It does this even when the only
thing I do is call mono_jit_init().  My c method that calls that returns
void, there are no references to anything from the mono side that I'm
carrying around.

I'd debug it with gdb but it's a jruby app, and I haven't figured out
how to
debug that under gdb.






--
View this message in context:
http://mono.1490590.n4.nabble.com/embeded-mono-segfaults-without-calling-managed-code-tp4660386.html
Sent from the Mono - General mailing list archive at Nabble.com.
_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list



_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list







_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list


_______________________________________________
Mono-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to