From: Eli Zaretskii <eliz@gnu.org>
To: "Mattias Engdegård" <mattias.engdegard@gmail.com>
Cc: rudalics@gmx.at, 65726@debbugs.gnu.org
Subject: bug#65726: 29.1.50; Crash in regexp engine
Date: Mon, 04 Sep 2023 15:12:53 +0300 [thread overview]
Message-ID: <83fs3u5e7u.fsf@gnu.org> (raw)
In-Reply-To: <C1CB3CDD-A9D8-4453-86E1-F5DCBB8243BD@gmail.com> (message from Mattias Engdegård on Mon, 4 Sep 2023 10:44:06 +0200)
> Cc: martin rudalics <rudalics@gmx.at>
> From: Mattias Engdegård <mattias.engdegard@gmail.com>
> Date: Mon, 4 Sep 2023 10:44:06 +0200
>
> Can't reproduce here (macOS). Can you give us a deeper backtrace?
I can reproduce on MS-Windows. It's an infinite recursion.
> Try finding out the Lisp context: what function is called and with what arguments? What is the regexp, exactly? What text does it attempt to match against?
Here's the end of the call stack:
#104528 0x0120bbc4 in search_buffer_re (string=XIL(0x8000000007e5e308),
pos=62669, pos_byte=62669, lim=300101, lim_byte=300103, n=1,
trt=XIL(0xa00000000631c92c), inverse_trt=XIL(0xa000000006231ed4),
posix=false) at search.c:1265
#104529 0x0120cae5 in search_buffer (string=XIL(0x8000000007e5e308),
pos=62669, pos_byte=62669, lim=300101, lim_byte=300103, n=1, RE=1,
trt=XIL(0xa00000000631c92c), inverse_trt=XIL(0xa000000006231ed4),
posix=false) at search.c:1527
#104530 0x0120b404 in search_command (string=XIL(0x8000000007e5e308),
bound=XIL(0), noerror=XIL(0x30), count=XIL(0), direction=1, RE=1,
posix=false) at search.c:1069
#104531 0x0120e35a in Fre_search_forward (regexp=XIL(0x8000000007e5e308),
bound=XIL(0), noerror=XIL(0x30), count=XIL(0)) at search.c:2294
#104532 0x0127860e in eval_sub (form=XIL(0xc000000007dbef40)) at eval.c:2508
#104533 0x0126f601 in Fand (args=XIL(0xc000000007dbe810)) at eval.c:370
#104534 0x012780e0 in eval_sub (form=XIL(0xc000000007dbef30)) at eval.c:2449
#104535 0x0126f847 in Fcond (args=XIL(0xc000000007e16d00)) at eval.c:412
#104536 0x012780e0 in eval_sub (form=XIL(0xc000000007e16d70)) at eval.c:2449
#104537 0x0126fa9d in Fprogn (body=XIL(0)) at eval.c:436
#104538 0x01272b16 in Flet (args=XIL(0xc000000007e16d90)) at eval.c:1026
#104539 0x012780e0 in eval_sub (form=XIL(0xc000000007e16da0)) at eval.c:2449
#104540 0x0126fa9d in Fprogn (body=XIL(0)) at eval.c:436
#104541 0x012780e0 in eval_sub (form=XIL(0xc000000007e17740)) at eval.c:2449
#104542 0x0126f74a in Fif (args=XIL(0xc000000007e16dd0)) at eval.c:391
#104543 0x012780e0 in eval_sub (form=XIL(0xc000000007e16dc0)) at eval.c:2449
#104544 0x0126fa9d in Fprogn (body=XIL(0)) at eval.c:436
#104545 0x01272b16 in Flet (args=XIL(0xc000000007e16e00)) at eval.c:1026
#104546 0x012780e0 in eval_sub (form=XIL(0xc000000007e16e10)) at eval.c:2449
#104547 0x0126fa9d in Fprogn (body=XIL(0)) at eval.c:436
#104548 0x0126f7ae in Fif (args=XIL(0xc000000007e16e30)) at eval.c:392
#104549 0x012780e0 in eval_sub (form=XIL(0xc000000007e16e20)) at eval.c:2449
#104550 0x0126fa9d in Fprogn (body=XIL(0xc000000007dbeb50)) at eval.c:436
#104551 0x0127247c in FletX (args=XIL(0xc000000007e16fc0)) at eval.c:958
#104552 0x012780e0 in eval_sub (form=XIL(0xc000000007e16fd0)) at eval.c:2449
#104553 0x0126fa9d in Fprogn (body=XIL(0)) at eval.c:436
#104554 0x0127b95e in funcall_lambda (fun=XIL(0xc000000007dbe750), nargs=0,
arg_vector=0x82ecb0) at eval.c:3233
#104555 0x0127a4c9 in funcall_general (fun=XIL(0xc000000007dbe750),
numargs=0, args=0x82ecb0) at eval.c:2957
#104556 0x0127a6b7 in Ffuncall (nargs=1, args=0x82eca8) at eval.c:2995
#104557 0x012693e3 in Ffuncall_interactively (nargs=1, args=0x82eca8)
at callint.c:250
#104558 0x0127ad17 in funcall_subr (subr=0x1881580 <Sfuncall_interactively>,
numargs=1, args=0x82eca8) at eval.c:3059
#104559 0x0127a2cb in funcall_general (fun=XIL(0xa000000001881580),
numargs=1, args=0x82eca8) at eval.c:2941
#104560 0x0127a6b7 in Ffuncall (nargs=2, args=0x82eca0) at eval.c:2995
#104561 0x012790cb in Fapply (nargs=3, args=0x82eca0) at eval.c:2619
#104562 0x01269ae9 in Fcall_interactively (function=XIL(0x60de7c0),
record_flag=XIL(0), keys=XIL(0xa000000007970198)) at callint.c:342
#104563 0x0127a915 in funcall_subr (subr=0x18815c0 <Scall_interactively>,
numargs=3, args=0x6c50078) at eval.c:3038
#104564 0x012ed316 in exec_byte_code (fun=XIL(0xa00000000615797c),
args_template=1025, nargs=1, args=0x82f590) at bytecode.c:809
#104565 0x0127ae66 in fetch_and_exec_byte_code (fun=XIL(0xa00000000615797c),
args_template=1025, nargs=1, args=0x82f588) at eval.c:3081
#104566 0x0127b3c5 in funcall_lambda (fun=XIL(0xa00000000615797c), nargs=1,
arg_vector=0x82f588) at eval.c:3153
#104567 0x0127a332 in funcall_general (fun=XIL(0xa00000000615797c),
numargs=1, args=0x82f588) at eval.c:2945
#104568 0x0127a6b7 in Ffuncall (nargs=2, args=0x82f580) at eval.c:2995
#104569 0x0116d992 in call1 (fn=XIL(0x4590), arg1=XIL(0x60de7c0))
at lisp.h:3248
#104570 0x01171cb7 in command_loop_1 () at keyboard.c:1503
#104571 0x01274470 in internal_condition_case (
bfun=0x11710ec <command_loop_1>, handlers=XIL(0x90),
hfun=0x11700ba <cmd_error>) at eval.c:1474
#104572 0x01170b59 in command_loop_2 (handlers=XIL(0x90)) at keyboard.c:1133
#104573 0x012732f7 in internal_catch (tag=XIL(0x103b0),
func=0x1170b22 <command_loop_2>, arg=XIL(0x90)) at eval.c:1197
#104574 0x01170ac4 in command_loop () at keyboard.c:1111
#104575 0x0116fb1a in recursive_edit_1 () at keyboard.c:720
#104576 0x0116fdb8 in Frecursive_edit () at keyboard.c:803
#104577 0x0116ab60 in main (argc=2, argv=0xa428e0) at emacs.c:2521
Lisp Backtrace:
"re-search-forward" (0x82d6a0)
"and" (0x82d8a0)
"cond" (0x82da60)
"let" (0x82dcf0)
"progn" (0x82deb0)
"if" (0x82e070)
"let" (0x82e300)
"if" (0x82e500)
"let*" (0x82e770)
"elinfo-goto-texi" (0x82ecb0)
"funcall-interactively" (0x82eca8)
"call-interactively" (0x6c50078)
"command-execute" (0x82f588)
(gdb)
In frame #104531, we have:
#104531 0x0120e35a in Fre_search_forward (regexp=XIL(0x8000000007e5e308),
bound=XIL(0), noerror=XIL(0x30), count=XIL(0)) at search.c:2294
and regexp is this monstrocity:
"\\(split\\(?:\\(?:@[a-z]+{\\|[}`'\"_:]*\\)*[ \t\n]*\\)-\\(?:\\(?:@[a-z]+{\\|[}`'\"_:]*\\)*[ \t\n]*\\)window\\(?:\\(?:@[a-z]+{\\|[}`'\"_:]*\\)*[ \t\n]*\\)[ \t\n]+\\(?:\\(?:@[a-z]+{\\|[}`'\"_:]*\\)*[ \t\n]*\\)&optional\\(?:\\(?:@[a-z]+{\\|[}`'\"_:]*\\)*[ \t\n]*\\)[ \t\n]+\\(?:\\(?:@[a-z]+{\\|[}`'\"_:]*\\)*[ \t\n]*\\)window\\(?:\\(?:@[a-z]+{\\|[}`'\"_:]*\\)*[ \t\n]*\\)[ \t\n]+\\(?:\\(?:@[a-z]+{\\|[}`'\"_:]*\\)*[ \t\n]*\\)size\\(?:\\(?:@[a-z]+{\\|[}`'\"_:]*\\)*[ \t\n]*\\)[ \t\n]+\\(?:\\(?:@[a-z]+{\\|[}`'\"_:]*\\)*[ \t\n]*\\)side\\(?:\\(?:@[a-z]+{\\|[}`'\"_:]*\\)*[ \t\n]*\\)[ \t\n]+\\(?:\\(?:@[a-z]+{\\|[}`'\"_:]*\\)*[ \t\n]*\\)pixelwise\\)\\|^node"
Feel free to ask more questions, as I can reproduce this at will.
next prev parent reply other threads:[~2023-09-04 12:12 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-04 7:46 bug#65726: 29.1.50; Crash in regexp engine martin rudalics
2023-09-04 8:44 ` Mattias Engdegård
2023-09-04 12:12 ` Eli Zaretskii [this message]
2023-09-04 13:18 ` Mattias Engdegård
2023-09-04 13:26 ` Mattias Engdegård
2023-09-04 13:28 ` Eli Zaretskii
2023-09-04 15:47 ` Mattias Engdegård
2023-09-05 12:23 ` Mattias Engdegård
2023-09-05 13:08 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-05 13:50 ` Mattias Engdegård
2023-09-05 15:33 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-06 12:03 ` Mattias Engdegård
2023-09-09 15:55 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-09 16:34 ` Mattias Engdegård
2023-09-14 14:41 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-15 20:03 ` Mattias Engdegård
2023-09-15 22:20 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-16 3:45 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-16 10:49 ` Mattias Engdegård
2023-09-16 15:48 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-18 2:14 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-18 3:59 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-18 12:32 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-21 17:23 ` Mattias Engdegård
2023-09-21 18:08 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-23 11:56 ` Mattias Engdegård
2023-09-04 14:32 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-04 15:57 ` Eli Zaretskii
2023-09-04 17:12 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-10 7:50 ` Stefan Kangas
2023-09-10 7:55 ` Eli Zaretskii
2023-09-10 23:09 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-09-11 14:46 ` Stefan Kangas
2023-09-05 7:14 ` martin rudalics
2023-09-11 8:10 ` Mattias Engdegård
2023-09-11 13:41 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83fs3u5e7u.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=65726@debbugs.gnu.org \
--cc=mattias.engdegard@gmail.com \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.