Dave Anderson wrote:
----- "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?
That's true.
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?
Yes.
Can you make a vmlinux/vmcore pair available for me to download?
Ok, will do later.
Thanks,
Gui
Thanks,
Dave