[Mono-list] embeded mono segfaults without calling managed code

Chris Ochs chris at ochsnet.com
Tue Aug 6 06:37:22 UTC 2013


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 <kumpera at gmail.com> 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 <chris at ochsnet.com> 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 <chris at ochsnet.com> 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  -  Mono-list at lists.ximian.com
>>> http://lists.ximian.com/mailman/listinfo/mono-list
>>>
>>
>>
>> _______________________________________________
>> Mono-list maillist  -  Mono-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-list
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ximian.com/pipermail/mono-list/attachments/20130805/c488b2ef/attachment.html>


More information about the Mono-list mailing list