qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Sigsegv error when create JVM, called by bdrv_create in


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] Sigsegv error when create JVM, called by bdrv_create in block.c
Date: Fri, 8 Feb 2013 09:13:23 +0100

On Fri, Feb 8, 2013 at 6:17 AM, harryxiyou <address@hidden> wrote:
> On Fri, Feb 8, 2013 at 12:11 AM, Peter Maydell <address@hidden> wrote:
>> On 7 February 2013 16:08, Stefan Hajnoczi <address@hidden> wrote:
>>> On Thu, Feb 7, 2013 at 3:12 PM, harryxiyou <address@hidden> wrote:
>>>> The above debug info show jni will be used in coroutine. I do not
>>>> familay with coroutine, however I guess if coroutine not allow to
>>>> spawn a new thread? ,or it's stack corrupte with java jvm stack ? ,
>>>> For when I modify bdrv_create out of coroutine , it can work - connect
>>>> to hdfs without any probleme.
>>>
>>> Coroutines are allowed to create new threads.
>>>
>>> Coroutine stacks do not grow automatically but they have 1 MB, which
>>> should be enough.
>>>
>>> There are a number of other things that could be wrong here -
>>> missing/incorrect thread synchronization, the shared libraries you are
>>> importing messing with the environment (signal masks, signal
>>> handlers), etc.
>>
>> I would suggest that trying to start an entire JVM from within
>> QEMU is likely to be brittle at best even if you do get it to
>> work, because you've got two big complicated codebases which
>> will probably squabble over threads, signal handling, etc etc,
>> because they weren't intended to work as part of some other
>> large process.
>>
>
> Hi:Peter,Stefan
> Can I modify block.c , like below ?  - make bdrv_create_co_entry
> called out of coroutine !

At this point the reason why libjvm.so crashes is not known.
Understand the problem, don't hack around it.

If you want to avoid these kinds of problems, follow Peter's advice
and don't try to run a Java VM inside the QEMU process.

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]