diff mbox series

[Bug,1912065] Re: Segfaults in tcg/optimize.c:212 after commit 7c79721606be11b5bc556449e5bcbc331ef6867d

Message ID 161099084144.30067.897245088295398204.malone@chaenomeles.canonical.com (mailing list archive)
State New, archived
Headers show
Series [Bug,1912065] Re: Segfaults in tcg/optimize.c:212 after commit 7c79721606be11b5bc556449e5bcbc331ef6867d | expand

Commit Message

Richard Henderson Jan. 18, 2021, 5:27 p.m. UTC
The problem is that we're now generating many more temporaries
than before, and running out of the statically allocated amount.
Changing a debug assert to a full assert will change the SEGV
into an ABRT.  :-)



But a proper solution is to dynamically allocate the temps.

Comments

no-reply@patchew.org Jan. 18, 2021, 6 p.m. UTC | #1
Patchew URL: https://patchew.org/QEMU/161099084144.30067.897245088295398204.malone@chaenomeles.canonical.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Type: series
Message-id: 161099084144.30067.897245088295398204.malone@chaenomeles.canonical.com
Subject: [Bug 1912065] Re: Segfaults in tcg/optimize.c:212 after commit 7c79721606be11b5bc556449e5bcbc331ef6867d

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]         patchew/161099084144.30067.897245088295398204.malone@chaenomeles.canonical.com -> patchew/161099084144.30067.897245088295398204.malone@chaenomeles.canonical.com
 - [tag update]      patchew/cover.1610638428.git.jag.raman@oracle.com -> patchew/cover.1610638428.git.jag.raman@oracle.com
Switched to a new branch 'test'
0b7840a Segfaults in tcg/optimize.c:212 after commit 7c79721606be11b5bc556449e5bcbc331ef6867d

=== OUTPUT BEGIN ===
ERROR: Missing Signed-off-by: line(s)

total: 1 errors, 0 warnings, 16 lines checked

Commit 0b7840aec0d8 (Segfaults in tcg/optimize.c:212 after commit 7c79721606be11b5bc556449e5bcbc331ef6867d) has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/161099084144.30067.897245088295398204.malone@chaenomeles.canonical.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
Richard Henderson Jan. 18, 2021, 7:05 p.m. UTC | #2
On 1/18/21 8:00 AM, no-reply@patchew.org wrote:
> Patchew URL: https://patchew.org/QEMU/161099084144.30067.897245088295398204.malone@chaenomeles.canonical.com/

Can we get patchew to not respond to launchpad threads?


r~
diff mbox series

Patch

diff --git a/tcg/tcg.c b/tcg/tcg.c
index 8f8badb61c..c376afe56a 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -1207,7 +1207,7 @@  void tcg_func_start(TCGContext *s)
 static inline TCGTemp *tcg_temp_alloc(TCGContext *s)
 {
     int n = s->nb_temps++;
-    tcg_debug_assert(n < TCG_MAX_TEMPS);
+    g_assert(n < TCG_MAX_TEMPS);
     return memset(&s->temps[n], 0, sizeof(TCGTemp));
 }
 

The problem can be worked around temporarily by increasing the
number of temporaries:

diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h
index 504c5e9bb0..8fe32bb03c 100644
--- a/include/tcg/tcg.h
+++ b/include/tcg/tcg.h
@@ -275,7 +275,7 @@  typedef struct TCGPool {
 
 #define TCG_POOL_CHUNK_SIZE 32768
 
-#define TCG_MAX_TEMPS 512
+#define TCG_MAX_TEMPS 2048
 #define TCG_MAX_INSNS 512
 
 /* when the size of the arguments of a called function is smaller than