Subject: bug#77046: 31.0.50; Emacs sometimes crashes

From: Markus Triska <[email-masked]>
Date: Sat, 22 Mar 2025 09:00:27 +0100

Eli Zaretskii <[email-masked]> writes:

> Thanks.  I tried on GNU/Linux.

I still get a crash also on Ubuntu 23.10, from which I also reported the
original issue. I attach the new backtrace below.

> I wonder what is it with your environment that produces unreproducible
> results, even for such simple problems.  Note that the backtrace
> you've shown indicated the crash was while loading some Lisp file,
> which I don't understand at all.

I try to keep every system I use as plain and simple as possible. To the
best of my knowledge, this Ubuntu 23.10 is very close to a default
installation, with a few additional packages installed.

Please see below for the new backtrace, using:

    $ ./emacs --version
    GNU Emacs 31.0.50
    Development version cf7fdd374ac9 on master branch; build date 2025-03-22.

Thank you and all the best,
Markus

#0  0x000055555575e5a2 in internal_equal_1 (o1=0x7ffff47f2fac, o2=o2@entry=0x555555a008e4, equal_kind=equal_kind@entry=EQUAL_PLAIN, depth=depth@entry=0, ht=ht@entry=0x7fffffffc4f8) at fns.c:2836
#1  0x000055555575f6a5 in internal_equal (ht=<optimized out>, depth=0, equal_kind=EQUAL_PLAIN, o2=0x555555a008e4, o1=<optimized out>) at fns.c:3000
#2  Fequal (o2=0x555555a008e4, o1=<optimized out>) at fns.c:2795
#3  Fassoc (key=0x555555a008e4, alist=0x7ffff47ec1bb, testfn=0x0) at fns.c:2025
#4  0x0000555555796e2d in exec_byte_code (fun=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at /emacs/src/lisp.h:2230
#5  0x000055555574b42e in Ffuncall (nargs=nargs@entry=3, args=args@entry=0x7fffffffc680) at eval.c:3087
#6  0x000055555566e969 in tty_lookup_color (f=f@entry=0x555555aeff60, color=0x555555a008e4, tty_color=tty_color@entry=0x7fffffffc720, std_color=std_color@entry=0x0) at xfaces.c:1090
#7  0x0000555555675d8c in tty_defined_color (f=0x555555aeff60, color_name=0x555555ae1270 "unspecified-bg", color_def=0x7fffffffc720, alloc=<optimized out>, _makeIndex=<optimized out>) at xfaces.c:1153
#8  0x000055555566e426 in load_color2 (f=0x555555aeff60, face=0x555555a6d370, name=0x555555a00634, target_index=LFACE_BACKGROUND_INDEX, color=0x7fffffffc720) at xfaces.c:1300
#9  0x000055555566eafe in load_color (target_index=LFACE_BACKGROUND_INDEX, name=0x555555a00634, face=0x555555a6d370, f=0x555555aeff60) at xfaces.c:1363
#10 map_tty_color (f=f@entry=0x555555aeff60, face=face@entry=0x555555a6d370, color=0x555555a00634, idx=idx@entry=LFACE_BACKGROUND_INDEX, defaulted=<optimized out>) at xfaces.c:6575
#11 0x00005555556765a5 in realize_tty_face (cache=0x555555a667e0, attrs=0x7fffffffc810) at xfaces.c:6725
#12 realize_face (cache=cache@entry=0x555555a667e0, attrs=attrs@entry=0x7fffffffc810, former_face_id=former_face_id@entry=16) at xfaces.c:6127
#13 0x0000555555677ea8 in realize_named_face (f=f@entry=0x555555aeff60, symbol=symbol@entry=0xac80, id=id@entry=16) at xfaces.c:6095
#14 0x000055555567828a in realize_basic_faces (f=f@entry=0x555555aeff60) at xfaces.c:5902
#15 0x000055555567892d in init_frame_faces (f=f@entry=0x555555aeff60) at xfaces.c:687
#16 0x00005555555b5478 in Fmake_terminal_frame (parms=<optimized out>) at frame.c:1682
#17 0x0000555555796e2d in exec_byte_code (fun=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at /emacs/src/lisp.h:2230
#18 0x000055555574b42e in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7ffff35ff370) at eval.c:3087
#19 0x000055555574baa2 in Fapply (nargs=2, args=0x7ffff35ff370) at eval.c:2716
#20 0x0000555555796e2d in exec_byte_code (fun=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at /emacs/src/lisp.h:2230
#21 0x000055555574fde4 in apply_lambda (fun=<optimized out>, args=<optimized out>, count=count@entry=...) at eval.c:3209
#22 0x000055555574e3d2 in eval_sub (form=<optimized out>) at eval.c:2681
#23 0x0000555555750061 in Flet (args=<optimized out>) at eval.c:1094
#24 0x000055555574e77f in eval_sub (form=<optimized out>) at eval.c:2543
#25 0x0000555555750280 in Fprogn (body=<optimized out>) at eval.c:439
#26 Flet (args=<optimized out>) at eval.c:1123
#27 0x000055555574e77f in eval_sub (form=<optimized out>) at eval.c:2543
#28 0x000055555574f7d8 in Fprogn (body=<optimized out>) at eval.c:439
#29 funcall_lambda (fun=fun@entry=0x555555a5b7ed, nargs=nargs@entry=0, arg_vector=arg_vector@entry=0x7fffffffd1f0) at eval.c:3344
#30 0x000055555574fde4 in apply_lambda (fun=<optimized out>, args=<optimized out>, count=count@entry=...) at eval.c:3209
#31 0x000055555574e3d2 in eval_sub (form=<optimized out>) at eval.c:2681
#32 0x000055555574f450 in Fprogn (body=<optimized out>) at eval.c:439
#33 prog_ignore (body=<optimized out>) at eval.c:450
#34 Fwhile (args=<optimized out>) at eval.c:1144
#35 0x000055555574e77f in eval_sub (form=<optimized out>) at eval.c:2543
#36 0x000055555577819e in readevalloop_eager_expand_eval (val=<optimized out>, val@entry=0x7ffff739e1c3, macroexpand=0xae30) at lread.c:2358
#37 0x000055555577fb4c in readevalloop (readcharfun=readcharfun@entry=0x555555a5b20d, infile0=infile0@entry=0x0, sourcename=sourcename@entry=0x555555a57d24, printflag=printflag@entry=false, unibyte=unibyte@entry=0x0, readfun=readfun@entry=0x0, start=0x0, end=<optimized out>) at lread.c:2540
#38 0x0000555555780dbe in Feval_buffer (buffer=<optimized out>, printflag=0x0, filename=0x555555a57d24, unibyte=0x0, do_allow_print=<optimized out>) at lread.c:2618
#39 0x0000555555796e2d in exec_byte_code (fun=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at /emacs/src/lisp.h:2230
#40 0x000055555574b42e in Ffuncall (nargs=nargs@entry=5, args=args@entry=0x7fffffffd7b0) at eval.c:3087
#41 0x00005555557809b1 in Fload (file=0x555555a57a64, noerror=<optimized out>, nomessage=0x30, nosuffix=<optimized out>, must_suffix=<optimized out>) at lread.c:1615
#42 0x0000555555796e2d in exec_byte_code (fun=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>) at /emacs/src/lisp.h:2230
#43 0x000055555574fde4 in apply_lambda (fun=<optimized out>, args=<optimized out>, count=count@entry=...) at eval.c:3209
#44 0x000055555574e3d2 in eval_sub (form=form@entry=0x7ffff49c14eb) at eval.c:2681
#45 0x0000555555750be3 in Feval (form=0x7ffff49c14eb, lexical=<optimized out>) at eval.c:2456
#46 0x0000555555749b77 in internal_condition_case (bfun=bfun@entry=0x5555556b9e10 <top_level_2>, handlers=handlers@entry=0x90, hfun=hfun@entry=0x5555556c2630 <cmd_error>) at eval.c:1620
#47 0x00005555556ba94a in top_level_1 (ignore=ignore@entry=0x0) at keyboard.c:1191
#48 0x0000555555749ab9 in internal_catch (tag=tag@entry=0x11df0, func=func@entry=0x5555556ba920 <top_level_1>, arg=arg@entry=0x0) at eval.c:1300
#49 0x00005555556b9d6f in command_loop () at keyboard.c:1140
#50 0x00005555556c21a5 in recursive_edit_1 () at keyboard.c:749
#51 0x00005555556c2544 in Frecursive_edit () at keyboard.c:832
#52 0x000055555559ec1e in main (argc=<optimized out>, argv=0x7fffffffde38) at emacs.c:2560