qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Windows build crash problem


From: andrzej zaborowski
Subject: Re: [Qemu-devel] Windows build crash problem
Date: Sun, 16 Dec 2007 13:45:48 +0100

Hi,

On 12/12/2007, 武田 俊也 <address@hidden> wrote:
> I encountered the crash problem with windows build on Core-Duo host.
> Qemu crashes in cpu_interrupt() called from host_alarm_handler() in vl.c
> because CPUState *env = next_cpu is null.
>
> I tried the patch to check env is not null in host_alarm_handler()
> and now qemu does not crash.
>
>         CPUState *env = next_cpu;
> +       if(env) {
>         /* stop the currently executing cpu because a timer occured */
>         cpu_interrupt(env, CPU_INTERRUPT_EXIT);
> #ifdef USE_KQEMU
>         if (env->kqemu_enabled) {
>             kqemu_cpu_interrupt(env);
>         }
> #endif
> +       }
>         event_pending = 1;
> }
>
> This is very temporary patch and I need to investigate
> why next_cpu is null but sorry now I dont have enough time.

It is NULL before main_loop starts. I thought the alarm wouldn't occur
before main_loop but apparently it happens. A better solution might be
not scheduling SIG_ALRM if next_cpu is unset, but that would be more
messy. _rearm must execute at least as many times as
host_alarm_handler so a check there would be less optimal. I committed
your patch.
Cheers

reply via email to

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