From owner-freebsd-hackers Wed May 7 11:15:28 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id LAA05978 for hackers-outgoing; Wed, 7 May 1997 11:15:28 -0700 (PDT) Received: from sendero.i-connect.net (sendero-ppp.i-Connect.Net [206.190.143.100]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id LAA05955 for ; Wed, 7 May 1997 11:15:22 -0700 (PDT) Received: (qmail 19712 invoked by uid 1000); 7 May 1997 18:01:16 -0000 Message-ID: X-Mailer: XFMail 1.1-alpha [p0] on FreeBSD X-PRIORITY: 2 (High) Priority: urgent Content-Type: text/plain; charset=iso-8859-8 Content-Transfer-Encoding: 8bit MIME-Version: 1.0 Date: Wed, 07 May 1997 10:44:52 -0700 (PDT) Organization: iConnect Corp. From: Simon Shapiro To: FreeBSD-Hackers@FreeBSD.org, FreeBSD-SCSI@FreeBSD.org Subject: Fatal Trap 1: privileged instruction fault... Sender: owner-hackers@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk ... while in kernel mode I get this while doing a ``return(COMPLETE);'' from dpt_scsi_cmd(), in response to the loop triggered by scsi_attachdevs(). It never happened until this morning. Last night I replaced a bunch of queue macros with functions. Quite unrelated. The functions are static inline, but I switched the inline part off and still the same result. The code is very innocent and appears to checkout OK. Maybe unrelated, but we have a few instances where calls to a function return the value from the previous call, rather than the current call, as in: char *foo(int yes) { if ( yes ) return("Yes"); return("No"); } printf("%s\n", foo(1)); ... < Produces "Yes" on the screen > printf("%s\n", foo(0)); ... < produces "No" on the screen > BUT... printf("%s-%s\n", foo(1), foo(0)); produces "Yes-Yes" instead of "Yes-No"... The actual example is much more complex, of course... :-( Any suggestions (the second case is much less important, but maybe it relates. The panic is a complete showstopper! Thanx! Simon BTW, whoever unsubscribed me from ALL FreeBSD lists - Please don't...