general protection fault on boot.
Vincent Hoffman
vince at unsane.co.uk
Thu Sep 10 13:02:15 UTC 2009
Kostik Belousov wrote:
> On Thu, Sep 10, 2009 at 11:34:23AM +0100, Vincent Hoffman wrote:
>
>> Kostik Belousov wrote:
>>
>>> On Wed, Sep 09, 2009 at 01:38:59PM -0400, John Baldwin wrote:
>>>
>>>
>>>> On Wednesday 09 September 2009 12:32:51 pm Vincent Hoffman wrote:
>>>>
>>>>
>>>>> Hi all,
>>>>> I've been running the 8.0-BETAs in a xen virtual machine
>>>>> (hvm/fully virtualised) for testing and something between r196730 and
>>>>> r196746 causes a general protection fault on boot. I'll try and narrow
>>>>> it down if i get a chance but I'm a a bit busy at the moment.
>>>>>
>>>>> backtrace is available at
>>>>> http://unsane.co.uk/~jhary/freebsd/GPF-09-09-09.gif
>>>>> Xen dom0 is a centos5.3 box using the xen-3.3.1 rpms from
>>>>> http://www.gitco.de/linux/i386/centos/5/rpms/ if thats of any use.
>>>>>
>>>>> Let me know if I need to provide any more info.
>>>>>
>>>>>
>>>> Hmm, can you try reverting 196737? Or actually, can you print out the value
>>>> of %ebx ('p $ebx' in ddb will work I think)? I wonder if this patch would
>>>> fix it:
>>>>
>>>> Index: pmap.c
>>>> ===================================================================
>>>> --- pmap.c (revision 196974)
>>>> +++ pmap.c (working copy)
>>>> @@ -999,7 +999,7 @@
>>>> * coherence domain.
>>>> */
>>>> mfence();
>>>> - for (; sva < eva; sva += cpu_clflush_line_size)
>>>> + for (; sva <= eva; sva += cpu_clflush_line_size)
>>>> clflush(sva);
>>>> mfence();
>>>> } else {
>>>>
>>>>
>>> Oh, no, another pointy hat to me :(.
>>>
>>> Please, try this patch instead.
>>>
>>> diff --git a/sys/i386/xen/pmap.c b/sys/i386/xen/pmap.c
>>> index 4b81aae..122318c 100644
>>> --- a/sys/i386/xen/pmap.c
>>> +++ b/sys/i386/xen/pmap.c
>>> @@ -1004,8 +1004,8 @@ pmap_invalidate_cache_range(vm_offset_t sva, vm_offset_t eva)
>>> * coherence domain.
>>> */
>>> mfence();
>>> - for (; eva < sva; eva += cpu_clflush_line_size)
>>> - clflush(eva);
>>> + for (; sva < eva; sva += cpu_clflush_line_size)
>>> + clflush(sva);
>>> mfence();
>>> } else {
>>>
>>>
>>>
>> Hi,
>> I tried this this morning with no joy i'm afraid.
>> not much change but new backtrace (with p $ebx) at
>> http://www.unsane.co.uk/~jhary/freebsd/10-09-09.gif
>>
> I would need the panic message and ddb lines that are not
> present on your screenshot.
>
> Also, the dmesg is interesting (CPU features report).
>
Sorry, did need more coffee after all then.
http://unsane.co.uk/~jhary/freebsd/gpf-10-09-09-1.gif
http://unsane.co.uk/~jhary/freebsd/gpf-10-09-09-2.gif
http://unsane.co.uk/~jhary/freebsd/dmesg.boot
like I said, Console access via vnc is available if wanted.
Vince
>> Just to check I'm not in need of more coffee as i'm still learning svn
>> (and my coding skills such as they are lie in shell and perl)
>>
>> krill# svn info
>> Path: .
>> URL: svn://svn.freebsd.org/base/stable/8
>> Repository Root: svn://svn.freebsd.org/base
>> Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
>> Revision: 196740
>> Node Kind: directory
>> Schedule: normal
>> Last Changed Author: rnoland
>> Last Changed Rev: 196737
>> Last Changed Date: 2009-09-01 17:41:28 +0100 (Tue, 01 Sep 2009)
>>
>>
>> krill# sed -n '1010,1017p' sys/i386/xen/pmap.c
>> * coherence domain.
>> */
>> mfence();
>> for (; sva < eva; sva += cpu_clflush_line_size)
>> clflush(sva);
>> mfence();
>> } else {
>>
>> krill#
>>
>> Happy to give vnc access to the console of the machine if that would help.
>>
>> Vince
>>
More information about the freebsd-stable
mailing list