From owner-freebsd-hackers Thu Sep 5 10: 5:38 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CED2737B400 for ; Thu, 5 Sep 2002 10:05:35 -0700 (PDT) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.183]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2307043E81 for ; Thu, 5 Sep 2002 10:05:35 -0700 (PDT) (envelope-from phoenix@minion.de) Received: from [212.227.126.155] (helo=mrelayng1.kundenserver.de) by moutng5.kundenserver.de with esmtp (Exim 3.35 #2) id 17n04T-0007pS-00 for freebsd-hackers@freebsd.org; Thu, 05 Sep 2002 19:05:33 +0200 Received: from [80.144.28.93] (helo=chronos) by mrelayng1.kundenserver.de with asmtp (Exim 3.35 #1) id 17n04S-0000s7-00 for freebsd-hackers@freebsd.org; Thu, 05 Sep 2002 19:05:33 +0200 Received: from phoenix by chronos with local (Exim 3.35 #1 (Debian)) id 17n03I-0000Hk-00 for ; Thu, 05 Sep 2002 19:04:20 +0200 Date: Thu, 5 Sep 2002 19:04:20 +0200 From: Christian Zander To: freebsd-hackers@freebsd.org Subject: double page fault(s) Message-ID: <20020905190420.H649@chronos> Reply-To: Christian Zander Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.22.1i X-Operating-System: GNU/Linux [2.4.19][i686] Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Hi all, I've been experiencing double page faults on several FreeBSD 4.x systems with a custom device driver, which I believe is somehow responsible. Searching the freebsd-hackers mailing list archives I found several mentions of problems similar to mine; it seemed that the consensus is that this problem is almost always caused by kernel stack mistreatment. I spent quite a bit of time trying to approach the problem with DDB and KGDB, but while I'm able to break into the debugger when the second fault occurs, I have not yet been able to investigate the offending stack. One approach I've looked at was suggested in response to the "Debugging double page fault" thread; it was (if I understand it correctly) suggested that if one can find a way to break on the second handler, then by saving a copy of or a reference to the first trap frame in the first fault handler, one would be able to investigate that frame (from said second). Unfortunately, my knowledge of the FreeBSD kernel is still poor, I'm unsure about the appropriate places to catch the first trap and where to save the fault frame. I'm hoping that you can point me at additional sources of information or have other hints. Thanks, -- christian zander zander@minion.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message