Subject: bug#49261: 28.0.50; File Locking Breaks Presumptuous Toolchains

From: Lars Ingebrigtsen <[email-masked]>
Date: Wed, 07 Jul 2021 22:55:08 +0200

Lars Ingebrigtsen <[email-masked]> writes:

> Still investigating...  perhaps I got the lifecycle of a variable wrong
> or something?

It only happens with an -O2 build -- an -O0 build works fine.  Here's
what gdb says:

#0  0x00005555557103a7 in AREF (idx=23456123314108, array=0x7ffff1a398cd)
    at lisp.h:731
#1  HASH_KEY (idx=11728061657054, h=0x7ffff1a39848) at lisp.h:2374
#2  hash_lookup (h=0x7ffff1a39848, key=0x555555cae444, hash=hash@entry=0x0)
    at fns.c:4479
#3  0x000055555573f9f2 in exec_byte_code
    (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>)
    at bytecode.c:1415
#4  0x0000555555701d07 in Ffuncall (nargs=2, args=args@entry=0x7fffffffcec8)
    at eval.c:3055
#5  0x000055555573d1c8 in exec_byte_code
    (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>)
    at bytecode.c:632
#6  0x0000555555701d07 in Ffuncall (nargs=1, args=args@entry=0x7fffffffd790)
    at eval.c:3055
#7  0x000055555573d1c8 in exec_byte_code
    (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, args_template=<optimized out>, nargs=<optimized out>, args=<optimized out>)
    at bytecode.c:632
#8  0x000055555570502f in apply_lambda
    (fun=0x7ffff1a23485, args=<optimized out>, count=4) at eval.c:3188
#9  0x00005555557040b3 in eval_sub (form=<optimized out>) at eval.c:2591
#10 0x0000555555705cd9 in Feval (form=0x7ffff1fc6b23, lexical=<optimized out>)
    at eval.c:2343
#11 0x0000555555700da7 in internal_condition_case
    (bfun=bfun@entry=0x5555556872a0 <top_level_2>, handlers=handlers@entry=0x90, hfun=hfun@entry=0x55555568ccf0 <cmd_error>) at eval.c:1478
#12 0x0000555555687f26 in top_level_1 (ignore=ignore@entry=0x0)
    at keyboard.c:1111
#13 0x00005555557032a3 in internal_catch
    (tag=tag@entry=0xe610, func=func@entry=0x555555687f00 <top_level_1>, arg=arg@entry=0x0) at eval.c:1198
#14 0x0000555555687228 in command_loop () at lisp.h:1002
#15 0x000055555568c906 in recursive_edit_1 () at keyboard.c:720
#16 0x000055555568cc32 in Frecursive_edit () at keyboard.c:789
#17 0x00005555555a286f in main (argc=13, argv=<optimized out>) at emacs.c:2308

Which isn't very useful.

(gdb) xbacktrace 
"command-line-1" (0xffffcee0)
"command-line" (0xffffd7a8)
"normal-top-level" (0xffffdc70)

And this is with all the new file locking stuff disabled.  Very odd.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no