[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#61514: 30.0.50; sadistically long xml line hangs emacs
From: |
Gregory Heytings |
Subject: |
bug#61514: 30.0.50; sadistically long xml line hangs emacs |
Date: |
Sat, 18 Feb 2023 23:06:10 +0000 |
Interestingly, the following simple patch fixes both the original and the
truncated cases:
diff --git a/src/regex-emacs.c b/src/regex-emacs.c
index 2dca0d16ad9..eb943df46f0 100644
--- a/src/regex-emacs.c
+++ b/src/regex-emacs.c
@@ -877,7 +877,7 @@ #define INIT_FAILURE_ALLOC 20
whose default stack limit is 2mb. In order for a larger
value to work reliably, you have to try to make it accord
with the process stack limit. */
-ptrdiff_t emacs_re_max_failures = 40000;
+ptrdiff_t emacs_re_max_failures = 37499;
union fail_stack_elt
{
I obtained the magical 37499 value by bisecting. Both cases fail with
37500 (or higher), and work as expected (i.e. they fail with "Stack
overflow in regexp matcher") with 37499. I don't know why exactly, but I
note that:
37499 * 8 = 299992 and 37500 * 8 = 300000 (where 8 is sizeof (fail_stack_elt_t))
37499 * 20 * 8 = 5999840 and 37500 * 20 * 8 = 6000000 (where 20 is
TYPICAL_FAILURE_SIZE)
so it seems that there is a kind of limit at exactly 6000000 bytes?
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, (continued)
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Eli Zaretskii, 2023/02/15
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Dmitry Gutov, 2023/02/15
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Gregory Heytings, 2023/02/15
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Eli Zaretskii, 2023/02/15
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Gregory Heytings, 2023/02/15
bug#61514: 30.0.50; sadistically long xml line hangs emacs, Eli Zaretskii, 2023/02/18
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Mark A. Hershberger, 2023/02/18
- bug#61514: 30.0.50; sadistically long xml line hangs emacs,
Gregory Heytings <=
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Gregory Heytings, 2023/02/18
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Eli Zaretskii, 2023/02/19
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Stefan Monnier, 2023/02/19
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Gregory Heytings, 2023/02/19
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Gregory Heytings, 2023/02/19
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Gregory Heytings, 2023/02/19
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Stefan Monnier, 2023/02/19
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Gregory Heytings, 2023/02/20
- bug#61514: 30.0.50; sadistically long xml line hangs emacs, Eli Zaretskii, 2023/02/20
bug#61514: 30.0.50; sadistically long xml line hangs emacs, Eli Zaretskii, 2023/02/20