unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Alan Mackenzie <acm@muc.de>, 48337@debbugs.gnu.org
Subject: bug#48337: Fwd: 28.0.50; Emacs crashing randomly (possibly minibuffer activity related)
Date: Tue, 11 May 2021 09:54:32 +0100	[thread overview]
Message-ID: <CAHDbmO1tdgqKhF2s3fXL8ONgve=R3tT78EA9Wt0=y6qdS51PYw@mail.gmail.com> (raw)
In-Reply-To: <CAHDbmO2eRcHUkomAAde6wdFB_sU+EwfV6_hddo-Z+t8FA1st8Q@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 5182 bytes --]

Sorry for the spamming of the logs, this time collected with debugging
information and the trace of gdb commands so you can see what's going on.
Basically the for (; 0 < num; num--, tail = XCDR (tail)) ends with a NULL
value.

On Tue, 11 May 2021 at 09:23, Alex Bennée <alex.bennee@linaro.org> wrote:

> I tried noodling around in rr to get some more details but I'm a bit lost
> with how the C code iterates through the objects. It certainly looks like
> Fnthcdr just ends up with an empty value.
>
> Log attached:
>
>
>
> On Tue, 11 May 2021 at 07:51, Alex Bennée <alex.bennee@linaro.org> wrote:
>
>> I can now recreate at will with a magit sequence (l o hackbox/ TAB) which
>> triggers a minibuffer re-size to accommodate the list of git branches:
>>
>> (gdb) info frame 0
>> Stack frame at 0x7fffffffb2e0:
>>  rip = 0x5555556a80ef in Factive_minibuffer_window (minibuf.c:230); saved
>> rip = 0x5555556f52ab
>>  called by frame at 0x7fffffffb340
>>  source language c.
>>  Arglist at 0x7fffffffb2c8, args:
>>  Locals at 0x7fffffffb2c8, Previous frame's sp is 0x7fffffffb2e0
>>  Saved registers:
>>   rip at 0x7fffffffb2d8
>> (gdb) x/5i $pc
>> => 0x5555556a80ef <Factive_minibuffer_window+79>:       mov
>>  -0x3(%rax),%r10
>>    0x5555556a80f3 <Factive_minibuffer_window+83>:       lea
>>  -0x3(%rdx),%eax
>>    0x5555556a80f6 <Factive_minibuffer_window+86>:       test   $0x7,%al
>>    0x5555556a80f8 <Factive_minibuffer_window+88>:       jne
>>  0x5555556a8153 <Factive_minibuffer_window+179>
>>    0x5555556a80fa <Factive_minibuffer_window+90>:       nopw
>> 0x0(%rax,%rax,1)
>> (gdb) p/x $rax
>> $4 = 0x0
>> (gdb) p/x $r10
>> $5 = 0x7fffeece9c6d
>> (gdb) l
>> 225       Lisp_Object innermost_MB;
>> 226
>> 227       if (!minibuf_level)
>> 228         return Qnil;
>> 229
>> 230       innermost_MB = nth_minibuffer (minibuf_level);
>> 231       FOR_EACH_FRAME (frames, frame)
>> 232         {
>> 233           f = XFRAME (frame);
>> 234           if (FRAME_LIVE_P (f)
>> (gdb) p minibuf_level
>> $6 = 2
>> (gdb) p Vminibuffer_list
>> $7 = (Lisp_Object) 0x555555c9aca3
>> (gdb) p $*
>> A syntax error in expression, near `'.
>> (gdb) p *$
>> $8 = <incomplete type>
>> (gdb)
>>
>> Let me know if you want something else.
>>
>> On Tue, 11 May 2021 at 03:24, Eli Zaretskii <eliz@gnu.org> wrote:
>>
>>> > From: Alex Bennée <alex.bennee@linaro.org>
>>> > Date: Mon, 10 May 2021 20:30:58 +0100
>>> > Cc: Alan Mackenzie <acm@muc.de>
>>> >
>>> > It seems my mail client left this in the sent folder but never
>>> actually sent it:
>>> >
>>> >   I haven't been able to find a reproduction as the bug hits fairly
>>> >   randomly hence I'm running in my normal init.el heavy environment.
>>> >   That said there shouldn't be anything in lisp that could cause a
>>> >   segfault in the core C code.
>>> >
>>> >   This only started happening this week after a recent update from
>>> >   master (I update every Monday). The only change I could see that
>>> might
>>> >   be related was f608b4b93 (Prevent the selected window being a dead
>>> >   mini-window when switching frames).
>>> >
>>> >   Unfortunately no symbols. However both core dumps so far have seen
>>> the
>>> >   same null XCAR being called from nth_minibuffer:
>>> >
>>> >   #0  0x00007f4384f585cb in raise (sig=sig@entry=11) at
>>> ../sysdeps/unix/sysv/linux/raise.c:50
>>> >           set = {__val = {18446744067266837247, 0 <repeats 15 times>}}
>>> >           pid = <optimized out>
>>> >           tid = <optimized out>
>>> >   #1  0x000055b6738bf530 in terminate_due_to_signal (sig=sig@entry=11,
>>> > backtrace_limit=backtrace_limit@entry=40) at emacs.c:437
>>> >   #2  0x000055b6738bf97d in handle_fatal_signal (sig=sig@entry=11) at
>>> sysdep.c:1762
>>> >   #3  0x000055b6739b8ca8 in deliver_thread_signal (sig=sig@entry=11,
>>> handler=0x55b6738bf972
>>> > <handle_fatal_signal>) at sysdep.c:1754
>>> >   #4  0x000055b6739b8d29 in deliver_fatal_thread_signal (sig=11) at
>>> sysdep.c:1867
>>> >           fatal = <optimized out>
>>> >   #5  0x000055b6739b8d29 in handle_sigsegv (sig=11, siginfo=<optimized
>>> out>, arg=<optimized out>) at
>>> > sysdep.c:1867
>>> >           fatal = <optimized out>
>>> >   #6  0x00007f4384f58730 in <signal handler called> () at
>>> /lib/x86_64-linux-gnu/libpthread.so.0
>>> >   #7  0x000055b6739ce0ef in XCAR (c=0x0) at lisp.h:1420
>>> >           tail = 0x0
>>> >           frames = <optimized out>
>>> >           frame = <optimized out>
>>> >           f = <optimized out>
>>> >           innermost_MB = <optimized out>
>>> >   #8  0x000055b6739ce0ef in nth_minibuffer (depth=<optimized out>) at
>>> minibuf.c:972
>>> >           tail = 0x0
>>> >           frames = <optimized out>
>>> >           frame = <optimized out>
>>> >           f = <optimized out>
>>> >           innermost_MB = <optimized out>
>>>
>>> Please show the Lisp value of Vminibuffer_list.
>>>
>>
>>
>> --
>> Alex Bennée
>> KVM/QEMU Hacker for Linaro
>>
>
>
> --
> Alex Bennée
> KVM/QEMU Hacker for Linaro
>


-- 
Alex Bennée
KVM/QEMU Hacker for Linaro

[-- Attachment #1.2: Type: text/html, Size: 6775 bytes --]

[-- Attachment #2: rr2.txt --]
[-- Type: text/plain, Size: 25965 bytes --]

45	in ../sysdeps/unix/sysv/linux/raise.c
#0  0x00007efd0ca2e5cb in raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x000055e3c564c4f6 in terminate_due_to_signal (sig=6, backtrace_limit=2147483647) at emacs.c:437
#2  0x000055e3c56f9dc2 in die (msg=0x55e3c589c95c "CONSP (tail)", file=0x55e3c589c5c6 "minibuf.c", line=972) at alloc.c:7451
#3  0x000055e3c56a982e in nth_minibuffer (depth=2) at minibuf.c:972
#4  0x000055e3c56a6e6e in Factive_minibuffer_window () at minibuf.c:230
#5  0x000055e3c5734863 in funcall_subr (subr=0x55e3c5d30600 <Sactive_minibuffer_window>, numargs=0, args=0x7ffe48044b50) at eval.c:3109
#6  0x000055e3c5734333 in Ffuncall (nargs=1, args=0x7ffe48044b48) at eval.c:3036
#7  0x000055e3c578eb50 in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=1, args=0x7ffe48045010) at bytecode.c:632
#8  0x000055e3c5734afb in fetch_and_exec_byte_code (fun=..., syms_left=..., nargs=1, args=0x7ffe48045008) at eval.c:3160
#9  0x000055e3c5734f81 in funcall_lambda (fun=..., nargs=1, arg_vector=0x7ffe48045008) at eval.c:3241
#10 0x000055e3c5734387 in Ffuncall (nargs=2, args=0x7ffe48045000) at eval.c:3040
#11 0x00007efcf0a22f82 in F646f6f6d2d6d6f64656c696e652d7365742d73656c65637465642d77696e646f77_doom_modeline_set_selected_window_0 () at /home/alex/.emacs.d/eln-cache/28.0.50-bcff7dd7/doom-modeline-core-316342f3-a0ab9fa5.eln
#12 0x000055e3c573476d in funcall_subr (subr=0x55e3c75fb980, numargs=0, args=0x7ffe480451f0) at eval.c:3091
#13 0x000055e3c5734333 in Ffuncall (nargs=1, args=0x7ffe480451e8) at eval.c:3036
#14 0x000055e3c5733599 in funcall_nil (nargs=1, args=0x7ffe480451e8) at eval.c:2677
#15 0x000055e3c5733ac3 in run_hook_with_args (nargs=1, args=0x7ffe480451e8, funcall=0x55e3c5733576 <funcall_nil>) at eval.c:2854
#16 0x000055e3c573361f in Frun_hook_with_args (nargs=1, args=0x7ffe480451e8) at eval.c:2719
#17 0x000055e3c5733b5b in run_hook (hook=...) at eval.c:2867
#18 0x000055e3c57335da in Frun_hooks (nargs=1, args=0x7ffe48045368) at eval.c:2701
#19 0x000055e3c573476d in funcall_subr (subr=0x55e3c5d395a0 <Srun_hooks>, numargs=1, args=0x7ffe48045368) at eval.c:3091
#20 0x000055e3c5734333 in Ffuncall (nargs=2, args=0x7ffe48045360) at eval.c:3036
#21 0x000055e3c578eb50 in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=2, args=0x7ffe480458c8) at bytecode.c:632
#22 0x000055e3c5734afb in fetch_and_exec_byte_code (fun=..., syms_left=..., nargs=2, args=0x7ffe480458b8) at eval.c:3160
#23 0x000055e3c5734f81 in funcall_lambda (fun=..., nargs=2, arg_vector=0x7ffe480458b8) at eval.c:3241
#24 0x000055e3c5734387 in Ffuncall (nargs=3, args=0x7ffe480458b0) at eval.c:3040
#25 0x000055e3c5733c8f in call2 (fn=..., arg1=..., arg2=...) at eval.c:2903
#26 0x000055e3c56a82b0 in read_minibuf (map=..., initial=..., prompt=..., expflag=false, histvar=..., histpos=..., defalt=..., allow_props=false, inherit_input_method=false) at minibuf.c:683
#27 0x000055e3c56aa8ce in Fread_from_minibuffer (prompt=..., initial_contents=..., keymap=..., read=..., hist=..., default_value=..., inherit_input_method=...) at minibuf.c:1342
#28 0x000055e3c5732d1f in eval_sub (form=...) at eval.c:2535
#29 0x000055e3c572fd0c in internal_lisp_condition_case (var=..., bodyform=..., handlers=...) at eval.c:1429
#30 0x000055e3c572f605 in Fcondition_case (args=...) at eval.c:1347
#31 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#32 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#33 0x000055e3c572c7f2 in Fif (args=...) at eval.c:427
#34 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#35 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#36 0x000055e3c572e674 in FletX (args=...) at eval.c:989
#37 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#38 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#39 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#40 0x000055e3c572f424 in Funwind_protect (args=...) at eval.c:1305
#41 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#42 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#43 0x000055e3c572eb87 in Flet (args=...) at eval.c:1057
#44 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#45 0x000055e3c572f424 in Funwind_protect (args=...) at eval.c:1305
#46 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#47 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#48 0x000055e3c572e674 in FletX (args=...) at eval.c:989
#49 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#50 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#51 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#52 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#53 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#54 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#55 0x000055e3c572e674 in FletX (args=...) at eval.c:989
#56 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#57 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#58 0x000055e3c573546c in funcall_lambda (fun=..., nargs=12, arg_vector=0x0) at eval.c:3313
#59 0x000055e3c5734ca5 in apply_lambda (fun=..., args=..., count=51) at eval.c:3185
#60 0x000055e3c5732fe8 in eval_sub (form=...) at eval.c:2588
#61 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#62 0x000055e3c572c7f2 in Fif (args=...) at eval.c:427
#63 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#64 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#65 0x000055e3c572e674 in FletX (args=...) at eval.c:989
#66 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#67 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#68 0x000055e3c572c91d in Fcond (args=...) at eval.c:451
#69 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#70 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#71 0x000055e3c572e674 in FletX (args=...) at eval.c:989
#72 0x000055e3c57327d1 in eval_sub (form=...) at eval.c:2464
#73 0x000055e3c572ca30 in Fprogn (body=...) at eval.c:471
#74 0x000055e3c573546c in funcall_lambda (fun=..., nargs=4, arg_vector=0x0) at eval.c:3313
#75 0x000055e3c573449a in Ffuncall (nargs=5, args=0x7ffe48047888) at eval.c:3052
#76 0x000055e3c578eb50 in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=4, args=0x7ffe48047d88) at bytecode.c:632
#77 0x000055e3c5734afb in fetch_and_exec_byte_code (fun=..., syms_left=..., nargs=4, args=0x7ffe48047d68) at eval.c:3160
#78 0x000055e3c5734f81 in funcall_lambda (fun=..., nargs=4, arg_vector=0x7ffe48047d68) at eval.c:3241
#79 0x000055e3c5734387 in Ffuncall (nargs=5, args=0x7ffe48047d60) at eval.c:3040
#80 0x00007efcf0688b5c in F63726d2d636f6d706c657465_crm_complete_0 () at /home/alex/.emacs.d/eln-cache/28.0.50-bcff7dd7/crm-f08665f2-16cdb47d.eln
#81 0x000055e3c5734863 in funcall_subr (subr=0x55e3ccaa1f18, numargs=0, args=0x7ffe48048150) at eval.c:3109
#82 0x000055e3c5734333 in Ffuncall (nargs=1, args=0x7ffe48048148) at eval.c:3036
#83 0x000055e3c5727f7e in Ffuncall_interactively (nargs=1, args=0x7ffe48048148) at callint.c:260
#84 0x000055e3c573476d in funcall_subr (subr=0x55e3c5d38940 <Sfuncall_interactively>, numargs=1, args=0x7ffe48048148) at eval.c:3091
#85 0x000055e3c5734333 in Ffuncall (nargs=2, args=0x7ffe48048140) at eval.c:3036
#86 0x000055e3c5733121 in Fapply (nargs=3, args=0x7ffe48048140) at eval.c:2619
#87 0x000055e3c5728406 in Fcall_interactively (function=..., record_flag=..., keys=...) at callint.c:353
#88 0x000055e3c57348c6 in funcall_subr (subr=0x55e3c5d389a0 <Scall_interactively>, numargs=3, args=0x7ffe48048400) at eval.c:3116
#89 0x000055e3c5734333 in Ffuncall (nargs=4, args=0x7ffe480483f8) at eval.c:3036
#90 0x000055e3c578eb50 in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=1, args=0x7ffe48048970) at bytecode.c:632
#91 0x000055e3c5734afb in fetch_and_exec_byte_code (fun=..., syms_left=..., nargs=1, args=0x7ffe48048968) at eval.c:3160
#92 0x000055e3c5734f81 in funcall_lambda (fun=..., nargs=1, arg_vector=0x7ffe48048968) at eval.c:3241
#93 0x000055e3c5734387 in Ffuncall (nargs=2, args=0x7ffe48048960) at eval.c:3040
#94 0x000055e3c5733c50 in call1 (fn=..., arg1=...) at eval.c:2896
#95 0x000055e3c5654a0e in command_loop_1 () at keyboard.c:1466
#96 0x000055e3c572fe92 in internal_condition_case (bfun=0x55e3c56541b5 <command_loop_1>, handlers=..., hfun=0x55e3c56537c4 <cmd_error>) at eval.c:1475
#97 0x000055e3c5653d9a in command_loop_2 (ignore=...) at keyboard.c:1094
#98 0x000055e3c572f036 in internal_catch (tag=..., func=0x55e3c5653d6d <command_loop_2>, arg=...) at eval.c:1198
#99 0x000055e3c5653cc8 in command_loop () at keyboard.c:1065
#100 0x000055e3c56532ab in recursive_edit_1 () at keyboard.c:720
#101 0x000055e3c56a911b in read_minibuf (map=..., initial=..., prompt=..., expflag=false, histvar=..., histpos=..., defalt=..., allow_props=false, inherit_input_method=false) at minibuf.c:894
#102 0x000055e3c56aa8ce in Fread_from_minibuffer (prompt=..., initial_contents=..., keymap=..., read=..., hist=..., default_value=..., inherit_input_method=...) at minibuf.c:1342
#103 0x00007efcf0697be3 in F6d616769742d636f6d706c6574696e672d726561642d6d756c7469706c65_magit_completing_read_multiple_0 () at /home/alex/.emacs.d/eln-cache/28.0.50-bcff7dd7/magit-utils-47ce2b44-76d60e21.eln
#104 0x000055e3c573498c in funcall_subr (subr=0x55e3cc222470, numargs=6, args=0x7ffe48049078) at eval.c:3127
#105 0x000055e3c5734333 in Ffuncall (nargs=7, args=0x7ffe48049070) at eval.c:3036
#106 0x00007efcf03acc04 in F6d616769742d6c6f672d726561642d72657673_magit_log_read_revs_0 () at /home/alex/.emacs.d/eln-cache/28.0.50-bcff7dd7/magit-log-f581e47c-1c94118d.eln
#107 0x000055e3c5734879 in funcall_subr (subr=0x55e3ca9bd4a0, numargs=0, args=0x7ffe480491f0) at eval.c:3111
#108 0x000055e3c5734333 in Ffuncall (nargs=1, args=0x7ffe480491e8) at eval.c:3036
#109 0x000055e3c578eb50 in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=0, args=0x0) at bytecode.c:632
#110 0x000055e3c578de30 in Fbyte_code (bytestr=..., vector=..., maxdepth=...) at bytecode.c:334
#111 0x000055e3c5732c16 in eval_sub (form=...) at eval.c:2517
#112 0x000055e3c5732136 in Feval (form=..., lexical=...) at eval.c:2340
#113 0x000055e3c57282b2 in Fcall_interactively (function=..., record_flag=..., keys=...) at callint.c:334
#114 0x000055e3c57348c6 in funcall_subr (subr=0x55e3c5d389a0 <Scall_interactively>, numargs=3, args=0x7ffe48049a70) at eval.c:3116
#115 0x000055e3c5734333 in Ffuncall (nargs=4, args=0x7ffe48049a68) at eval.c:3036
#116 0x000055e3c578eb50 in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=1, args=0x7ffe48049fe0) at bytecode.c:632
#117 0x000055e3c5734afb in fetch_and_exec_byte_code (fun=..., syms_left=..., nargs=1, args=0x7ffe48049fd8) at eval.c:3160
#118 0x000055e3c5734f81 in funcall_lambda (fun=..., nargs=1, arg_vector=0x7ffe48049fd8) at eval.c:3241
#119 0x000055e3c5734387 in Ffuncall (nargs=2, args=0x7ffe48049fd0) at eval.c:3040
#120 0x000055e3c5733c50 in call1 (fn=..., arg1=...) at eval.c:2896
#121 0x000055e3c5654a0e in command_loop_1 () at keyboard.c:1466
#122 0x000055e3c572fe92 in internal_condition_case (bfun=0x55e3c56541b5 <command_loop_1>, handlers=..., hfun=0x55e3c56537c4 <cmd_error>) at eval.c:1475
#123 0x000055e3c5653d9a in command_loop_2 (ignore=...) at keyboard.c:1094
#124 0x000055e3c572f036 in internal_catch (tag=..., func=0x55e3c5653d6d <command_loop_2>, arg=...) at eval.c:1198
#125 0x000055e3c5653d38 in command_loop () at keyboard.c:1073
#126 0x000055e3c56532ab in recursive_edit_1 () at keyboard.c:720
#127 0x000055e3c56534a3 in Frecursive_edit () at keyboard.c:789
#128 0x000055e3c564f338 in main (argc=1, argv=0x7ffe4804a4f8) at emacs.c:2297
#3  0x000055e3c56a982e in nth_minibuffer (depth=2) at minibuf.c:972
972	  return XCAR (tail);
=> 0x55e3c56a982e <nth_minibuffer+180>:	mov    -0x10(%rbp),%rax
   0x55e3c56a9832 <nth_minibuffer+184>:	sub    $0x3,%rax
   0x55e3c56a9836 <nth_minibuffer+188>:	mov    (%rax),%rax
   0x55e3c56a9839 <nth_minibuffer+191>:	leaveq 
   0x55e3c56a983a <nth_minibuffer+192>:	retq   
$1 = 0x7ffe480449f0
Breakpoint 1 at 0x55e3c56a6e44: file minibuf.c, line 227.
Continuing.

Thread 1 received signal SIGABRT, Aborted.
raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
Continuing.

Thread 1 hit Breakpoint 1, Factive_minibuffer_window () at minibuf.c:227
227	  if (!minibuf_level)
$2 = 2
$3 = {i = 0x55e3c64f4ca3}
230	  innermost_MB = nth_minibuffer (minibuf_level);
nth_minibuffer (depth=2) at minibuf.c:971
971	  Lisp_Object tail = Fnthcdr (make_fixnum (depth), Vminibuffer_list);
Fnthcdr (n=..., list=...) at fns.c:1526
1526	  Lisp_Object tail = list;
1528	  CHECK_INTEGER (n);
1534	  EMACS_INT large_num = EMACS_INT_MAX;
1537	  if (FIXNUMP (n))
1539	      num = XFIXNUM (n);
1542	      if (num <= SMALL_LIST_LEN_MAX)
$4 = 2
1544		  for (; 0 < num; num--, tail = XCDR (tail))
1539	      num = XFIXNUM (n);
1540	
1541	      /* Speed up small lists by omitting circularity and quit checking.  */
1542	      if (num <= SMALL_LIST_LEN_MAX)
1543		{
1544		  for (; 0 < num; num--, tail = XCDR (tail))
1545		    if (! CONSP (tail))
1546		      {
1547			CHECK_LIST_END (tail, list);
1548			return Qnil;
$5 = {i = 0x55e3c64f4ca3}
$6 = (Lisp_Word) 0x55e3c64f4ca3
$7 = <incomplete type>
0x55e3c64f4ca3:	0x9c9c1300007efd06	0x000002000055e3c7
0x55e3c64f4cb3:	0x9c9c030000000000	0x814d80000055e3c7
0x55e3c64f4cc3:	0x4f4c030000000000
1545		    if (! CONSP (tail))
1544		  for (; 0 < num; num--, tail = XCDR (tail))
1545		    if (! CONSP (tail))
1544		  for (; 0 < num; num--, tail = XCDR (tail))
1550		  return tail;
$8 = 0
$9 = {i = 0x0}
1544		  for (; 0 < num; num--, tail = XCDR (tail))
$10 = {i = 0x55e3c79c9c13}
$11 = (Lisp_Word) 0x55e3c79c9c13
0x55e3c79c9c13:	0x000000000055e3cb	0x2b81440000000000
0x55e3c79c9c23:	0x9c9b83000055e3c7	0x00c0f0000055e3c7
0x55e3c79c9c33:	0x9c9d030000000000
=> 0x55e3c57406b5 <Fnthcdr+151>:	movzbl 0x681dec(%rip),%eax        # 0x55e3c5dc24a8 <suppress_checking>
   0x55e3c57406bc <Fnthcdr+158>:	test   %al,%al
   0x55e3c57406be <Fnthcdr+160>:	jne    0x55e3c57406e6 <Fnthcdr+200>
   0x55e3c57406c0 <Fnthcdr+162>:	mov    -0x38(%rbp),%rax
   0x55e3c57406c4 <Fnthcdr+166>:	sub    $0x3,%eax
0x000055e3c57406bc	1544		  for (; 0 < num; num--, tail = XCDR (tail))
=> 0x55e3c57406bc <Fnthcdr+158>:	test   %al,%al
   0x55e3c57406be <Fnthcdr+160>:	jne    0x55e3c57406e6 <Fnthcdr+200>
   0x55e3c57406c0 <Fnthcdr+162>:	mov    -0x38(%rbp),%rax
0x000055e3c57406be	1544		  for (; 0 < num; num--, tail = XCDR (tail))
=> 0x55e3c57406be <Fnthcdr+160>:	jne    0x55e3c57406e6 <Fnthcdr+200>
   0x55e3c57406c0 <Fnthcdr+162>:	mov    -0x38(%rbp),%rax
   0x55e3c57406c4 <Fnthcdr+166>:	sub    $0x3,%eax
0x000055e3c57406c0	1544		  for (; 0 < num; num--, tail = XCDR (tail))
=> 0x55e3c57406c0 <Fnthcdr+162>:	mov    -0x38(%rbp),%rax
   0x55e3c57406c4 <Fnthcdr+166>:	sub    $0x3,%eax
   0x55e3c57406c7 <Fnthcdr+169>:	and    $0x7,%eax
0x000055e3c57406c4	1544		  for (; 0 < num; num--, tail = XCDR (tail))
=> 0x55e3c57406c4 <Fnthcdr+166>:	sub    $0x3,%eax
   0x55e3c57406c7 <Fnthcdr+169>:	and    $0x7,%eax
   0x55e3c57406ca <Fnthcdr+172>:	test   %eax,%eax
$12 = 0x55e3c79c9c13
0x000055e3c57406c7	1544		  for (; 0 < num; num--, tail = XCDR (tail))
=> 0x55e3c57406c7 <Fnthcdr+169>:	and    $0x7,%eax
   0x55e3c57406ca <Fnthcdr+172>:	test   %eax,%eax
   0x55e3c57406cc <Fnthcdr+174>:	je     0x55e3c57406e6 <Fnthcdr+200>
0x000055e3c57406ca	1544		  for (; 0 < num; num--, tail = XCDR (tail))
=> 0x55e3c57406ca <Fnthcdr+172>:	test   %eax,%eax
   0x55e3c57406cc <Fnthcdr+174>:	je     0x55e3c57406e6 <Fnthcdr+200>
   0x55e3c57406ce <Fnthcdr+176>:	mov    $0x608,%edx
0x000055e3c57406cc	1544		  for (; 0 < num; num--, tail = XCDR (tail))
=> 0x55e3c57406cc <Fnthcdr+174>:	je     0x55e3c57406e6 <Fnthcdr+200>
   0x55e3c57406ce <Fnthcdr+176>:	mov    $0x608,%edx
   0x55e3c57406d3 <Fnthcdr+181>:	lea    0x16cfb8(%rip),%rsi        # 0x55e3c58ad692
0x000055e3c57406e6	1544		  for (; 0 < num; num--, tail = XCDR (tail))
=> 0x55e3c57406e6 <Fnthcdr+200>:	mov    -0x38(%rbp),%rax
   0x55e3c57406ea <Fnthcdr+204>:	sub    $0x3,%rax
   0x55e3c57406ee <Fnthcdr+208>:	mov    0x8(%rax),%rax
A syntax error in expression, near `%rbp'.
$13 = 0x7ffe480449c0
$14 = 0x7ffe48044988
0x7ffe48044988:	0x000055e3c79c9c13	0x0000000100000002
0x7ffe48044998:	0x7fffffffffffffff	0x000055e3c5dc4430
0x7ffe480449a8:	0x0000000000000000
0x000055e3c57406ea	1544		  for (; 0 < num; num--, tail = XCDR (tail))
=> 0x55e3c57406ea <Fnthcdr+204>:	sub    $0x3,%rax
   0x55e3c57406ee <Fnthcdr+208>:	mov    0x8(%rax),%rax
   0x55e3c57406f2 <Fnthcdr+212>:	mov    %rax,-0x38(%rbp)
$15 = 0x55e3c79c9c13
0x000055e3c57406ee	1544		  for (; 0 < num; num--, tail = XCDR (tail))
=> 0x55e3c57406ee <Fnthcdr+208>:	mov    0x8(%rax),%rax
   0x55e3c57406f2 <Fnthcdr+212>:	mov    %rax,-0x38(%rbp)
   0x55e3c57406f6 <Fnthcdr+216>:	cmpq   $0x0,-0x18(%rbp)
$16 = 0x55e3c79c9c10
A syntax error in expression, near `%rax'.
0x55e3c79c9c10:	0x000055e3cb0ccdd5	0x0000000000000000
0x55e3c79c9c20:	0x000055e3c72b8144	0x000055e3c79c9b83
0x55e3c79c9c30:	0x000000000000c0f0	0x000055e3c79c9d03
0x55e3c79c9c40:	0x000055e3c72b8164	0x000055e3c79c9c23
0x55e3c79c9c50:	0x00002919409ad0c8	0x000055e3c79c9b93
0x000055e3c57406f2	1544		  for (; 0 < num; num--, tail = XCDR (tail))
=> 0x55e3c57406f2 <Fnthcdr+212>:	mov    %rax,-0x38(%rbp)
   0x55e3c57406f6 <Fnthcdr+216>:	cmpq   $0x0,-0x18(%rbp)
   0x55e3c57406fb <Fnthcdr+221>:	jg     0x55e3c5740680 <Fnthcdr+98>
$17 = 0x0
Continuing.

Thread 1 hit Breakpoint 1, Factive_minibuffer_window () at minibuf.c:227
227	  if (!minibuf_level)
+set logging file rr3.txt
+l
222	{
223	  Lisp_Object frames, frame;
224	  struct frame *f;
225	  Lisp_Object innermost_MB;
226	
227	  if (!minibuf_level)
228	    return Qnil;
229	
230	  innermost_MB = nth_minibuffer (minibuf_level);
231	  FOR_EACH_FRAME (frames, frame)
+info locals
frames = {i = 0x7ffe48044a40}
frame = {i = 0x0}
f = 0x55e3c572a9e6 <make_lisp_symbol+61>
innermost_MB = {i = 0x55e3c5dc4400 <lispsym>}
+p minibuf_level 
$18 = 2
+p Vminibuffer_list 
$19 = {i = 0x55e3c64f4ca3}
+p $19.i
$20 = (Lisp_Word) 0x55e3c64f4ca3
+x/5g $20
0x55e3c64f4ca3:	0x9c9c1300007efd06	0x000002000055e3c7
0x55e3c64f4cb3:	0x9c9c030000000000	0x814d80000055e3c7
0x55e3c64f4cc3:	0x4f4c030000000000
+n
++rr-set-suppress-run-hook 1
230	  innermost_MB = nth_minibuffer (minibuf_level);
+s
++rr-set-suppress-run-hook 1
nth_minibuffer (depth=2) at minibuf.c:971
971	  Lisp_Object tail = Fnthcdr (make_fixnum (depth), Vminibuffer_list);
+s
++rr-set-suppress-run-hook 1
Fnthcdr (n=..., list=...) at fns.c:1526
1526	  Lisp_Object tail = list;
+p list
$21 = {i = 0x55e3c64f4ca3}
+n
++rr-set-suppress-run-hook 1
1528	  CHECK_INTEGER (n);
+n
++rr-set-suppress-run-hook 1
1534	  EMACS_INT large_num = EMACS_INT_MAX;
+n
++rr-set-suppress-run-hook 1
1537	  if (FIXNUMP (n))
+n
++rr-set-suppress-run-hook 1
1539	      num = XFIXNUM (n);
+n
++rr-set-suppress-run-hook 1
1542	      if (num <= SMALL_LIST_LEN_MAX)
+n
++rr-set-suppress-run-hook 1
1544		  for (; 0 < num; num--, tail = XCDR (tail))
+n
++rr-set-suppress-run-hook 1
1545		    if (! CONSP (tail))
+n
++rr-set-suppress-run-hook 1
1544		  for (; 0 < num; num--, tail = XCDR (tail))
+n
++rr-set-suppress-run-hook 1
1545		    if (! CONSP (tail))
+n
++rr-set-suppress-run-hook 1
1544		  for (; 0 < num; num--, tail = XCDR (tail))
+n
++rr-set-suppress-run-hook 1
1550		  return tail;
+p tail
$22 = {i = 0x0}
+reverse-step
+step 
++rr-set-suppress-run-hook 1
++rr-set-suppress-run-hook 1
1544		  for (; 0 < num; num--, tail = XCDR (tail))
+p tail
$23 = {i = 0x55e3c79c9c13}
+p tail.i
$24 = (Lisp_Word) 0x55e3c79c9c13
+x/5g $24
0x55e3c79c9c13:	0x000000000055e3cb	0x2b81440000000000
0x55e3c79c9c23:	0x9c9b83000055e3c7	0x00c0f0000055e3c7
0x55e3c79c9c33:	0x9c9d030000000000
+i
++si
0x000055e3c57406bc	1544		  for (; 0 < num; num--, tail = XCDR (tail))
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406bc <Fnthcdr+158>:	test   %al,%al
   0x55e3c57406be <Fnthcdr+160>:	jne    0x55e3c57406e6 <Fnthcdr+200>
   0x55e3c57406c0 <Fnthcdr+162>:	mov    -0x38(%rbp),%rax
+i
++si
0x000055e3c57406be	1544		  for (; 0 < num; num--, tail = XCDR (tail))
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406be <Fnthcdr+160>:	jne    0x55e3c57406e6 <Fnthcdr+200>
   0x55e3c57406c0 <Fnthcdr+162>:	mov    -0x38(%rbp),%rax
   0x55e3c57406c4 <Fnthcdr+166>:	sub    $0x3,%eax
+i
++si
0x000055e3c57406c0	1544		  for (; 0 < num; num--, tail = XCDR (tail))
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406c0 <Fnthcdr+162>:	mov    -0x38(%rbp),%rax
   0x55e3c57406c4 <Fnthcdr+166>:	sub    $0x3,%eax
   0x55e3c57406c7 <Fnthcdr+169>:	and    $0x7,%eax
+p/x $rbp
$25 = 0x7ffe480449c0
+p/x $rbp - 0x38
$26 = 0x7ffe48044988
+x/5g $26
0x7ffe48044988:	0x000055e3c79c9c13	0x0000000100000002
0x7ffe48044998:	0x7fffffffffffffff	0x000055e3c5dc4430
0x7ffe480449a8:	0x0000000000000000
+i
++si
0x000055e3c57406c4	1544		  for (; 0 < num; num--, tail = XCDR (tail))
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406c4 <Fnthcdr+166>:	sub    $0x3,%eax
   0x55e3c57406c7 <Fnthcdr+169>:	and    $0x7,%eax
   0x55e3c57406ca <Fnthcdr+172>:	test   %eax,%eax
+p/x $rax
$27 = 0x55e3c79c9c13
+i
++si
0x000055e3c57406c7	1544		  for (; 0 < num; num--, tail = XCDR (tail))
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406c7 <Fnthcdr+169>:	and    $0x7,%eax
   0x55e3c57406ca <Fnthcdr+172>:	test   %eax,%eax
   0x55e3c57406cc <Fnthcdr+174>:	je     0x55e3c57406e6 <Fnthcdr+200>
+i
++si
0x000055e3c57406ca	1544		  for (; 0 < num; num--, tail = XCDR (tail))
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406ca <Fnthcdr+172>:	test   %eax,%eax
   0x55e3c57406cc <Fnthcdr+174>:	je     0x55e3c57406e6 <Fnthcdr+200>
   0x55e3c57406ce <Fnthcdr+176>:	mov    $0x608,%edx
+i
++si
0x000055e3c57406cc	1544		  for (; 0 < num; num--, tail = XCDR (tail))
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406cc <Fnthcdr+174>:	je     0x55e3c57406e6 <Fnthcdr+200>
   0x55e3c57406ce <Fnthcdr+176>:	mov    $0x608,%edx
   0x55e3c57406d3 <Fnthcdr+181>:	lea    0x16cfb8(%rip),%rsi        # 0x55e3c58ad692
+i
++si
0x000055e3c57406e6	1544		  for (; 0 < num; num--, tail = XCDR (tail))
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406e6 <Fnthcdr+200>:	mov    -0x38(%rbp),%rax
   0x55e3c57406ea <Fnthcdr+204>:	sub    $0x3,%rax
   0x55e3c57406ee <Fnthcdr+208>:	mov    0x8(%rax),%rax
+p/x $rbp - 0x38
$28 = 0x7ffe48044988
+x/5g $28
0x7ffe48044988:	0x000055e3c79c9c13	0x0000000100000002
0x7ffe48044998:	0x7fffffffffffffff	0x000055e3c5dc4430
0x7ffe480449a8:	0x0000000000000000
+i
++si
0x000055e3c57406ea	1544		  for (; 0 < num; num--, tail = XCDR (tail))
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406ea <Fnthcdr+204>:	sub    $0x3,%rax
   0x55e3c57406ee <Fnthcdr+208>:	mov    0x8(%rax),%rax
   0x55e3c57406f2 <Fnthcdr+212>:	mov    %rax,-0x38(%rbp)
+p/x $rax
$29 = 0x55e3c79c9c13
+i
++si
0x000055e3c57406ee	1544		  for (; 0 < num; num--, tail = XCDR (tail))
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406ee <Fnthcdr+208>:	mov    0x8(%rax),%rax
   0x55e3c57406f2 <Fnthcdr+212>:	mov    %rax,-0x38(%rbp)
   0x55e3c57406f6 <Fnthcdr+216>:	cmpq   $0x0,-0x18(%rbp)
+i
++si
0x000055e3c57406f2	1544		  for (; 0 < num; num--, tail = XCDR (tail))
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406f2 <Fnthcdr+212>:	mov    %rax,-0x38(%rbp)
   0x55e3c57406f6 <Fnthcdr+216>:	cmpq   $0x0,-0x18(%rbp)
   0x55e3c57406fb <Fnthcdr+221>:	jg     0x55e3c5740680 <Fnthcdr+98>
+i
++si
0x000055e3c57406f6	1544		  for (; 0 < num; num--, tail = XCDR (tail))
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406f6 <Fnthcdr+216>:	cmpq   $0x0,-0x18(%rbp)
   0x55e3c57406fb <Fnthcdr+221>:	jg     0x55e3c5740680 <Fnthcdr+98>
   0x55e3c57406fd <Fnthcdr+223>:	mov    -0x38(%rbp),%rax
+i
++si
0x000055e3c57406fb	1544		  for (; 0 < num; num--, tail = XCDR (tail))
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406fb <Fnthcdr+221>:	jg     0x55e3c5740680 <Fnthcdr+98>
   0x55e3c57406fd <Fnthcdr+223>:	mov    -0x38(%rbp),%rax
   0x55e3c5740701 <Fnthcdr+227>:	jmpq   0x55e3c57409bf <Fnthcdr+929>
+i
++si
1550		  return tail;
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57406fd <Fnthcdr+223>:	mov    -0x38(%rbp),%rax
   0x55e3c5740701 <Fnthcdr+227>:	jmpq   0x55e3c57409bf <Fnthcdr+929>
   0x55e3c5740706 <Fnthcdr+232>:	mov    -0x78(%rbp),%rax
+i
++si
0x000055e3c5740701	1550		  return tail;
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c5740701 <Fnthcdr+227>:	jmpq   0x55e3c57409bf <Fnthcdr+929>
   0x55e3c5740706 <Fnthcdr+232>:	mov    -0x78(%rbp),%rax
   0x55e3c574070a <Fnthcdr+236>:	mov    %rax,%rdi
+p/x $rax
$30 = 0x0
+reverse-stepi
+stepi 
++rr-set-suppress-run-hook 1
++rr-set-suppress-run-hook 1
1550		  return tail;
+x/5i $pc
=> 0x55e3c57406fd <Fnthcdr+223>:	mov    -0x38(%rbp),%rax
   0x55e3c5740701 <Fnthcdr+227>:	jmpq   0x55e3c57409bf <Fnthcdr+929>
   0x55e3c5740706 <Fnthcdr+232>:	mov    -0x78(%rbp),%rax
   0x55e3c574070a <Fnthcdr+236>:	mov    %rax,%rdi
   0x55e3c574070d <Fnthcdr+239>:	callq  0x55e3c573b616 <xbignum_val>
+p/x $rbp
$31 = 0x7ffe480449c0
+p/x $rbp - 0x38
$32 = 0x7ffe48044988
+x/5g $32
0x7ffe48044988:	0x0000000000000000	0x0000000100000002
0x7ffe48044998:	0x7fffffffffffffff	0x000055e3c5dc4430
0x7ffe480449a8:	0x0000000000000000
+p/x $rbp - 0x78
$33 = 0x7ffe48044948
+x/5g $33
0x7ffe48044948:	0x000000000000000a	0x0000000000000032
0x7ffe48044958:	0x0000000000000000	0x0000000000000000
0x7ffe48044968:	0x0000000000000000
+i
++si
0x000055e3c5740701	1550		  return tail;
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c5740701 <Fnthcdr+227>:	jmpq   0x55e3c57409bf <Fnthcdr+929>
   0x55e3c5740706 <Fnthcdr+232>:	mov    -0x78(%rbp),%rax
   0x55e3c574070a <Fnthcdr+236>:	mov    %rax,%rdi
+i
++si
1613	}
+++rr-set-suppress-run-hook 1
++x/3i $pc
=> 0x55e3c57409bf <Fnthcdr+929>:	add    $0x78,%rsp
   0x55e3c57409c3 <Fnthcdr+933>:	pop    %rbx
   0x55e3c57409c4 <Fnthcdr+934>:	pop    %rbp
+p/x $rax
$34 = 0x0
+set logging off

  reply	other threads:[~2021-05-11  8:54 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87tunasd2u.fsf@linaro.org>
2021-05-10 19:30 ` bug#48337: Fwd: 28.0.50; Emacs crashing randomly (possibly minibuffer activity related) Alex Bennée
2021-05-10 19:34   ` bug#48337: Alex Bennée
2021-05-11  2:24   ` bug#48337: Fwd: 28.0.50; Emacs crashing randomly (possibly minibuffer activity related) Eli Zaretskii
2021-05-11  6:51     ` Alex Bennée
2021-05-11  8:23       ` Alex Bennée
2021-05-11  8:54         ` Alex Bennée [this message]
2021-05-11 12:21       ` Eli Zaretskii
2021-05-11 12:54         ` Alex Bennée
2021-05-11 13:42           ` Eli Zaretskii
2021-05-11 13:47             ` Eli Zaretskii
2021-05-11 19:45             ` Alan Mackenzie
2021-05-11 19:55               ` Eli Zaretskii
2021-05-12 18:54                 ` Alan Mackenzie
2021-05-13  7:54                   ` martin rudalics
2021-05-13  9:52                     ` Alan Mackenzie
2021-05-13 11:54                       ` Alan Mackenzie
2021-05-13 12:09                         ` Alan Mackenzie
2021-05-14 15:20                     ` Gregory Heytings
2021-05-14 16:05                       ` Eli Zaretskii
2021-05-14 17:31                         ` Gregory Heytings
2021-05-14 18:19                           ` Eli Zaretskii
2021-05-15  9:45                             ` Gregory Heytings
2021-05-11 20:14       ` Alan Mackenzie
2021-05-11 22:07         ` Alex Bennée
2021-05-14 16:31           ` Alan Mackenzie
2021-05-14 16:52             ` Alex Bennée
2021-05-14 18:40               ` Alan Mackenzie
2021-05-14 22:35                 ` Alex Bennée
2021-05-15 12:00                   ` Alan Mackenzie
2021-05-16 14:24                     ` Alan Mackenzie

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAHDbmO1tdgqKhF2s3fXL8ONgve=R3tT78EA9Wt0=y6qdS51PYw@mail.gmail.com' \
    --to=alex.bennee@linaro.org \
    --cc=48337@debbugs.gnu.org \
    --cc=acm@muc.de \
    --cc=eliz@gnu.org \
    /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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).