From owner-freebsd-current Thu Jun 20 0: 8:28 2002 Delivered-To: freebsd-current@freebsd.org Received: from hotmail.com (oe33.pav0.hotmail.com [64.4.32.113]) by hub.freebsd.org (Postfix) with ESMTP id A98A237B40F for ; Thu, 20 Jun 2002 00:08:12 -0700 (PDT) Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Thu, 20 Jun 2002 00:08:12 -0700 X-Originating-IP: [210.74.136.33] From: "kai ouyang" To: "Scott Long" , , "Terry Lambert" Subject: Debug report Date: Thu, 20 Jun 2002 15:07:56 +0800 MIME-Version: 1.0 X-Mailer: MSN Explorer 7.00.0021.1900 Content-Type: multipart/mixed; boundary="----=_NextPart_001_0002_01C2186C.41F931A0" Message-ID: X-OriginalArrivalTime: 20 Jun 2002 07:08:12.0598 (UTC) FILETIME=[3D995560:01C21829] Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG ------=_NextPart_001_0002_01C2186C.41F931A0 Content-Type: multipart/alternative; boundary="----=_NextPart_002_0003_01C2186C.41F931A0" ------=_NextPart_002_0003_01C2186C.41F931A0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Dear Scott and Terry, =20 Thank your help very much! When I configured the 'raid0' device, I excute 'raidctl -s raid0'. The system info: kernel: type 12 trap, code=3D0 Stopped at InitBP+0x64: movl %eax, 0xec(%edx) db> I type 'trace' there are : InitBP(cdbccf00,cdb92960,2,c1bc1500,40,0,1,0, c1cae200,c0170440,c1cb3800,= 9) at InitBP+0x64 ................ Context switches not allowed in the debugger. db> I have no experience on kernel debug. I do not know that means what. There is the function InitBP I modified to support Current. Could you hel= p me to check? static void =20 InitBP(bp, b_vp, rw_flag, dev, startSect, numSect, buf, cbFunc, cbArg, logBytesPerSector) struct bio *bp; struct vnode *b_vp; unsigned rw_flag; dev_t dev; RF_SectorNum_t startSect; RF_SectorCount_t numSect; caddr_t buf; void (*cbFunc) (struct bio *); void *cbArg; int logBytesPerSector; { /* bp->b_flags =3D B_PHYS | rw_flag; */ /*bp->bio_flags =3D B_CALL | rw_flag; XXX need B_PHYS here too? */ =20 bp->bio_bcount =3D numSect << logBytesPerSector; bp->bio_caller1 =3D(void *) bp->bio_bcount; bp->bio_error =3D 0; bp->bio_dev =3D dev; bp->bio_data =3D buf; bp->bio_blkno =3D startSect; bp->bio_resid =3D bp->bio_bcount; /* XXX is this right!?!?!! */ if (bp->bio_bcount =3D=3D 0) { panic("bp->b_bcount is zero in InitBP!!\n"); } bp->bio_done =3D cbFunc; bp->_bio_buf->b_vp =3D b_vp; } If you have no spare time to do that, Could you give me your Current patc= h, I can learn and analyse the difference.=B4=D3=CD=F8=D5=BE=B5=C3=B5=BD=B8= =FC=B6=E0=D0=C5=CF=A2=A1=A3MSN Explorer =C3=E2=B7=D1=CF=C2=D4=D8:http://e= xplorer.msn.com/lccn ------=_NextPart_002_0003_01C2186C.41F931A0 Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable
Dear Scot= t and Terry,
  Thank your help very much!
Whe= n I configured the 'raid0' device, I excute 'raidctl -s raid0'.
The system info:
kernel: type 12 trap, code=3D0
S= topped at InitBP+0x64: movl %eax, 0xec(%edx)
db>
I type 'trace'
there are :
InitBP(cdbccf00,cdb9296= 0,2,c1bc1500,40,0,1,0, c1cae200,c0170440,c1cb3800,9) at InitBP+0x64
=
................
Context switches not allowed in the deb= ugger.
db>
 
I have no experienc= e on kernel debug. I do not know that means what.
 
