Skip site navigation (1)Skip section navigation (2)
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>