[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#26961: 26.0.50; Possible timming issue in regex-tests.el
From: |
Tino Calancha |
Subject: |
bug#26961: 26.0.50; Possible timming issue in regex-tests.el |
Date: |
Thu, 18 May 2017 16:00:31 +0900 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) |
Eli Zaretskii <eliz@gnu.org> writes:
>> > ;;; II) This one fails in Debian-9, but it works in Fedora-25:
>> > emacs --batch -L ":." -l ert -l src/regex-tests.el \
>> > --eval '(let (arg) (ert-run-tests-batch-and-exit arg))'
>
>> #0 terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:363
>> #1 0x00000000005c1191 in emacs_abort () at sysdep.c:2371
>> #2 0x0000000000629189 in mark_object (arg=XIL(0x7fffffffbc54)) at
>> alloc.c:6428
>> #3 0x00000000006299ae in mark_object (arg=XIL(0x2f44ac3)) at alloc.c:6667
>> #4 0x0000000000625a6c in mark_maybe_object (obj=XIL(0x2f44ac3)) at
>> alloc.c:4788
>> #5 0x0000000000625e47 in mark_memory (start=0x7fffffff6b70,
>> end=0x7fffffffe08f) at alloc.c:4940
>> #6 0x0000000000625e7c in mark_stack (bottom=0x7fffffffe08f "",
>> end=0x7fffffff6b70 "\200\214!\001") at alloc.c:5138
>> #7 0x00000000006e01dc in mark_one_thread (thread=0xe1b2a0 <main_thread>) at
>> thread.c:603
>> #8 0x00000000006e0371 in mark_threads_callback (ignore=0x0) at thread.c:634
>> #9 0x0000000000625ec4 in flush_stack_call_func (func=0x6e02de
>> <mark_threads_callback>, arg=0x0) at alloc.c:5165
>> #10 0x00000000006e03a3 in mark_threads () at thread.c:641
>> #11 0x0000000000627e8b in garbage_collect_1 (end=0x7fffffff6d50) at
>> alloc.c:5942
>> #12 0x0000000000628562 in Fgarbage_collect () at alloc.c:6108
>
> Are you up to the task of debugging GC? See etc/DEBUG for some
> advice.
The problem arise from the recursive call in mark_object:
mark_object (ptr->car);
In my example recipe, such call not always satisfy the sanity
checks.
With the following patch, i cannot reproduce the issue anymore.
commit 5d0ac7e21e5dbb5128310a3a5017795321f71736
Author: Tino Calancha <tino.calancha@gmail.com>
Date: Thu May 18 15:44:10 2017 +0900
* src/alloc.c (mark_object): Use mark_maybe_object (Bug#26961).
diff --git a/src/alloc.c b/src/alloc.c
index faa14eebb3..8555e3f4e4 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -6664,7 +6664,7 @@ mark_object (Lisp_Object arg)
cdr_count = 0;
goto loop;
}
- mark_object (ptr->car);
+ mark_maybe_object (ptr->car);
obj = ptr->u.cdr;
cdr_count++;
if (cdr_count == mark_object_loop_halt)
- bug#26961: 26.0.50; Possible timming issue in regex-tests.el, Tino Calancha, 2017/05/17
- bug#26961: 26.0.50; Possible timming issue in regex-tests.el, Tino Calancha, 2017/05/17
- bug#26961: 26.0.50; Possible timming issue in regex-tests.el, Eli Zaretskii, 2017/05/17
- bug#26961: 26.0.50; Possible timming issue in regex-tests.el,
Tino Calancha <=
- bug#26961: 26.0.50; Possible timming issue in regex-tests.el, Andreas Schwab, 2017/05/18
- bug#26961: 26.0.50; Possible timming issue in regex-tests.el, Eli Zaretskii, 2017/05/18
- bug#26961: 26.0.50; Possible timming issue in regex-tests.el, Tino Calancha, 2017/05/18
- bug#26961: 26.0.50; Possible timming issue in regex-tests.el, Eli Zaretskii, 2017/05/19
- bug#26961: 26.0.50; Possible timming issue in regex-tests.el, Tino Calancha, 2017/05/19
- bug#26961: 26.0.50; Possible timming issue in regex-tests.el, Eli Zaretskii, 2017/05/20
- bug#26961: 26.0.50; Possible timming issue in regex-tests.el, Tino Calancha, 2017/05/20
- bug#26961: 26.0.50; Possible timming issue in regex-tests.el, Eli Zaretskii, 2017/05/20