Subject: bug#47067: 28.0.50; [feature/native-comp] Crash while scrolling through dispnew.c

From: Andrea Corallo <[email-masked]>
Date: Sun, 14 Mar 2021 07:19:17 +0000

Andrea Corallo via "Bug reports for GNU Emacs, the Swiss army knife of
text editors" <[email-masked]> writes:

> Eli Zaretskii <[email-masked]> writes:
>
>>> From: Andrea Corallo <[email-masked]>
>>> Cc: [email-masked]
>>> Date: Sat, 13 Mar 2021 19:51:59 +0000
>>>
>>> I've done nothing special, I've just a regular wide-int 32bit build on
>>> the virtual machine I've prepared, running interactivelly Emacs underg
>>> gdb is unusable for the reason I've described (outside gdb it works
>>> perfectly).  I think it has nothing to do with native compilation.
>>
>> Maybe your GDB has problems with debugging 32-bit executables?
>
> Everything is possible... BTW this is gdb (Debian 8.2.1-2+b3) 8.2.1.
>
> Tomorrow I'll try with a recent gdb from trunk to see if it's better.

Okay with a trunk gdb I'm able to debug...

Here is my backtrace for the suggested reproducer on my Emacs configured
with --with-wide-int --enable-checking=yes,glyphs and compiled with the
default `comp-debug' 0.

=============
#0  Fskip_chars_backward (string=-9223372036710370816, lim=0) at syntax.c:1610
#1  0xb3f3224b in F632d6261636b776172642d737773_c_backward_sws_0 () from /home/andcor03/.emacs.d/eln-cache/28.0.50-d8064d9c/cc-engine-ccfcb170-1b345b21.eln
#2  0x081c68fa in Ffuncall (nargs=1, args=0xbfff9c78) at eval.c:3009
#3  0xb3dfc844 in F632d666f6e742d6c6f636b2d636f6d706c65782d6465636c2d70726570617265_c_font_lock_complex_decl_prepare_0 ()
   from /home/andcor03/.emacs.d/eln-cache/28.0.50-d8064d9c/cc-fonts-d7d8a7f5-b7c359cd.eln
#4  0x081c9f7a in funcall_lambda (fun=<optimized out>, nargs=1, arg_vector=0xbfff9f50) at eval.c:3292
#5  0x081c6824 in Ffuncall (nargs=2, args=0xbfff9f48) at eval.c:3025
#6  0xb4a4d023 in F666f6e742d6c6f636b2d666f6e746966792d6b6579776f7264732d726567696f6e_font_lock_fontify_keywords_region_0 ()
   from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/font-lock-895216f6-4cc69ac6.eln
#7  0x081c8c4f in funcall_subr (subr=<optimized out>, numargs=<optimized out>, args=<optimized out>) at eval.c:3092
#8  0x081c68fa in Ffuncall (nargs=4, args=0xbfffa1e0) at eval.c:3009
#9  0xb4a49542 in F666f6e742d6c6f636b2d64656661756c742d666f6e746966792d726567696f6e_font_lock_default_fontify_region_0 ()
   from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/font-lock-895216f6-4cc69ac6.eln
#10 0x081c8c4f in funcall_subr (subr=<optimized out>, numargs=<optimized out>, args=<optimized out>) at eval.c:3092
#11 0x081c68fa in Ffuncall (nargs=4, args=0xbfffa430) at eval.c:3009 */
#12 0xb40f1b8c in F632d666f6e742d6c6f636b2d666f6e746966792d726567696f6e_c_font_lock_fontify_region_0 ()
   from /home/andcor03/.emacs.d/eln-cache/28.0.50-d8064d9c/cc-mode-515a98a5-c7761ade.eln
#13 0x081c9f7a in funcall_lambda (fun=<optimized out>, nargs=3, arg_vector=0xbfffa558) at eval.c:3292
#14 0x081c6824 in Ffuncall (nargs=4, args=0xbfffa550) at eval.c:3025
#15 0xb4a4807a in F666f6e742d6c6f636b2d666f6e746966792d726567696f6e_font_lock_fontify_region_0 ()
   from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/font-lock-895216f6-4cc69ac6.eln
#16 0x081c8c4f in funcall_subr (subr=<optimized out>, numargs=<optimized out>, args=<optimized out>) at eval.c:3092
#17 0x081c68fa in Ffuncall (nargs=3, args=0xbfffa690) at eval.c:3009
#18 0x08212ffd 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:632dows.  */
#19 0x081c8323 in fetch_and_exec_byte_code (fun=<optimized out>, syms_left=4611686018427388161, nargs=1, args=0xbfffaae0) at eval.c:3133
#20 0x081c9f30 in funcall_lambda (fun=<optimized out>, nargs=1, arg_vector=0xbfffaae0) at eval.c:3214
#21 0x081c6824 in Ffuncall (nargs=2, args=0xbfffaad8) at eval.c:3025
#22 0x081c699a in run_hook_wrapped_funcall (nargs=2, args=0xbfffaad8) at eval.c:2746
#23 0x081c5c8c in run_hook_with_args (nargs=2, args=0xbfffaad8, funcall=0x81c6970 <run_hook_wrapped_funcall>) at eval.c:2827
#24 0x081c5fa5 in Frun_hook_wrapped (nargs=2, args=0xbfffaad8) at eval.c:2761
#25 0xb4e83640 in F6a69742d6c6f636b2d2d72756e2d66756e6374696f6e73_jit_lock__run_functions_0 ()
   from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/jit-lock-8a988e43-ae750d1b.eln
#26 0x081c8c2e in funcall_subr (subr=0xb54731e8, numargs=2, args=0xbfffacb0) at eval.c:3086
#27 0x081c68fa in Ffuncall (nargs=3, args=0xbfffaca8) at eval.c:3009
#28 0xb4e8440b in F6a69742d6c6f636b2d666f6e746966792d6e6f77_jit_lock_fontify_now_0 ()
   from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/jit-lock-8a988e43-ae750d1b.eln
#29 0x081c8c2e in funcall_subr (subr=0xb548a2d4, numargs=2, args=0xbfffae90) at eval.c:3086----------------------------------------------------------------------------------
#30 0x081c68fa in Ffuncall (nargs=3, args=0xbfffae88) at eval.c:3009
#31 0xb4e83082 in F6a69742d6c6f636b2d66756e6374696f6e_jit_lock_function_0 () from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/jit-lock-8a988e43-ae750d1b.eln
#32 0x081c68fa in Ffuncall (nargs=2, args=0xbfffaf60) at eval.c:3009
#33 0x081c55c7 in internal_condition_case_n (bfun=0x81c6610 <Ffuncall>, nargs=2, args=0xbfffaf60, handlers=40, hfun=0x8093ec0 <safe_eval_handler>) at eval.c:1612
#34 0x080847f0 in safe__call (inhibit_quit=inhibit_quit@entry=false, nargs=nargs@entry=2, func=<optimized out>, ap=<optimized out>) at xdisp.c:2981
#35 0x08092abe in safe_call (nargs=2, func=2902088064) at xdisp.c:2996
#36 0x08092c9b in safe_call1 (arg=4611686018427572803, fn=2902088064) at xdisp.c:3007
#37 handle_fontified_prop (it=<optimized out>) at xdisp.c:4313
#38 0x08096e6e in handle_stop (it=0xbfffb178) at xdisp.c:3841
#39 0x080b4700 in redisplay_window (window=<optimized out>, just_this_one_p=<optimized out>) at xdisp.c:18960
#40 0x080b8723 in redisplay_window_0 (window=-6917529027498444184) at xdisp.c:16581
#41 0x081c544f in internal_condition_case_1 (bfun=0x80b86e0 <redisplay_window_0>, arg=-6917529027498444184, handlers=-4611686015382928776,
    hfun=0x8081820 <redisplay_window_error>) at eval.c:1472
#42 0x08082086 in redisplay_windows (window=<optimized out>) at xdisp.c:16561
#43 0x080addfe in redisplay_internal () at xdisp.c:16029
#44 0x080b054e in redisplay_preserve_echo_area (from_where=2) at xdisp.c:16378
#45 0x08070366 in Fredisplay (force=0) at dispnew.c:6157
#46 0xb50fcd59 in F7369742d666f72_sit_for_0 () from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/subr-13adf6a6-656b9117.eln
#47 0x081c8c4f in funcall_subr (subr=<optimized out>, numargs=<optimized out>, args=<optimized out>) at eval.c:3092
#48 0x081c68fa in Ffuncall (nargs=2, args=0xbfffe5a8) at eval.c:3009
#49 0xb4be1cab in F697365617263682d6c617a792d686967686c696768742d6e65772d6c6f6f70_isearch_lazy_highlight_new_loop_0 ()
   from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/isearch-693bdd75-2b63c98a.eln
#50 0x081c8c2e in funcall_subr (subr=0xb564b4fc, numargs=0, args=0xbfffe7c0) at eval.c:3086
#51 0x081c68fa in Ffuncall (nargs=1, args=0xbfffe7b8) at eval.c:3009
#52 0xb4bcad02 in F697365617263682d757064617465_isearch_update_0 () from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/isearch-693bdd75-2b63c98a.eln
#53 0x081c68fa in Ffuncall (nargs=1, args=0xbfffe978) at eval.c:3009
#54 0xb4bd943e in F697365617263682d7365617263682d616e642d757064617465_isearch_search_and_update_0 ()
   from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/isearch-693bdd75-2b63c98a.eln
#55 0x081c68fa in Ffuncall (nargs=1, args=0xbfffea38) at eval.c:3009
#56 0xb4bdc01c in F697365617263682d70726f636573732d7365617263682d737472696e67_isearch_process_search_string_0 ()
   from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/isearch-693bdd75-2b63c98a.eln
#57 0x081c8c2e in funcall_subr (subr=0xb55cc904, numargs=2, args=0xbfffebb8) at eval.c:3086
#58 0x081c68fa in Ffuncall (nargs=3, args=0xbfffebb0) at eval.c:3009
#59 0xb4bdbe01 in F697365617263682d70726f636573732d7365617263682d63686172_isearch_process_search_char_0 ()
   from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/isearch-693bdd75-2b63c98a.eln
#60 0x081c8c2e in funcall_subr (subr=0xb55db120, numargs=2, args=0xbfffed30) at eval.c:3086
#61 0x081c68fa in Ffuncall (nargs=3, args=0xbfffed28) at eval.c:3009
#62 0xb4bdbb93 in F697365617263682d7072696e74696e672d63686172_isearch_printing_char_0 ()
   from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/isearch-693bdd75-2b63c98a.eln
#63 0x081c8c2e in funcall_subr (subr=0xb5525e5c, numargs=2, args=0xbfffeec0) at eval.c:3086
#64 0x081c68fa in Ffuncall (nargs=3, args=0xbfffeeb8) at eval.c:3009
#65 0x081c1e7e in Ffuncall_interactively (nargs=3, args=0xbfffeeb8) at callint.c:260
#66 0x081c68fa in Ffuncall (nargs=4, args=0xbfffeeb0) at eval.c:3009
#67 0x081c9400 in Fapply (nargs=<optimized out>, args=<optimized out>) at eval.c:2639
#68 0x081c3ae9 in Fcall_interactively (function=2900825492, record_flag=<optimized out>, keys=<optimized out>) at callint.c:353
#69 0xb4f50b3b in F636f6d6d616e642d65786563757465_command_execute_0 () from /home/andcor03/emacs2/src/../native-lisp/28.0.50-d8064d9c/simple-fab5b0cf-fa0c27ba.eln
#70 0x081c8c4f in funcall_subr (subr=<optimized out>, numargs=<optimized out>, args=<optimized out>) at eval.c:3092
#71 0x081c68fa in Ffuncall (nargs=2, args=0xbffff1d0) at eval.c:3009
#72 0x081c6a2f in call1 (fn=11520, arg1=2900825492) at eval.c:2869
#73 0x0813a4ed in command_loop_1 () at keyboard.c:1466
#74 0x081c53a4 in internal_condition_case (bfun=0x8139f70 <command_loop_1>, handlers=120, hfun=0x812e310 <cmd_error>) at eval.c:1448
#75 0x0812677b in command_loop_2 (ignore=0) at keyboard.c:1094
#76 0x081c89ae in internal_catch (tag=42000, func=0x8126760 <command_loop_2>, arg=0) at eval.c:1198
#77 0x081270ac in command_loop () at keyboard.c:1073
#78 0x0812de09 in recursive_edit_1 () at keyboard.c:720
#79 0x0812e196 in Frecursive_edit () at keyboard.c:789
#80 0x0806ceb1 in main (argc=<optimized out>, argv=<optimized out>) at emacs.c:2095
=============

Emacs does not crash if then I continue and scroll through down through
in the file.

Thanks

  Andrea