Subject: bug#35273: "Marker does not point anywhere" when reading next article

From: Leah Neukirchen <[email-masked]>
Date: Tue, 16 Apr 2019 14:50:47 +0200

Noam Postavsky <[email-masked]> writes:

> Leah Neukirchen <[email-masked]> writes:
>
>> If you have other ideas how I can debug it myself, please tell me.
>
> If you can reproduce it reliably, setting (setq debug-on-signal t) just
> before might help get a backtrace.
>
> If that also doesn't work you could record the backtrace from a
> signal-hook-function:
>
>     (defvar bug-35273-last-backtrace nil)
>     (defun bug-35273-record-backtrace (err data)
>       (when (and (eq err 'error)
>                  (equal data '("Marker does not point anywhere")))
>         (setq bug-35273-last-backtrace
>               (backtrace-frames 'signal)))
>       (let ((signal-hook-function nil))
>         (signal err data)))
>     (setq signal-hook-function #'bug-35273-record-backtrace)

These do not work for some reason...

> Or if you can run under gdb, just set a breakpoint in the C code where
> that error is raised.

On 27.0.50 (05d53d888):

Breakpoint 1, marker_position (marker=0x555557d6feb5) at marker.c:680
680	    error ("Marker does not point anywhere");
(gdb) bt
#0  marker_position (marker=0x555557d6feb5) at marker.c:680
#1  0x000055555567935e in mouse_face_overlay_overlaps (overlay=0x555557d6ff15)
    at lisp.h:2624
#2  0x00005555555d395f in note_mouse_highlight (f=f@entry=0x555556001d70, 
    x=<optimized out>, y=<optimized out>) at xdisp.c:31836
#3  0x0000555555633ee8 in XTframe_up_to_date (f=0x555556001d70) at xterm.c:1280
#4  0x00005555555c67de in redisplay_internal () at xdisp.c:14523
#5  0x00005555555c7dd5 in redisplay_preserve_echo_area (
    from_where=from_where@entry=5) at xdisp.c:14759
#6  0x0000555555661902 in read_char (commandflag=commandflag@entry=1, 
    map=map@entry=0x555557807873, prev_event=0x0, 
    used_mouse_menu=used_mouse_menu@entry=0x7fffffffe05b, 
    end_time=end_time@entry=0x0) at keyboard.c:2474
#7  0x00005555556642a1 in read_key_sequence (
    keybuf=keybuf@entry=0x7fffffffe170, prompt=prompt@entry=0x0, 
    dont_downcase_last=dont_downcase_last@entry=false, 
    can_return_switch_frame=can_return_switch_frame@entry=true, 
    fix_current_buffer=fix_current_buffer@entry=true, 
    prevent_redisplay=prevent_redisplay@entry=false) at keyboard.c:9111
#8  0x0000555555665abc in command_loop_1 () at lisp.h:1064
#9  0x00005555556d4b6e in internal_condition_case (
    bfun=bfun@entry=0x5555556658d0 <command_loop_1>, 
    handlers=handlers@entry=0x5010, hfun=hfun@entry=0x55555565ce40 <cmd_error>)
   at eval.c:1352
#10 0x0000555555657b14 in command_loop_2 (ignore=ignore@entry=0x0)
    at lisp.h:1064
#11 0x00005555556d4add in internal_catch (tag=tag@entry=0xc5d0, 
    func=func@entry=0x555555657af0 <command_loop_2>, arg=arg@entry=0x0)
    at eval.c:1115
#12 0x0000555555657aab in command_loop () at lisp.h:1064
#13 0x000055555565ca36 in recursive_edit_1 () at keyboard.c:714
#14 0x000055555565cd69 in Frecursive_edit () at keyboard.c:786
#15 0x000055555558890e in main (argc=1, argv=0x7fffffffe538) at emacs.c:1963
(gdb) xbacktrace
"redisplay_internal (C function)" (0x0)
(gdb) p buf
$2 = (struct buffer *) 0x0
(gdb) p *m
$4 = {
  header = {
    size = 4611686018477740032
  }, 
  buffer = 0x0, 
  need_adjustment = false, 
  insertion_type = true, 
  next = 0x555557d6fe80, 
  charpos = 1, 
  bytepos = 1
}

hth,
-- 
Leah Neukirchen  <[email-masked]>  http://leah.zone