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

Chris Ochs chris at ochsnet.com
Tue Aug 6 06:49:46 UTC 2013


Hmm, so mono_get_root_domain() doesn't segfault.


On Mon, Aug 5, 2013 at 11:37 PM, Chris Ochs <chris at ochsnet.com> 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 <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/dac01279/attachment-0001.html>


More information about the Mono-list mailing list