* [Qemu-devel] Crash on Windows XP startup
@ 2012-11-08 18:53 Gerhard Wiesinger
2012-11-09 18:42 ` Catalin Patulea
0 siblings, 1 reply; 3+ messages in thread
From: Gerhard Wiesinger @ 2012-11-08 18:53 UTC (permalink / raw)
To: david, qemu-devel
Hello,
I bisected down a Windows XP startup crash to the following commit:
0b57e287138728f72d88b06e69b970c5d745c44a is the first bad commit
commit 0b57e287138728f72d88b06e69b970c5d745c44a
Author: David Gibson <david@gibson.dropbear.id.au>
Date: Mon Sep 10 12:30:57 2012 +1000
Reproduceable on qemu HEAD and by commenting out the refactored patch
into a function.
How to proceed?
Ciao,
Gerhard
diff --git a/exec.c b/exec.c
index af94f9c..a937882 100644
--- a/exec.c
+++ b/exec.c
@@ -3501,7 +3501,7 @@ void cpu_physical_memory_write_rom(hwaddr addr,
/* ROM/RAM case */
ptr = qemu_get_ram_ptr(addr1);
memcpy(ptr, buf, l);
- invalidate_and_set_dirty(addr1, l);
+ //invalidate_and_set_dirty(addr1, l);
qemu_put_ram_ptr(ptr);
}
len -= l;
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] Crash on Windows XP startup
2012-11-08 18:53 [Qemu-devel] Crash on Windows XP startup Gerhard Wiesinger
@ 2012-11-09 18:42 ` Catalin Patulea
2012-11-09 18:59 ` Catalin Patulea
0 siblings, 1 reply; 3+ messages in thread
From: Catalin Patulea @ 2012-11-09 18:42 UTC (permalink / raw)
To: Gerhard Wiesinger; +Cc: qemu-devel, david
SIGSEGV is in target code:
(gdb) bt
#0 0x00000000402fd349 in code_gen_buffer ()
#1 0x000000000056113b in cpu_x86_exec (env=0x19489f0)
at /usr/local/google/home/catalinp/src/qemu/cpu-exec.c:599
#2 0x00000000005625f9 in tcg_cpu_exec (env=0x19489f0)
at /usr/local/google/home/catalinp/src/qemu/cpus.c:1115
#3 tcg_exec_all () at /usr/local/google/home/catalinp/src/qemu/cpus.c:1148
#4 qemu_tcg_cpu_thread_fn (arg=<optimized out>)
at /usr/local/google/home/catalinp/src/qemu/cpus.c:841
#5 0x00007ffff6315e9a in start_thread (arg=0x7fffee690700) at
pthread_create.c:308
#6 0x00007ffff6042cbd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7 0x0000000000000000 in ?? ()
The patch (disabling the invalidate_and_set_dirty) does fix it for me as well.
On Thu, Nov 8, 2012 at 1:53 PM, Gerhard Wiesinger <lists@wiesinger.com> wrote:
> Hello,
>
> I bisected down a Windows XP startup crash to the following commit:
>
> 0b57e287138728f72d88b06e69b970c5d745c44a is the first bad commit
> commit 0b57e287138728f72d88b06e69b970c5d745c44a
> Author: David Gibson <david@gibson.dropbear.id.au>
> Date: Mon Sep 10 12:30:57 2012 +1000
>
> Reproduceable on qemu HEAD and by commenting out the refactored patch into a
> function.
>
> How to proceed?
>
> Ciao,
> Gerhard
>
> diff --git a/exec.c b/exec.c
> index af94f9c..a937882 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -3501,7 +3501,7 @@ void cpu_physical_memory_write_rom(hwaddr addr,
> /* ROM/RAM case */
> ptr = qemu_get_ram_ptr(addr1);
> memcpy(ptr, buf, l);
> - invalidate_and_set_dirty(addr1, l);
> + //invalidate_and_set_dirty(addr1, l);
> qemu_put_ram_ptr(ptr);
> }
> len -= l;
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] Crash on Windows XP startup
2012-11-09 18:42 ` Catalin Patulea
@ 2012-11-09 18:59 ` Catalin Patulea
0 siblings, 0 replies; 3+ messages in thread
From: Catalin Patulea @ 2012-11-09 18:59 UTC (permalink / raw)
To: Gerhard Wiesinger; +Cc: qemu-devel, david
I can post the target code and the code generated by TCG - not sure
how helpful that would be. There also seems to be a diff between what
is logged by "-d out_asm" and what I see in gdb with disass, and the
segv occurs in one of the diff blocks.
On Fri, Nov 9, 2012 at 1:42 PM, Catalin Patulea <catalinp@google.com> wrote:
> SIGSEGV is in target code:
>
> (gdb) bt
> #0 0x00000000402fd349 in code_gen_buffer ()
> #1 0x000000000056113b in cpu_x86_exec (env=0x19489f0)
> at /usr/local/google/home/catalinp/src/qemu/cpu-exec.c:599
> #2 0x00000000005625f9 in tcg_cpu_exec (env=0x19489f0)
> at /usr/local/google/home/catalinp/src/qemu/cpus.c:1115
> #3 tcg_exec_all () at /usr/local/google/home/catalinp/src/qemu/cpus.c:1148
> #4 qemu_tcg_cpu_thread_fn (arg=<optimized out>)
> at /usr/local/google/home/catalinp/src/qemu/cpus.c:841
> #5 0x00007ffff6315e9a in start_thread (arg=0x7fffee690700) at
> pthread_create.c:308
> #6 0x00007ffff6042cbd in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
> #7 0x0000000000000000 in ?? ()
>
> The patch (disabling the invalidate_and_set_dirty) does fix it for me as well.
>
> On Thu, Nov 8, 2012 at 1:53 PM, Gerhard Wiesinger <lists@wiesinger.com> wrote:
>> Hello,
>>
>> I bisected down a Windows XP startup crash to the following commit:
>>
>> 0b57e287138728f72d88b06e69b970c5d745c44a is the first bad commit
>> commit 0b57e287138728f72d88b06e69b970c5d745c44a
>> Author: David Gibson <david@gibson.dropbear.id.au>
>> Date: Mon Sep 10 12:30:57 2012 +1000
>>
>> Reproduceable on qemu HEAD and by commenting out the refactored patch into a
>> function.
>>
>> How to proceed?
>>
>> Ciao,
>> Gerhard
>>
>> diff --git a/exec.c b/exec.c
>> index af94f9c..a937882 100644
>> --- a/exec.c
>> +++ b/exec.c
>> @@ -3501,7 +3501,7 @@ void cpu_physical_memory_write_rom(hwaddr addr,
>> /* ROM/RAM case */
>> ptr = qemu_get_ram_ptr(addr1);
>> memcpy(ptr, buf, l);
>> - invalidate_and_set_dirty(addr1, l);
>> + //invalidate_and_set_dirty(addr1, l);
>> qemu_put_ram_ptr(ptr);
>> }
>> len -= l;
>>
>>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-11-09 18:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-08 18:53 [Qemu-devel] Crash on Windows XP startup Gerhard Wiesinger
2012-11-09 18:42 ` Catalin Patulea
2012-11-09 18:59 ` Catalin Patulea
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).