----- "Gui Jianfeng" <guijianfeng(a)cn.fujitsu.com> wrote:
Dave Anderson wrote:
> ----- "Dave Anderson" <anderson(a)redhat.com> wrote:
>
>> ----- "Paolo Bonzini" <pbonzini(a)redhat.com> wrote:
>>
>>>> According to coredump, seems crash crashed at get_idt_base().
>>>> device_find_instance() fails to find "cpu" instance.
>>> I think Dave already has a patch for this.
>>>
>>> Paolo
>> The patch for get_idt_base() was put in crash version 5.0.4.
>> Looking back at the mail archives, though, I don't see what
>> version Gui is/was using?
>>
>> Dave
>
> Now I see with the crash debug output that Gui is using version
> 5.0.3. Can you please retry Paolo's patch on top of version
> 5.0.4?
>
Hi Dave,
I did apply Paolo's patch on top of version 5.0.4, the bug is still there.
I checked the 5.0.4 changelog and didn't see the fix for this.
Sorry, the 5.0.4 fix I was referring to was in get_kernel_base(), which is
called with the result from get_idt_base(). So, just to be clear, when it
crashes in get_idt_base(), it's because device_find_instance() call returns
a NULL?
static uint64_t
get_idt_base(struct qemu_device_list *dl)
{
struct qemu_device_x86 *dx86 = (struct qemu_device_x86 *)
device_find_instance (dl, "cpu", 0);
return dx86->idt.base;
}
So, it seems that with Paolo's patch, it can find the "block" device, but
then can no longer find the "cpu" device?
Can you make a vmlinux/vmcore pair available for me to download?
Thanks,
Dave