Subject: Re: bug#24368: 25.1; Assertion failure in attach_marker

From: martin rudalics <[email-masked]>
Date: Mon, 05 Sep 2016 19:34:13 +0200

> Obviously, the BUF_z vs BUF_Z_BYTE test should be done for the same
 > buffer whose character and byte positions we compare in the
 > assertions.

How?  In attach_frame, the buffer where the positions came from is not
known.  Anyway, I passed an extra boolean to attach_marker to fix that
and now I get a similar assertion violation in temp_set_point_both.
This is a can of worms :-(

(gdb) bt
#0  terminate_due_to_signal (sig=22, backtrace_limit=2147483647) at emacs.c:354
#1  0x011f1b5b in die (msg=0x1661424 "BUF_ZV (buffer) != BUF_ZV_BYTE (buffer) || charpos == bytepos", file=0x1660f60 "intervals.c", line=1793) at alloc.c:7223
#2  0x012a29b2 in temp_set_point_both (buffer=0x170a978, charpos=271, bytepos=275) at intervals.c:1793
#3  0x010ba6f8 in unshow_buffer (w=0x1b60258) at window.c:2083
#4  0x010bf82e in Fset_window_buffer (window=..., buffer_or_name=..., keep_margins=...) at window.c:3373
#5  0x012209c6 in Ffuncall (nargs=3, args=0x82d1d8) at eval.c:2700
#6  0x0127d4a1 in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=0, args=0x0) at bytecode.c:880
#7  0x01221d92 in funcall_lambda (fun=..., nargs=2, arg_vector=0x82d670) at eval.c:2921
#8  0x0122122a in apply_lambda (fun=..., args=..., count=15) at eval.c:2794
#9  0x0121ece0 in eval_sub (form=...) at eval.c:2211
#10 0x012174a9 in Fprogn (body=...) at eval.c:426
#11 0x01221c94 in funcall_lambda (fun=..., nargs=0, arg_vector=0x82de40) at eval.c:2914
#12 0x01220eca in Ffuncall (nargs=1, args=0x82de38) at eval.c:2754
#13 0x01212d62 in Ffuncall_interactively (nargs=1, args=0x82de38) at callint.c:252
#14 0x012207df in Ffuncall (nargs=2, args=0x82de30) at eval.c:2673
#15 0x0121f104 in Fapply (nargs=3, args=0x82de30) at eval.c:2274
#16 0x0121353e in Fcall_interactively (function=..., record_flag=..., keys=...) at callint.c:389
#17 0x012209c6 in Ffuncall (nargs=4, args=0x82e018) at eval.c:2700
#18 0x0127d4a1 in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=2, args=0x82e608) at bytecode.c:880
#19 0x01221730 in funcall_lambda (fun=..., nargs=2, arg_vector=0x82e5f8) at eval.c:2855
#20 0x01220d3e in Ffuncall (nargs=3, args=0x82e5f0) at eval.c:2742
#21 0x0127d4a1 in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=3, args=0x82ecf8) at bytecode.c:880
#22 0x01221730 in funcall_lambda (fun=..., nargs=3, arg_vector=0x82ece0) at eval.c:2855
#23 0x01220d3e in Ffuncall (nargs=4, args=0x82ecd8) at eval.c:2742
#24 0x01212d62 in Ffuncall_interactively (nargs=4, args=0x82ecd8) at callint.c:252
#25 0x012207df in Ffuncall (nargs=5, args=0x82ecd0) at eval.c:2673
#26 0x0121f7c5 in Fapply (nargs=3, args=0x82efe0) at eval.c:2321
#27 0x0121353e in Fcall_interactively (function=..., record_flag=..., keys=...) at callint.c:389
#28 0x012209c6 in Ffuncall (nargs=4, args=0x82f1c8) at eval.c:2700
#29 0x0127d4a1 in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=1, args=0x82f780) at bytecode.c:880
#30 0x01221730 in funcall_lambda (fun=..., nargs=1, arg_vector=0x82f778) at eval.c:2855
#31 0x01220d3e in Ffuncall (nargs=2, args=0x82f770) at eval.c:2742
#32 0x0122008f in call1 (fn=..., arg1=...) at eval.c:2552
#33 0x011515c3 in command_loop_1 () at keyboard.c:1479
#34 0x0121b602 in internal_condition_case (bfun=0x1150af7 <command_loop_1>, handlers=..., hfun=0x114fd8f <cmd_error>) at eval.c:1309
#35 0x01150591 in command_loop_2 (ignore=...) at keyboard.c:1107
#36 0x0121a7a6 in internal_catch (tag=..., func=0x1150555 <command_loop_2>, arg=...) at eval.c:1074
#37 0x01150517 in command_loop () at keyboard.c:1086
#38 0x0114f7a7 in recursive_edit_1 () at keyboard.c:692
#39 0x0114fa68 in Frecursive_edit () at keyboard.c:763
#40 0x0114d17e in main (argc=2, argv=0xa32658) at emacs.c:1626

Lisp Backtrace:
"set-window-buffer" (0x82d1e0)
"window-state-put" (0x82d670)
"new" (0x82de40)
"funcall-interactively" (0x82de38)
"call-interactively" (0x82e020)
"command-execute" (0x82e5f8)
"execute-extended-command" (0x82ece0)
"funcall-interactively" (0x82ecd8)
"call-interactively" (0x82f1d0)
"command-execute" (0x82f778)
(gdb)

martin