From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 106928] When starting a match Rocket League crashes on "Go" Date: Fri, 29 Jun 2018 15:09:36 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0410208369==" Return-path: Received: from culpepper.freedesktop.org (culpepper.freedesktop.org [IPv6:2610:10:20:722:a800:ff:fe98:4b55]) by gabe.freedesktop.org (Postfix) with ESMTP id 847016F098 for ; Fri, 29 Jun 2018 15:09:36 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============0410208369== Content-Type: multipart/alternative; boundary="15302849761.d3f6.10742" Content-Transfer-Encoding: 7bit --15302849761.d3f6.10742 Date: Fri, 29 Jun 2018 15:09:36 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated https://bugs.freedesktop.org/show_bug.cgi?id=3D106928 --- Comment #12 from Roland Scheidegger --- (In reply to ubizjak from comment #11) > The (effectively the same patch as yours) proposed patch would be: >=20 > diff --git a/src/gallium/drivers/r600/sb/sb_expr.cpp > b/src/gallium/drivers/r600/sb/sb_expr.cpp > index 7a5d62c8e8..a609d1377f 100644 > --- a/src/gallium/drivers/r600/sb/sb_expr.cpp > +++ b/src/gallium/drivers/r600/sb/sb_expr.cpp > @@ -714,6 +714,8 @@ bool expr_handler::fold_assoc(alu_node *n) { >=20=20 > n->src.resize(2); > n->bc.set_op(ALU_OP2_ADD); > + fold_alu_op2(*n); > + return true; > } > } else if (last_arg >=3D 0) { > n->src[0] =3D a->src[last_arg]; >=20 > WDYT? I am not quite convinced it's ok to return true (in fold_alu_op3) if the expression hasn't really been folded. You are quite right that just above it looks similar, but all other places always return the return value of fold_alu_op2 when calling into it from fold_alu_op3. (Not saying it isn't correct, just saying I can't tell...) > On a side note, maybe -D_GLIBCXX_ASSERTIONS should be added to mesa > testsuite. This is the flag that Fedora 28 builds use by default now, so = it > would be beneficial to catch these bugs early in the development cycle, > before they reach users. I was actually going to suggest to enable -D_GLIBCXX_DEBUG for debug builds always, but it wouldn't work in general (due to not being able to link anyt= hing which hasn't been compiled with it, for instance llvm). So using -D_GLIBCXX_ASSERTIONS instead (which should be link-compatible) looks like a good idea to me, albeit it didn't do anything for me (too old libstdc++ I suppose). I'm also not quite sure which issues it actually catches (vs the DEBUG one) but even if it just catches some that should be a plus... --=20 You are receiving this mail because: You are the assignee for the bug.= --15302849761.d3f6.10742 Date: Fri, 29 Jun 2018 15:09:36 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://bugs.freedesktop.org/ Auto-Submitted: auto-generated

Comme= nt # 12 on bug 10692= 8 from Roland Scheidegger
(In reply to ubizjak from comment #11)
> The (effectively the same patch as yours) propos=
ed patch would be:
>=20
> diff --git a/src/gallium/drivers/r600/sb/sb_expr.cpp
> b/src/gallium/drivers/r600/sb/sb_expr.cpp
> index 7a5d62c8e8..a609d1377f 100644
> --- a/src/gallium/drivers/r600/sb/sb_expr.cpp
> +++ b/src/gallium/drivers/r600/sb/sb_expr.cpp
> @@ -714,6 +714,8 @@ bool expr_handler::fold_assoc(alu_=
node *n) {
>=20=20
>                         n->src.resize(2);
>                         n->bc.set_op(ALU_OP2_ADD);
> +                       fold_alu_op2(*n);
> +                       return true;
>                 }
>         } else if (last_arg >=3D 0) {
>                 n->src[0] =3D a->src[last_arg];
>=20
> WDYT?

I am not quite convinced it's ok to return true (in fold_alu_op3) if the
expression hasn't really been folded. You are quite right that just above it
looks similar, but all other places always return the return value of
fold_alu_op2 when calling into it from fold_alu_op3.
(Not saying it isn't correct, just saying I can't tell...)

> On a side note, maybe -D_GLIBCXX_ASSERTIONS shou=
ld be added to mesa
> testsuite. This is the flag that Fedora 28 builds use by default now, =
so it
> would be beneficial to catch these bugs early in the development cycle,
> before they reach users.
I was actually going to suggest to enable -D_GLIBCXX_DEBUG for debug builds
always, but it wouldn't work in general (due to not being able to link anyt=
hing
which hasn't been compiled with it, for instance llvm). So using
-D_GLIBCXX_ASSERTIONS instead (which should be link-compatible) looks like a
good idea to me, albeit it didn't do anything for me (too old libstdc++ I
suppose). I'm also not quite sure which issues it actually catches (vs the
DEBUG one) but even if it just catches some that should be a plus...


You are receiving this mail because:
  • You are the assignee for the bug.
= --15302849761.d3f6.10742-- --===============0410208369== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== --===============0410208369==--