Subject: Re: x86 changes
To: Mikolaj Golub <to.my.trociny@gmail.com>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: port-xen
Date: 09/27/2007 20:42:58
On Thu, Sep 27, 2007 at 03:21:02PM +0300, Mikolaj Golub wrote:
> 
> On Thu, 27 Sep 2007 12:59:46 +0300 Mikolaj Golub wrote:
> 
>  MG> On Thu, 27 Sep 2007 09:45:45 +0200 Christoph Egger wrote:
> 
>  >>> It looks like http://www.netbsd.org/~ad/x86.diff is still old patch. Could
>  >>> you point where I can find patch with your last fixes to try?
> 
>  CE>> I think, AD committed this patch. So try -current. :-)
> 
>  MG> Oh, yes, I see it in current. Thaks.
> 
> I have tried today current kernel. It crashes when starting xend:
> 
> > Mounting all filesystems...
> > Clearing temporary files.
> > Starting xend.
> > uvm_fault(0xc654ba20, 0, 2) -> 0xe
> > fatal page fault in supervisor mode
> > trap type 6 code 2 eip c04c908d cs 9 eflags 10246 cr2 0 ilevel b
> > panic: trap
> > syncing disks... Mutex error: mutex_vector_enter: locking against myself
> > 
> > lock address : 0x00000000c090d740
> > current cpu  :                  0
> > current lwp  : 0x00000000c7de7700
> > owner field  : 0x0000000000010b00 wait/spin:                0/1
> > 
> > panic: lock error
> > 
> > dumping to dev 0,1 offset 940022
> > dump 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 2d


I get:
uvm_fault(0xc656b0d8, 0, 2) -> 0xe
fatal page fault in supervisor mode
trap type 6 code 2 eip c04d1fcd cs 9 eflags 10246 cr2 0 ilevel b
kernel: supervisor trap page fault, code=0
Stopped in pid 522.1 (python2.4) at     netbsd:mutex_enter+0xd: cmpxchgl        %ecx,0(%edx)
db> show registers
ds          0x11
es          0x11
fs          0x31
gs          0x11
edi         0
esi         0xffffffff
ebp         0xc840f844
ebx         0xbbafc910
edx         0x8
ecx         0xc7e54c40
eax         0
eip         0xc04d1fcd  mutex_enter+0xd
cs          0x9
eflags      0x10246
esp         0xc840f818
ss          0x11
netbsd:mutex_enter+0xd: cmpxchgl        %ecx,0(%edx)
db> tr             
mutex_enter(0,bbafc910,c6561e00,4,c7e54c40) at netbsd:mutex_enter+0xd
cpu_switchto(c7e54c40,c0d6ac50,c840f8dc,c0482518,0) at netbsd:cpu_switchto+0x81
sleepq_block(0,0,c0843d88,0,c0d6ac58) at netbsd:sleepq_block+0x8e
biowait(c0d6ac50,0,0,c840fa5c,c840fa44) at netbsd:biowait+0x54
genfs_getpages(c840fa94,1000,c840fabc,c03c58eb,c06f6e00) at netbsd:genfs_getpage
s+0xf4f
VOP_GETPAGES(c7e1f000,18000,0,c840fbcc,c840fbd8) at netbsd:VOP_GETPAGES+0x52
uvm_fault_internal(c656b0d8,bbafc000,1,0,0) at netbsd:uvm_fault_internal+0xfae
trap() at netbsd:trap+0x405
--- trap (number 6) ---
0xbbafc910:
db> 

Any idea ?

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--