Date: Wed, 19 Jun 2002 12:02:54 -0700 From: Terry Lambert <tlambert2@mindspring.com> To: kai ouyang <oykai@msn.com> Cc: current@FreeBSD.org Subject: Re: open panic? Message-ID: <3D10D55E.4AC72D5C@mindspring.com> References: <OE3554bGY1mqGTPXvDM00026788@hotmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
kai ouyang wrote: > > Part 1.1.1 Type: Plain Text (text/plain) > Encoding: quoted-printable | I am trying to open the device again(by the open function), the box is | panic. So I can not do anything to the device. | I am puzzled about that. if open is fail, it should return error. Why | panic? Have you the similar problem? | | Fatal trap 12: page fault while in kernel mode This is an unmapped page, referenced from kernel mode. If you compile with the kernel debugger, and set "break to debugger", then it should be possible for you to get a traceback, which will give you the function call graph, which should make it fairly easy to locate the problem. If you actually get a system dump, then you should be able to get the actual source line that caused the panic. Most likely this is a coding problem; if that's not the case, then the next most likely problem is with the use of the seperate process for the context for the operations. An open needs to happen in the context of the process making the open request, and not in the context of a seperate process that's there to support the code. In general, you can only hand off data between processes by queueing within kernel memory. So if you are delaying a copin/copyout until your internal process runs, then that's going to be your problem. I did the original user space RAIDFrame port to FreeBSD, so I am fairly familiar with the code, if there are specific problems with which you need help. However, your best bet is probably to get a copy of Scott Long's patches, and look at how you and he did things differntly than he did, and try to learn from the difference in approach. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3D10D55E.4AC72D5C>