=
There is the function InitBP I modified to support Current. Could y= ou help me to check?
static void
InitBP(bp, b_vp, rw_flag= , dev, startSect, numSect, buf, cbFunc, cbArg,
    = ;   logBytesPerSector)
 struct bio *bp;
 struct= vnode *b_vp;
 unsigned rw_flag;
 dev_t dev;
 RF_= SectorNum_t startSect;
 RF_SectorCount_t numSect;
 caddr_= t buf;
 void (*cbFunc) (struct bio *);
 void *cbArg;
&= nbsp;int logBytesPerSector;
{
 /* bp->b_flags  &n= bsp;    =3D B_PHYS | rw_flag; */
 /*bp->bio_fla= gs =3D B_CALL | rw_flag;  XXX need B_PHYS here too? */
 
=  bp->bio_bcount =3D numSect << logBytesPerSector;
 = bp->bio_caller1 =3D(void *) bp->bio_bcount;
 bp->bio_err= or =3D 0;
 bp->bio_dev =3D dev;
 bp->bio_data =3D b= uf;
 bp->bio_blkno =3D startSect;
 bp->bio_resid =3D= bp->bio_bcount; /* XXX is this right!?!?!! */
 if (bp-&g= t;bio_bcount =3D=3D 0) {
  panic("bp->b_bcount is zero in= InitBP!!\n");
 }
 bp->bio_done =3D cbFunc; bp->_bio_buf->b_vp =3D b_vp;
}
 
If you have no spare time to do that, Could you give me your Current p= atch, I can learn and analyse the difference.

=

=B4=D3=CD=F8=D5=BE=B5=C3=B5=BD=B8=FC=B6=E0=D0=C5=CF=A2= =A1=A3MSN Explorer =C3=E2=B7=D1=CF=C2=D4=D8=A3=BAhttp://explorer.msn.com/lccn

------=_NextPart_002_0003_01C2186C.41F931A0-- ------=_NextPart_001_0002_01C2186C.41F931A0 Content-Type: text/plain; name="debug.txt" Content-Disposition: attachment; filename="debug.txt" Content-Transfer-Encoding: quoted-printable Dear Scott and Terry, =20 Thank your help very much! When I configured the 'raid0' device, I excute 'raidctl -s raid0'. The system info: kernel: type 12 trap, code=3D0 Stopped at InitBP+0x64: movl %eax, 0xec(%edx) db> I type 'trace' there are : InitBP(cdbccf00,cdb92960,2,c1bc1500,40,0,1,0, c1cae200,c0170440,c1cb3800,= 9) at InitBP+0x64 ................ Context switches not allowed in the debugger. db> I have no experience on kernel debug. I do not know that means what. There is the function InitBP I modified to support Current. Could you hel= p me to check? static void =20 InitBP(bp, b_vp, rw_flag, dev, startSect, numSect, buf, cbFunc, cbArg, logBytesPerSector) struct bio *bp; struct vnode *b_vp; unsigned rw_flag; dev_t dev; RF_SectorNum_t startSect; RF_SectorCount_t numSect; caddr_t buf; void (*cbFunc) (struct bio *); void *cbArg; int logBytesPerSector; { /* bp->b_flags =3D B_PHYS | rw_flag; */ /*bp->bio_flags =3D B_CALL | rw_flag; XXX need B_PHYS here too? */ =20 bp->bio_bcount =3D numSect << logBytesPerSector; bp->bio_caller1 =3D(void *) bp->bio_bcount; bp->bio_error =3D 0; bp->bio_dev =3D dev; bp->bio_data =3D buf; bp->bio_blkno =3D startSect; bp->bio_resid =3D bp->bio_bcount; /* XXX is this right!?!?!! */ if (bp->bio_bcount =3D=3D 0) { panic("bp->b_bcount is zero in InitBP!!\n"); } bp->bio_done =3D cbFunc; bp->_bio_buf->b_vp =3D b_vp; } If you have no spare time to do that, Could you give me your Current patc= h, I can learn and analyse the difference. ------=_NextPart_001_0002_01C2186C.41F931A0-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message