Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 07 May 1997 10:44:52 -0700 (PDT)
From:      Simon Shapiro <Shimon@i-Connect.Net>
To:        FreeBSD-Hackers@FreeBSD.org, FreeBSD-SCSI@FreeBSD.org
Subject:   Fatal Trap 1: privileged instruction fault...
Message-ID:  <XFMail.970507110116.Shimon@i-Connect.Net>

next in thread | raw e-mail | index | archive | help
... 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...




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.970507110116.Shimon>