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