Date: Sat, 14 Jun 1997 18:40:25 -0700 From: "Jordan K. Hubbard" <jkh@time.cdrom.com> To: "Serge A. Babkin" <babkin@hq.icb.chel.su> Cc: hackers@FreeBSD.ORG Subject: Re: C optimizer bug ? Message-ID: <10597.866338825@time.cdrom.com> In-Reply-To: Your message of "Sun, 15 Jun 1997 07:36:45 %2B0600." <199706150136.HAA07646@hq.icb.chel.su>
next in thread | previous in thread | raw e-mail | index | archive | help
> Okay, here is the description: The function scsi_done() must check > whether xs->bp is zero and then depending on it call biodone() > or wakeup(xs). Sometimes it confuses these cases and does the > wrong thing, in this case the process hangs on tsleep(...,"scsicmd") > or waiting for biodone() (I can't remember the argument of > tsleep() for biodone exactly). The probability of hangup on missing > wakeup(xs) is about 1/4. The hangups on missing biodone() are > rare. Erm, I think you missed my fundamental point. :-) This is NOT how you demonstrate compiler bugs to those who might fix them. You demonstrate compiler bugs by saying things like (to make up an extremely simplistic example): "If I have the following program fragment: int a, b, c; a = 10, b = 20; c = a & b; It generates the following code: ... movl $10,-4(%ebp) movl $20,-8(%ebp) movl -4(%ebp),%eax andl -10(%ebp),%eax movl %eax,-12(%ebp) But shouldn't that be: andl -8(%ebp),%eax For the proper stack offset to `b'? This is a compiler bug." *That* is the kind of thing that compiler folks can act on. What you have reported is not, however, and it's almost certainly likely to generate no response at all. That helps neither you nor us. :-) Jordan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?10597.866338825>