general protection fault on boot.

Vincent Hoffman vince at unsane.co.uk
Thu Sep 10 10:34:26 UTC 2009


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

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