* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard @ 2023-05-20 18:52 Leonardo Hernández via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-21 0:51 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors ` (2 more replies) 0 siblings, 3 replies; 17+ messages in thread From: Leonardo Hernández via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-20 18:52 UTC (permalink / raw) To: 63614 Hello, I have been having issues with crashes running Emacs with PGTK on Wayland. To reproduce, open `emacs -Q`, then copy whatever you want with <M-w> or <C-w> and then copy another thing outside Emacs, for example, `wl-copy <<< "Copied text"`, then Emacs crashes. Backtrace: #0 0x00007f92636ac8ec in () at /usr/lib64/libc.so.6 #1 0x00007f926365d3e2 in raise () at /usr/lib64/libc.so.6 #2 0x0000563f0697d0a5 in terminate_due_to_signal (sig=11, backtrace_limit=<optimized out>) at emacs.c:464 #3 0x0000563f0697def8 in handle_fatal_signal (sig=11) at sysdep.c:1783 fatal = <optimized out> #4 deliver_thread_signal (handler=<optimized out>, sig=11) at sysdep.c:1775 fatal = <optimized out> #5 deliver_fatal_thread_signal (sig=11) at sysdep.c:1795 fatal = <optimized out> #6 handle_sigsegv (sig=11, siginfo=0x563f072243f0 <sigsegv_stack+64496>, arg=<optimized out>) at sysdep.c:1888 fatal = <optimized out> #7 0x00007f926365d490 in <signal handler called> () at /usr/lib64/libc.so.6 #8 0x0000563f06c49d89 in pgtk_handle_selection_clear (event=<optimized out>) at pgtkselect.c:742 selection = <optimized out> changed_owner_time = 0 selection_symbol = <optimized out> local_selection_data = <optimized out> local_selection_time = <optimized out> dpyinfo = 0x90c1b80 Vselection_alist = <optimized out> #9 0x0000563f06a9a5c6 in pgtk_handle_selection_event (event=0x7fff20369bc0) at pgtkselect.c:782 event = 0x563f071d44a0 <kbd_buffer+1344> copy = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0x90c1b80, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} moved_events = <optimized out> #10 process_special_events () at keyboard.c:4449 event = 0x563f071d44a0 <kbd_buffer+1344> copy = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0x90c1b80, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} moved_events = <optimized out> #11 0x0000563f06a9b7cd in swallow_events (do_display=true) at keyboard.c:4489 old_timers_run = <optimized out> #12 0x0000563f06bc2c0c in wait_reading_process_output (time_limit=<optimized out>, nsecs=<optimized out>, read_kbd=<optimized out>, do_display=<optimized out>, wait_for_cell=<optimized out>, wait_proc=<optimized out>, just_wait_proc=<optimized out>) at process.c:5781 leave = false wrapped = <optimized out> process_skipped = <optimized out> channel_start = <optimized out> child_fd = <optimized out> channel = <optimized out> nfds = <optimized out> Available = {fds_bits = {16, 0 <repeats 15 times>}} Writeok = {fds_bits = {0 <repeats 16 times>}} check_write = true check_delay = <optimized out> no_avail = false xerrno = 11 proc = <optimized out> timeout = {tv_sec = 0, tv_nsec = 0} end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>} timer_delay = {tv_sec = <optimized out>, tv_nsec = <optimized out>} got_output_end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>} wait = <optimized out> got_some_output = <optimized out> prev_wait_proc_nbytes_read = <optimized out> retry_for_async = <optimized out> count = {bytes = <optimized out>} now = {tv_sec = <optimized out>, tv_nsec = <optimized out>} last_read_channel = 17 #13 0x0000563f06997b20 in sit_for (timeout=<optimized out>, reading=<optimized out>, display_option=<optimized out>) at dispnew.c:6264 sec = 30 nsec = 0 do_display = <optimized out> curbuf_eq_winbuf = true nbytes = <optimized out> #14 0x0000563f06aa40d5 in read_char (commandflag=1, map=0x563f09b61013, prev_event=0x0, used_mouse_menu=0x7fff2036a6bb, end_time=0x0) at keyboard.c:2881 delay_level = <optimized out> buffer_size = <optimized out> c = 0x0 local_getcjmp = {{__jmpbuf = {94828702059008, -8807486309767267314, 1, 94828736677880, 0, 94828745980467, -8807486309702255602, -3006776290544272370}, __mask_was_saved = 0, __saved_mask = {__val = {94828696057600, 140266600468637, 66, 140266600466355, 94828696063071, 140266600468637, 40080, 140733733840032, 0, 0, 94828736677885, 0, 94828745829971, 0, 16, 17}}}} save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} tem = <optimized out> save = <optimized out> previous_echo_area_message = 0x0 also_record = 0x0 reread = false recorded = false polling_stopped_here = false orig_kboard = 0x563f08f43c30 #15 0x0000563f06c620d7 in read_key_sequence.constprop.0 (keybuf=<optimized out>, prevent_redisplay=false, fix_current_buffer=<optimized out>, can_return_switch_frame=<optimized out>, dont_downcase_last=<optimized out>, prompt=<optimized out>) at keyboard.c:10083 interrupted_kboard = 0x563f08f43c30 key = <optimized out> used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = <optimized out> t = 0 echo_start = 0 keys_start = 0 current_binding = 0x563f09b61013 first_unbound = 31 mock_input = 0 used_mouse_menu_history = {false <repeats 30 times>} fkey = {parent = 0x563f08e6f3d3, map = 0x563f08e6f3d3, start = 0, end = 0} keytran = {parent = 0x7f925d6191eb, map = 0x7f925d6191eb, start = 0, end = 0} indec = {parent = 0x563f08e6f4a3, map = 0x563f08e6f4a3, start = 0, end = 0} shift_translated = <optimized out> delayed_switch_frame = <optimized out> original_uppercase = <optimized out> original_uppercase_position = <optimized out> dummyflag = false fake_prefixed_keys = 0x0 first_event = 0x0 second_event = <optimized out> #16 0x0000563f06a9776a in command_loop_1 () at keyboard.c:1384 cmd = <optimized out> keybuf = {0x200001de, 0x1a, 0x7fff2036a8f0, 0x2, 0x295355bfea70, 0x7f925cf00a7d, 0x0, 0x563f06c6728d <run_hook_with_args.constprop.0+45>, 0x1, 0x1, 0x1, 0x7fff2036a950, 0x7fff2036a8c0, 0x563f0722f000 <freloc>, 0x563f06ca0314, 0x7f92636ba48c, 0x295355ba8688, 0x981baf1862a21b00, 0x9510, 0x563f06ca6dc0, 0x7fff2036a980, 0x60, 0x563f08fd28d4, 0x0, 0x563f06d19020 <main_thread.lto_priv>, 0x563f06a954a5 <top_level_2+725>, 0x563f06ca0314, 0x7f92636baf12 <malloc+434>, 0x563f06ca0314, 0x30} i = <optimized out> prev_modiff = 6 prev_buffer = 0x563f092a07f8 #17 0x0000563f06b4cc67 in internal_condition_case (bfun=0x563f06a974a0 <command_loop_1>, handlers=<optimized out>, hfun=0x563f06a94f00 <cmd_error>) at eval.c:1474 val = <optimized out> c = 0x563f08f8c370 #18 0x0000563f06a951be in command_loop_2 (handlers=handlers@entry=0x90) at keyboard.c:1133 val = <optimized out> #19 0x0000563f06b4cbbc in internal_catch (tag=<optimized out>, func=0x563f06a95190 <command_loop_2>, arg=0x90) at eval.c:1197 val = <optimized out> c = 0x563f08f8c240 #20 0x0000563f06a96f89 in command_loop () at keyboard.c:1111 #21 0x0000563f06c95c30 in recursive_edit_1.isra.0 () at keyboard.c:720 val = <optimized out> #22 0x0000563f06a9746c in Frecursive_edit () at keyboard.c:803 buffer = <optimized out> #23 0x0000563f0698b274 in main (argc=<optimized out>, argv=0x7fff2036adc8) at emacs.c:2529 stack_bottom_variable = 0x0 no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 original_pwd = 0x0 dump_mode = <optimized out> skip_args = 0 temacs = 0x0 attempt_load_pdump = <optimized out> only_version = false rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615} lc_all = <optimized out> sockfd = -1 module_assertions = <optimized out> In GNU Emacs 29.0.91 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.37, cairo version 1.17.8) of 2023-05-20 built on localhost Repository revision: f571e8f1bb678c52839180e450c2415b31a70516 Repository branch: emacs-29 System Description: Gentoo Linux Configured using: 'configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --datarootdir=/usr/share --disable-silent-rules --docdir=/usr/share/doc/emacs-29.0.9999-r1 --htmldir=/usr/share/doc/emacs-29.0.9999-r1/html --libdir=/usr/lib64 --program-suffix=-emacs-29-vcs --includedir=/usr/include/emacs-29-vcs --infodir=/usr/share/info/emacs-29-vcs --localstatedir=/var --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp --without-compress-install --without-hesiod --without-pop --with-file-notification=inotify --with-pdumper --enable-acl --with-dbus --with-modules --without-gameuser --with-libgmp --with-gpm --with-native-compilation=aot --with-json --without-kerberos --without-kerberos5 --with-lcms2 --with-xml2 --with-mailutils --without-selinux --with-sqlite3 --with-gnutls --without-libsystemd --with-threads --with-tree-sitter --without-wide-int --with-sound=alsa --with-zlib --with-pgtk --without-x --without-ns --with-toolkit-scroll-bars --without-gconf --with-gsettings --with-harfbuzz --without-libotf --without-m17n-flt --without-xwidgets --with-gif --with-jpeg --with-png --with-rsvg --with-tiff --with-webp --with-imagemagick --with-dumping=pdumper --with-cairo 'CFLAGS=-march=native -O3 -pipe -flto=auto -Werror=odr -Werror=strict-aliasing -Werror=lto-type-mismatch -g3 -ggdb3 -gdwarf-4' 'LDFLAGS=-Wl,-O1 -Wl,--as-needed -Wl,-O2'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ IMAGEMAGICK JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB Important settings: value of $LC_MONETARY: es_MX.UTF-8 value of $LC_NUMERIC: es_MX.UTF-8 value of $LC_TIME: es_MX.UTF-8 value of $LANG: en_US.utf8 locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect: tooltip-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t buffer-read-only: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra help-mode bytecomp byte-compile cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win term/common-win pgtk-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo gtk pgtk lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 77298 7908) (symbols 48 7106 0) (strings 32 19506 1667) (string-bytes 1 590407) (vectors 16 15625) (vector-slots 8 327135 8165) (floats 8 27 46) (intervals 56 405 0) (buffers 984 12)) ^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-20 18:52 bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard Leonardo Hernández via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-21 0:51 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-21 4:30 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-22 1:11 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-25 6:48 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2 siblings, 1 reply; 17+ messages in thread From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-21 0:51 UTC (permalink / raw) To: Leonardo Hernández; +Cc: 63614 Leonardo Hernández <leohdz172@proton.me> writes: > Hello, I have been having issues with crashes running Emacs with PGTK > on Wayland. > > To reproduce, open `emacs -Q`, then copy whatever you want with <M-w> or > <C-w> and then copy another thing outside Emacs, for example, `wl-copy > <<< "Copied text"`, then Emacs crashes. > > Backtrace: > #0 0x00007f92636ac8ec in () at /usr/lib64/libc.so.6 > #1 0x00007f926365d3e2 in raise () at /usr/lib64/libc.so.6 > #2 0x0000563f0697d0a5 in terminate_due_to_signal (sig=11, > backtrace_limit=<optimized out>) at emacs.c:464 > #3 0x0000563f0697def8 in handle_fatal_signal (sig=11) at sysdep.c:1783 > fatal = <optimized out> > #4 deliver_thread_signal (handler=<optimized out>, sig=11) at sysdep.c:1775 > fatal = <optimized out> > #5 deliver_fatal_thread_signal (sig=11) at sysdep.c:1795 > fatal = <optimized out> > #6 handle_sigsegv (sig=11, siginfo=0x563f072243f0 <sigsegv_stack+64496>, > arg=<optimized out>) at sysdep.c:1888 > fatal = <optimized out> > #7 0x00007f926365d490 in <signal handler called> () at /usr/lib64/libc.so.6 > #8 0x0000563f06c49d89 in pgtk_handle_selection_clear (event=<optimized > out>) at pgtkselect.c:742 > selection = <optimized out> > changed_owner_time = 0 > selection_symbol = <optimized out> > local_selection_data = <optimized out> > local_selection_time = <optimized out> > dpyinfo = 0x90c1b80 > Vselection_alist = <optimized out> Sadly, it seems that most of the relevant local variables have been optimized out. Would you please run (in this frame): (gdb) *event (gdb) p *event->selection Thanks. ^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-21 0:51 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-21 4:30 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-21 5:11 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 17+ messages in thread From: leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-21 4:30 UTC (permalink / raw) To: Po Lu; +Cc: 63614@debbugs.gnu.org [-- Attachment #1.1: Type: text/plain, Size: 879 bytes --] > Sadly, it seems that most of the relevant local variables have been > optimized out. Would you please run (in this frame): > > (gdb) *event > (gdb) p *event->selection > > > Thanks. (gdb) frame 8 #8 0x0000563f06c49d89 in pgtk_handle_selection_clear (event=<optimized out>) at pgtkselect.c:742 742 local_selection_data = LOCAL_SELECTION (selection_symbol, dpyinfo); (gdb) p *event value has been optimized out (gdb) frame 9 #9 0x0000563f06a9a5c6 in pgtk_handle_selection_event (event=0x7fff20369bc0) at pgtkselect.c:782 782 pgtk_handle_selection_clear (event); (gdb) p *event $1 = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0x90c1b80, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} (gdb) p *event->selection $2 = <incomplete type> (gdb) p *event->dpyinfo Cannot access memory at address 0x90c1b80 (gdb) quit [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 509 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-21 4:30 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-21 5:11 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-21 6:42 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 17+ messages in thread From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-21 5:11 UTC (permalink / raw) To: Leonardo Hernández Hernández; +Cc: 63614@debbugs.gnu.org Leonardo Hernández Hernández <leohdz172@proton.me> writes: >> Sadly, it seems that most of the relevant local variables have been >> optimized out. Would you please run (in this frame): >> > >> (gdb) *event >> (gdb) p *event->selection >> > >> > >> Thanks. > > (gdb) frame 8 > #8 0x0000563f06c49d89 in pgtk_handle_selection_clear (event=<optimized out>) at pgtkselect.c:742 > 742 local_selection_data = LOCAL_SELECTION (selection_symbol, dpyinfo); > (gdb) p *event > value has been optimized out > (gdb) frame 9 > #9 0x0000563f06a9a5c6 in pgtk_handle_selection_event (event=0x7fff20369bc0) at pgtkselect.c:782 > 782 pgtk_handle_selection_clear (event); > (gdb) p *event > $1 = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0x90c1b80, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} > (gdb) p *event->selection > > $2 = <incomplete type> > (gdb) p *event->dpyinfo > > Cannot access memory at address 0x90c1b80 > (gdb) quit What is: (gdb) p x_display_list ? And thanks in advance. ^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-21 5:11 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-21 6:42 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 0 replies; 17+ messages in thread From: leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-21 6:42 UTC (permalink / raw) To: Po Lu, 63614@debbugs.gnu.org [-- Attachment #1.1: Type: text/plain, Size: 2125 bytes --] > What is: > > (gdb) p x_display_list > > ? > > And thanks in advance. (gdb) p x_display_list $1 = (struct pgtk_display_info *) 0x563f090c1b80 (gdb) p *x_display_list $2 = {next = 0x0, terminal = 0x563f08fd4b08, {gdpy = 0x563f08f0c620, display = 0x563f08f0c620}, name_list_element = 0x563f08e6f3c3, reference_count = 1, x_id = 1, x_id_name = 0x563f0908b5e0 "emacs@gentoo", n_fonts = 5, smallest_char_width = 2, smallest_font_height = 15, bitmaps = 0x0, bitmaps_size = 0, bitmaps_last = 0, resx = 96, resy = 96, grabbed = 0, n_planes = 32, color_p = 1, icon_bitmap_id = -2, root_window = 42, rdb = 0x0, vertical_scroll_bar_cursor = 0x563f09044e00, horizontal_scroll_bar_cursor = 0x563f090abc90, mouse_highlight = {mouse_face_beg_row = -1, mouse_face_beg_col = -1, mouse_face_beg_x = 0, mouse_face_end_row = -1, mouse_face_end_col = -1, mouse_face_end_x = 0, mouse_face_window = 0x0, mouse_face_face_id = 0, mouse_face_overlay = 0x0, mouse_face_mouse_frame = 0x0, mouse_face_mouse_x = 0, mouse_face_mouse_y = 0, mouse_face_past_end = false, mouse_face_defer = false, mouse_face_hidden = false}, highlight_frame = 0x0, x_focus_frame = 0x0, x_focus_event_frame = 0x0, last_mouse_frame = 0x0, last_mouse_motion_frame = 0x0, last_mouse_motion_x = 0, last_mouse_motion_y = 0, last_mouse_glyph = {x = 0, y = 0, width = 0, height = 0}, last_mouse_movement_time = 0, last_user_time = 50116744, last_mouse_scroll_bar = 0x0, invisible_cursor = 0x563f090b7c90, xg_cursor = 0x563f090c6ad0, devices = 0x563f090c5a10, last_mouse_glyph_frame = 0x0, last_click_event = 0x0, im = {context = 0x563f090d6e00, focused_frame = 0x0}, scroll = {acc_x = 0, acc_y = 0, x_per_char = 1, y_per_line = 1}, connection = 4} I have been testing and seems that this happens when both `-O3` and `-march=native` exist in CFLAGS, if I turn `-O3` into `-O2` or remove `-march=native` then it does not crashes. This is most likely a bug in gcc rather than emacs, right?, in case you required it, my gcc version is: gcc (Gentoo Hardened 13.1.1_p20230513 p2) 13.1.1 20230513 [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 509 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-20 18:52 bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard Leonardo Hernández via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-21 0:51 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-22 1:11 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-24 6:37 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-25 6:48 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2 siblings, 1 reply; 17+ messages in thread From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-22 1:11 UTC (permalink / raw) To: Leonardo Hernández; +Cc: 63614 Leonardo Hernández <leohdz172@proton.me> writes: > (event=0x7fff20369bc0) at pgtkselect.c:782 > event = 0x563f071d44a0 <kbd_buffer+1344> > copy = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0x90c1b80, requestor = > 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} > moved_events = <optimized out> > #10 process_special_events () at keyboard.c:4449 > event = 0x563f071d44a0 <kbd_buffer+1344> > copy = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0x90c1b80, requestor = > 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} > moved_events = <optimized out> > #11 0x0000563f06a9b7cd in swallow_events (do_display=true) at > keyboard.c:4489 > old_timers_run = <optimized out> If I'm not mistaken, what seems to be shown is that an invalid selection event somehow ended up in the keyboard buffer, to be processed by process_special_events. Possibly, one such event was processed earlier, but not correctly removed from the keyboard buffer. What is: (gdb) p kbd_buffer[1344].sie ? ^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-22 1:11 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-24 6:37 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-24 6:50 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 17+ messages in thread From: leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-24 6:37 UTC (permalink / raw) To: Po Lu; +Cc: 63614@debbugs.gnu.org [-- Attachment #1.1: Type: text/plain, Size: 204 bytes --] > What is: > > (gdb) p kbd_buffer[1344].sie > > ? (gdb) p kbd_buffer[1344].sie $1 = {kind = NO_EVENT, dpyinfo = 0x0, requestor = 0x0, selection = 0x0, target = 0x0, property = 0x0, time = 0} [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 509 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-24 6:37 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-24 6:50 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-25 5:34 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 17+ messages in thread From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-24 6:50 UTC (permalink / raw) To: Leonardo Hernández Hernández; +Cc: 63614@debbugs.gnu.org Leonardo Hernández Hernández <leohdz172@proton.me> writes: >> What is: >> > >> (gdb) p kbd_buffer[1344].sie >> > >> ? > > (gdb) p kbd_buffer[1344].sie > $1 = {kind = NO_EVENT, dpyinfo = 0x0, requestor = 0x0, selection = 0x0, target = 0x0, property = 0x0, time = 0} It's been three days, and I doubt this is from the same GDB session that produced the backtrace I replied to. Would you please show a new: (gdb) bt full again? ^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-24 6:50 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-25 5:34 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-25 6:13 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 17+ messages in thread From: leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-25 5:34 UTC (permalink / raw) To: Po Lu; +Cc: 63614 > It's been three days, and I doubt this is from the same GDB session > that produced the backtrace I replied to. > Indeed, I'm sorry. > Would you please show a > new: > > (gdb) bt full > > again? (gdb) bt full #0 0x00007fdbd562a8ec in () at /usr/lib64/libc.so.6 #1 0x00007fdbd55db3e2 in raise () at /usr/lib64/libc.so.6 #2 0x000055d8da403c6a in terminate_due_to_signal (sig=11, backtrace_limit=<optimized out>) at emacs.c:464 #3 0x000055d8da404abd in handle_fatal_signal (sig=11) at sysdep.c:1783 fatal = <optimized out> #4 deliver_thread_signal (handler=<optimized out>, sig=11) at sysdep.c:1775 fatal = <optimized out> #5 deliver_fatal_thread_signal (sig=11) at sysdep.c:1795 fatal = <optimized out> #6 handle_sigsegv (sig=11, siginfo=0x55d8dac8bcb0 <sigsegv_stack+64528>, arg=<optimized out>) at sysdep.c:1888 fatal = <optimized out> #7 0x00007fdbd55db490 in <signal handler called> () at /usr/lib64/libc.so.6 #8 0x000055d8da6bd059 in pgtk_handle_selection_clear (event=<optimized out>) at pgtkselect.c:742 selection = <optimized out> changed_owner_time = 0 selection_symbol = <optimized out> local_selection_data = <optimized out> local_selection_time = <optimized out> dpyinfo = 0xdb87f650 Vselection_alist = <optimized out> #9 0x000055d8da520ab6 in pgtk_handle_selection_event (event=0x7ffffcfeea00) at pgtkselect.c:782 event = 0x55d8dac3bc20 <kbd_buffer+1088> copy = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0xdb87f650, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} moved_events = <optimized out> #10 process_special_events () at keyboard.c:4449 event = 0x55d8dac3bc20 <kbd_buffer+1088> copy = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0xdb87f650, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} moved_events = <optimized out> #11 0x000055d8da521cbd in swallow_events (do_display=true) at keyboard.c:4489 old_timers_run = <optimized out> #12 0x000055d8da63da7c in wait_reading_process_output (time_limit=<optimized out>, nsecs=<optimized out>, read_kbd=<optimized out>, do_display=<optimized out>, wait_for_cell=<optimized out>, wait_proc=<optimized out>, just_wait_proc=<optimized out>) at process.c:5781 leave = false wrapped = <optimized out> process_skipped = <optimized out> channel_start = <optimized out> child_fd = <optimized out> channel = <optimized out> nfds = <optimized out> Available = {fds_bits = {16, 0 <repeats 15 times>}} Writeok = {fds_bits = {0 <repeats 16 times>}} check_write = true check_delay = <optimized out> no_avail = false xerrno = 11 proc = <optimized out> timeout = {tv_sec = 0, tv_nsec = 0} end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>} timer_delay = {tv_sec = <optimized out>, tv_nsec = <optimized out>} got_output_end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>} wait = <optimized out> got_some_output = <optimized out> prev_wait_proc_nbytes_read = <optimized out> retry_for_async = <optimized out> count = {bytes = <optimized out>} now = {tv_sec = <optimized out>, tv_nsec = <optimized out>} last_read_channel = -1 #13 0x000055d8da41e3a0 in sit_for (timeout=<optimized out>, reading=<optimized out>, display_option=<optimized out>) at dispnew.c:6264 sec = 30 nsec = 0 do_display = <optimized out> curbuf_eq_winbuf = true nbytes = <optimized out> #14 0x000055d8da52a5c5 in read_char (commandflag=1, map=0x55d8dbdab6d3, prev_event=0x0, used_mouse_menu=0x7ffffcfef4fb, end_time=0x0) at keyboard.c:2881 delay_level = <optimized out> buffer_size = <optimized out> c = 0x0 local_getcjmp = {{__jmpbuf = {94389871329920, -4940312681896898891, 1, 140582085818120, 0, 94389890508307, -4940312682234540363, -1207467647118897483}, __mask_was_saved = 0, __saved_mask = {__val = {94389865389056, 94389889840131, 586, 2, 94389865403823, 140737437954896, 40080, 140737437954784, 0, 0, 140582085818125, 0, 94389889840131, 0, 146, 147}}}} save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} tem = <optimized out> save = <optimized out> previous_echo_area_message = 0x0 also_record = 0x0 reread = false recorded = false polling_stopped_here = false orig_kboard = 0x55d8db7facb0 #15 0x000055d8da6d84b7 in read_key_sequence.constprop.0 (keybuf=<optimized out>, prevent_redisplay=false, fix_current_buffer=<optimized out>, can_return_switch_frame=<optimized out>, dont_downcase_last=<optimized out>, prompt=<optimized out>) at keyboard.c:10083 interrupted_kboard = 0x55d8db7facb0 key = <optimized out> used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = <optimized out> t = 0 echo_start = 0 keys_start = 0 current_binding = 0x55d8dbdab6d3 first_unbound = 31 mock_input = 0 used_mouse_menu_history = {false <repeats 30 times>} fkey = {parent = 0x55d8db691393, map = 0x55d8db691393, start = 0, end = 0} keytran = {parent = 0x7fdbd1c0897b, map = 0x7fdbd1c0897b, start = 0, end = 0} indec = {parent = 0x55d8db6913a3, map = 0x55d8db6913a3, start = 0, end = 0} shift_translated = <optimized out> delayed_switch_frame = <optimized out> original_uppercase = <optimized out> original_uppercase_position = <optimized out> dummyflag = false fake_prefixed_keys = 0x0 first_event = 0x0 second_event = <optimized out> #16 0x000055d8da51dc5a in command_loop_1 () at keyboard.c:1384 cmd = <optimized out> keybuf = {0x5e, 0x55d8da5dc786 <eval_sub+1142>, 0x55d8db63e510, 0x55d8da63530c <exec_byte_code+508>, 0x0, 0x80, 0x0, 0x7fdbd190e738, 0x55d8da78c020 <main_thread.lto_priv>, 0x7fdbd1ce62b5, 0x55d8db6843c4, 0x0, 0x55d8da716314, 0x7fdbd6f01705, 0x53474e, 0x7fdbd5638400, 0x7ffffcfefaf0, 0xe90a45cb1b95ae00, 0x9510, 0x55d8da71cd60, 0x7ffffcfef7c0, 0x60, 0x55d8db6843c4, 0x0, 0x55d8da78c020 <main_thread.lto_priv>, 0x55d8da51b995 <top_level_2+725>, 0x55d8da716314, 0x7fdbd5638f12 <malloc+434>, 0x15, 0x30} i = <optimized out> prev_modiff = 31 prev_buffer = 0x7fdbd1497708 #17 0x000055d8da5d6b67 in internal_condition_case (bfun=0x55d8da51d990 <command_loop_1>, handlers=<optimized out>, hfun=0x55d8da51b3f0 <cmd_error>) at eval.c:1474 val = <optimized out> c = 0x55d8db688350 #18 0x000055d8da51b6ae in command_loop_2 (handlers=handlers@entry=0x90) at keyboard.c:1133 val = <optimized out> #19 0x000055d8da5d6abc in internal_catch (tag=<optimized out>, func=0x55d8da51b680 <command_loop_2>, arg=0x90) at eval.c:1197 val = <optimized out> c = 0x55d8db687de0 #20 0x000055d8da51d479 in command_loop () at keyboard.c:1111 #21 0x000055d8da70b9b0 in recursive_edit_1.isra.0 () at keyboard.c:720 val = <optimized out> #22 0x000055d8da51d95c in Frecursive_edit () at keyboard.c:803 buffer = <optimized out> #23 0x000055d8da411b9d in main (argc=<optimized out>, argv=0x7ffffcfefc08) at emacs.c:2529 stack_bottom_variable = 0x0 no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 original_pwd = 0x0 dump_mode = <optimized out> skip_args = 0 temacs = 0x0 attempt_load_pdump = <optimized out> only_version = false rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615} lc_all = <optimized out> sockfd = -1 module_assertions = <optimized out> (gdb) frame 8 #8 0x000055d8da6bd059 in pgtk_handle_selection_clear (event=<optimized out>) at pgtkselect.c:742 742 local_selection_data = LOCAL_SELECTION (selection_symbol, dpyinfo); (gdb) p *event value has been optimized out (gdb) frame 9 #9 0x000055d8da520ab6 in pgtk_handle_selection_event (event=0x7ffffcfeea00) at pgtkselect.c:782 782 pgtk_handle_selection_clear (event); (gdb) p *event $1 = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0xdb87f650, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} (gdb) p *event->selection $2 = <incomplete type> (gdb) p *event->dpyinfo Cannot access memory at address 0xdb87f650 (gdb) p *x_display_list $3 = {next = 0x0, terminal = 0x55d8db7627f0, {gdpy = 0x55d8db798b10, display = 0x55d8db798b10}, name_list_element = 0x55d8db691383, reference_count = 1, x_id = 1, x_id_name = 0x55d8db85dad0 "emacs@gentoo", n_fonts = 5, smallest_char_width = 2, smallest_font_height = 15, bitmaps = 0x0, bitmaps_size = 0, bitmaps_last = 0, resx = 96, resy = 96, grabbed = 0, n_planes = 32, color_p = 1, icon_bitmap_id = -2, root_window = 42, rdb = 0x0, vertical_scroll_bar_cursor = 0x55d8db81adc0, horizontal_scroll_bar_cursor = 0x55d8db863eb0, mouse_highlight = {mouse_face_beg_row = -1, mouse_face_beg_col = -1, mouse_face_beg_x = 0, mouse_face_end_row = -1, mouse_face_end_col = -1, mouse_face_end_x = 0, mouse_face_window = 0x0, mouse_face_face_id = 0, mouse_face_overlay = 0x0, mouse_face_mouse_frame = 0x0, mouse_face_mouse_x = 0, mouse_face_mouse_y = 0, mouse_face_past_end = false, mouse_face_defer = false, mouse_face_hidden = false}, highlight_frame = 0x0, x_focus_frame = 0x0, x_focus_event_frame = 0x0, last_mouse_frame = 0x0, last_mouse_motion_frame = 0x0, last_mouse_motion_x = 0, last_mouse_motion_y = 0, last_mouse_glyph = {x = 0, y = 0, width = 0, height = 0}, last_mouse_movement_time = 0, last_user_time = 43447740, last_mouse_scroll_bar = 0x0, invisible_cursor = 0x55d8db883f40, xg_cursor = 0x55d8db884c40, devices = 0x55d8db88f310, last_mouse_glyph_frame = 0x0, last_click_event = 0x0, im = {context = 0x55d8db8674c0, focused_frame = 0x0}, scroll = {acc_x = 0, acc_y = 0, x_per_char = 1, y_per_line = 1}, connection = 4} (gdb) p kbd_buffer[1088].sie $4 = {kind = NO_EVENT, dpyinfo = 0x0, requestor = 0x0, selection = 0x0, target = 0x0, property = 0x0, time = 0} (gdb) quit ^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-25 5:34 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-25 6:13 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 0 replies; 17+ messages in thread From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-25 6:13 UTC (permalink / raw) To: Leonardo Hernández Hernández; +Cc: 63614 Leonardo Hernández Hernández <leohdz172@proton.me> writes: > event = 0x55d8dac3bc20 <kbd_buffer+1088> > copy = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0xdb87f650, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} > moved_events = <optimized out> > #10 process_special_events () at keyboard.c:4449 > event = 0x55d8dac3bc20 <kbd_buffer+1088> > copy = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0xdb87f650, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} > moved_events = <optimized out> > #11 0x000055d8da521cbd in swallow_events (do_display=true) at keyboard.c:4489 > old_timers_run = <optimized out> > #12 0x000055d8da63da7c in wait_reading_process_output > (time_limit=<optimized out>, nsecs=<optimized out>, read_kbd=<optimized out>, do_display=<optimized out>, wait_for_cell=<optimized out>, wait_proc=<optimized out>, just_wait_proc=<optimized out>) at process.c:5781 > leave = false > wrapped = <optimized out> > process_skipped = <optimized out> > channel_start = <optimized out> > child_fd = <optimized out> > channel = <optimized out> > nfds = <optimized out> > Available = {fds_bits = {16, 0 <repeats 15 times>}} > Writeok = {fds_bits = {0 <repeats 16 times>}} > check_write = true > check_delay = <optimized out> > no_avail = false > xerrno = 11 > proc = <optimized out> > timeout = {tv_sec = 0, tv_nsec = 0} > end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>} > timer_delay = {tv_sec = <optimized out>, tv_nsec = <optimized out>} > got_output_end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>} > wait = <optimized out> > got_some_output = <optimized out> > prev_wait_proc_nbytes_read = <optimized out> > retry_for_async = <optimized out> > count = {bytes = <optimized out>} > now = {tv_sec = <optimized out>, tv_nsec = <optimized out>} > last_read_channel = -1 > #13 0x000055d8da41e3a0 in sit_for (timeout=<optimized out>, reading=<optimized out>, display_option=<optimized out>) at dispnew.c:6264 > sec = 30 > nsec = 0 > do_display = <optimized out> > curbuf_eq_winbuf = true > nbytes = <optimized out> > #14 0x000055d8da52a5c5 in read_char (commandflag=1, map=0x55d8dbdab6d3, prev_event=0x0, used_mouse_menu=0x7ffffcfef4fb, end_time=0x0) at keyboard.c:2881 > delay_level = <optimized out> > buffer_size = <optimized out> > c = 0x0 > local_getcjmp = {{__jmpbuf = {94389871329920, -4940312681896898891, 1, 140582085818120, 0, 94389890508307, -4940312682234540363, -1207467647118897483}, __mask_was_saved = 0, __saved_mask = {__val = {94389865389056, 94389889840131, 586, 2, 94389865403823, 140737437954896, 40080, 140737437954784, 0, 0, 140582085818125, 0, 94389889840131, 0, 146, 147}}}} > save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} > tem = <optimized out> > save = <optimized out> > previous_echo_area_message = 0x0 > also_record = 0x0 > reread = false > recorded = false > polling_stopped_here = false > orig_kboard = 0x55d8db7facb0 > #15 0x000055d8da6d84b7 in read_key_sequence.constprop.0 > (keybuf=<optimized out>, prevent_redisplay=false, fix_current_buffer=<optimized out>, can_return_switch_frame=<optimized out>, dont_downcase_last=<optimized out>, prompt=<optimized out>) > at keyboard.c:10083 > interrupted_kboard = 0x55d8db7facb0 > key = <optimized out> > used_mouse_menu = false > echo_local_start = 0 > last_real_key_start = 0 > keys_local_start = 0 > new_binding = <optimized out> > t = 0 > echo_start = 0 > keys_start = 0 > current_binding = 0x55d8dbdab6d3 > first_unbound = 31 > mock_input = 0 > used_mouse_menu_history = {false <repeats 30 times>} > fkey = {parent = 0x55d8db691393, map = 0x55d8db691393, start = 0, end = 0} > keytran = {parent = 0x7fdbd1c0897b, map = 0x7fdbd1c0897b, start = 0, end = 0} > indec = {parent = 0x55d8db6913a3, map = 0x55d8db6913a3, start = 0, end = 0} > shift_translated = <optimized out> > delayed_switch_frame = <optimized out> > original_uppercase = <optimized out> > original_uppercase_position = <optimized out> > dummyflag = false > fake_prefixed_keys = 0x0 > first_event = 0x0 > second_event = <optimized out> > #16 0x000055d8da51dc5a in command_loop_1 () at keyboard.c:1384 > cmd = <optimized out> > keybuf = {0x5e, 0x55d8da5dc786 <eval_sub+1142>, 0x55d8db63e510, 0x55d8da63530c <exec_byte_code+508>, 0x0, 0x80, 0x0, 0x7fdbd190e738, 0x55d8da78c020 <main_thread.lto_priv>, 0x7fdbd1ce62b5, 0x55d8db6843c4, 0x0, 0x55d8da716314, 0x7fdbd6f01705, 0x53474e, 0x7fdbd5638400, 0x7ffffcfefaf0, 0xe90a45cb1b95ae00, 0x9510, 0x55d8da71cd60, 0x7ffffcfef7c0, 0x60, 0x55d8db6843c4, 0x0, 0x55d8da78c020 <main_thread.lto_priv>, 0x55d8da51b995 <top_level_2+725>, 0x55d8da716314, 0x7fdbd5638f12 <malloc+434>, 0x15, 0x30} > i = <optimized out> > prev_modiff = 31 > prev_buffer = 0x7fdbd1497708 > #17 0x000055d8da5d6b67 in internal_condition_case (bfun=0x55d8da51d990 <command_loop_1>, handlers=<optimized out>, hfun=0x55d8da51b3f0 <cmd_error>) at eval.c:1474 > val = <optimized out> > c = 0x55d8db688350 > #18 0x000055d8da51b6ae in command_loop_2 (handlers=handlers@entry=0x90) at keyboard.c:1133 > val = <optimized out> > #19 0x000055d8da5d6abc in internal_catch (tag=<optimized out>, func=0x55d8da51b680 <command_loop_2>, arg=0x90) at eval.c:1197 > val = <optimized out> > c = 0x55d8db687de0 > #20 0x000055d8da51d479 in command_loop () at keyboard.c:1111 > #21 0x000055d8da70b9b0 in recursive_edit_1.isra.0 () at keyboard.c:720 > val = <optimized out> > #22 0x000055d8da51d95c in Frecursive_edit () at keyboard.c:803 > buffer = <optimized out> > #23 0x000055d8da411b9d in main (argc=<optimized out>, argv=0x7ffffcfefc08) at emacs.c:2529 > stack_bottom_variable = 0x0 > no_loadup = false > junk = 0x0 > dname_arg = 0x0 > ch_to_dir = 0x0 > original_pwd = 0x0 > dump_mode = <optimized out> > skip_args = 0 > temacs = 0x0 > attempt_load_pdump = <optimized out> > only_version = false > rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615} > lc_all = <optimized out> > sockfd = -1 > module_assertions = <optimized out> > (gdb) frame 8 > #8 0x000055d8da6bd059 in pgtk_handle_selection_clear (event=<optimized out>) at pgtkselect.c:742 > 742 local_selection_data = LOCAL_SELECTION (selection_symbol, dpyinfo); > (gdb) p *event > value has been optimized out > (gdb) frame 9 > #9 0x000055d8da520ab6 in pgtk_handle_selection_event (event=0x7ffffcfeea00) at pgtkselect.c:782 > 782 pgtk_handle_selection_clear (event); > (gdb) p *event > $1 = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0xdb87f650, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} I suppose what this shows is that an invalid SELECTION_CLEAR_EVENT has somehow found its way in to the keyboard buffer. We need to narrow down the scope of the problem. If you comment out the entirety of `process_special_events', does the crash still occur? ^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-20 18:52 bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard Leonardo Hernández via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-21 0:51 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-22 1:11 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-25 6:48 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-25 10:35 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2 siblings, 1 reply; 17+ messages in thread From: leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-25 6:48 UTC (permalink / raw) To: Po Lu; +Cc: 63614 On Thu, May 25, 2023 at 12:13:38AM -0600, Po Lu wrote: > I suppose what this shows is that an invalid SELECTION_CLEAR_EVENT has > somehow found its way in to the keyboard buffer. > > We need to narrow down the scope of the problem. If you comment out the > entirety of `process_special_events', does the crash still occur? Yes, I am using this diff: diff --git a/src/keyboard.c b/src/keyboard.c index b1ccf4acde4..2c9515194f7 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -4401,6 +4401,7 @@ kbd_buffer_get_event (KBOARD **kbp, static void process_special_events (void) { + #if 0 union buffered_input_event *event; #if defined HAVE_X11 || defined HAVE_PGTK || defined HAVE_HAIKU #ifndef HAVE_HAIKU @@ -4476,6 +4477,7 @@ process_special_events (void) #endif } } + #endif } /* Process any events that are not user-visible, run timer events that and the backtrace: (gdb) bt full #0 0x00007fe5d8b238ec in () at /usr/lib64/libc.so.6 #1 0x00007fe5d8ad43e2 in raise () at /usr/lib64/libc.so.6 #2 0x0000558b3fc04c6a in terminate_due_to_signal (sig=11, backtrace_limit=<optimized out>) at emacs.c:464 #3 0x0000558b3fc05ae5 in handle_fatal_signal (sig=11) at sysdep.c:1783 fatal = <optimized out> #4 deliver_thread_signal (handler=<optimized out>, sig=11) at sysdep.c:1775 fatal = <optimized out> #5 deliver_fatal_thread_signal (sig=11) at sysdep.c:1795 fatal = <optimized out> #6 handle_sigsegv (sig=11, siginfo=0x558b4048ccb0 <sigsegv_stack+64528>, arg=<optimized out>) at sysdep.c:1888 fatal = <optimized out> #7 0x00007fe5d8ad4490 in <signal handler called> () at /usr/lib64/libc.so.6 #8 0x0000558b3fd2795f in pgtk_handle_selection_clear (event=0x7ffe61851e40) at pgtkselect.c:742 changed_owner_time = 0 local_selection_time = <optimized out> dpyinfo = 0x40da71d0 Vselection_alist = <optimized out> selection = <optimized out> selection_symbol = <optimized out> local_selection_data = <optimized out> copy = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0x40da71d0, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} event = <optimized out> obj = 0x0 str = <optimized out> #9 pgtk_handle_selection_event (event=0x7ffe61851e40) at pgtkselect.c:782 copy = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0x40da71d0, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} event = <optimized out> obj = 0x0 str = <optimized out> #10 kbd_buffer_get_event (kbp=kbp@entry=0x7ffe618520c8, used_mouse_menu=used_mouse_menu@entry=0x7ffe6185263b, end_time=end_time@entry=0x0) at keyboard.c:4071 copy = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0x40da71d0, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} event = <optimized out> obj = 0x0 str = <optimized out> #11 0x0000558b3fd29bc4 in read_event_from_main_queue (used_mouse_menu=<optimized out>, local_getcjmp=0x7ffe61852340, end_time=<optimized out>) at keyboard.c:2279 c = 0x0 save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} kb = 0x558b40d2dbd0 nextevt = <optimized out> frame = <optimized out> terminal = <optimized out> events = {0x7fe5d489770d, 0x13f000000, 0x558b41335113, 0x9c90d489770d, 0x24a, 0x558b40c05963, 0x9c90, 0x9c90, 0x4000000006000000, 0x400000003f000000, 0x0, 0x558b3fe54381 <lookup_char_property+497>, 0x9c90, 0x1618524b0, 0xffffffffffffffff, 0x93} n = 0 c = <optimized out> local_getcjmp = {{__jmpbuf = {94056566772352, -1901120014703127217, 1, 140625090017032, 0, 94056582669987, -1901120015443421873, -5658946911598406321}, __mask_was_saved = 0, __saved_mask = {__val = {94056560832960, 94056575718051, 586, 2, 94056560847727, 140730534536336, 40080, 140730534536224, 0, 0, 140625090017037, 0, 94056575718051, 0, 146, 147}}}} save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} tem = <optimized out> save = <optimized out> previous_echo_area_message = 0x0 also_record = 0x0 reread = false recorded = false polling_stopped_here = true orig_kboard = 0x558b40d2dbd0 #12 read_decoded_event_from_main_queue (used_mouse_menu=<optimized out>, prev_event=<optimized out>, local_getcjmp=<optimized out>, end_time=<optimized out>) at keyboard.c:2343 nextevt = <optimized out> frame = <optimized out> terminal = <optimized out> events = {0x7fe5d489770d, 0x13f000000, 0x558b41335113, 0x9c90d489770d, 0x24a, 0x558b40c05963, 0x9c90, 0x9c90, 0x4000000006000000, 0x400000003f000000, 0x0, 0x558b3fe54381 <lookup_char_property+497>, 0x9c90, 0x1618524b0, 0xffffffffffffffff, 0x93} n = 0 c = <optimized out> local_getcjmp = {{__jmpbuf = {94056566772352, -1901120014703127217, 1, 140625090017032, 0, 94056582669987, -1901120015443421873, -5658946911598406321}, __mask_was_saved = 0, __saved_mask = {__val = {94056560832960, 94056575718051, 586, 2, 94056560847727, 140730534536336, 40080, 140730534536224, 0, 0, 140625090017037, 0, 94056575718051, 0, 146, 147}}}} save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} tem = <optimized out> save = <optimized out> previous_echo_area_message = 0x0 also_record = 0x0 reread = false recorded = false polling_stopped_here = true orig_kboard = 0x558b40d2dbd0 #13 read_char (commandflag=1, map=0x558b40c8c593, prev_event=0x0, used_mouse_menu=0x7ffe6185263b, end_time=0x0) at keyboard.c:2973 c = <optimized out> local_getcjmp = {{__jmpbuf = {94056566772352, -1901120014703127217, 1, 140625090017032, 0, 94056582669987, -1901120015443421873, -5658946911598406321}, __mask_was_saved = 0, __saved_mask = {__val = {94056560832960, 94056575718051, 586, 2, 94056560847727, 140730534536336, 40080, 140730534536224, 0, 0, 140625090017037, 0, 94056575718051, 0, 146, 147}}}} save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} tem = <optimized out> save = <optimized out> previous_echo_area_message = 0x0 also_record = 0x0 reread = false recorded = false polling_stopped_here = true orig_kboard = 0x558b40d2dbd0 #14 0x0000558b3feda8b7 in read_key_sequence.constprop.0 (keybuf=<optimized out>, prevent_redisplay=false, fix_current_buffer=<optimized out>, can_return_switch_frame=<optimized out>, dont_downcase_last=<optimized out>, prompt=<optimized out>) at keyboard.c:10085 interrupted_kboard = 0x558b40d2dbd0 key = <optimized out> used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = <optimized out> t = 0 echo_start = 0 keys_start = 0 current_binding = 0x558b40c8c593 first_unbound = 31 mock_input = 0 used_mouse_menu_history = {false <repeats 30 times>} fkey = {parent = 0x558b40bb6393, map = 0x558b40bb6393, start = 0, end = 0} keytran = {parent = 0x7fe5d500897b, map = 0x7fe5d500897b, start = 0, end = 0} indec = {parent = 0x558b40bb63a3, map = 0x558b40bb63a3, start = 0, end = 0} shift_translated = <optimized out> delayed_switch_frame = <optimized out> original_uppercase = <optimized out> original_uppercase_position = <optimized out> dummyflag = false fake_prefixed_keys = 0x0 first_event = 0x0 second_event = <optimized out> #15 0x0000558b3fd1ebea in command_loop_1 () at keyboard.c:1384 cmd = <optimized out> keybuf = {0x5e, 0x558b3fddddd6 <eval_sub+1142>, 0x558b40b63510, 0x558b3fe368dc <exec_byte_code+508>, 0x0, 0x80, 0x0, 0x7fe5d4d0e738, 0x558b3ff8d020 <main_thread.lto_priv>, 0x7fe5d50e62b5, 0x558b40ba93c4, 0x0, 0x558b3ff17314, 0x7fe5da405705, 0x53474e, 0x7fe5d8b31400, 0x7ffe61852c30, 0xc8655754adb42900, 0x9510, 0x558b3ff1dd60, 0x7ffe61852900, 0x60, 0x558b40ba93c4, 0x0, 0x558b3ff8d020 <main_thread.lto_priv>, 0x558b3fd1c925 <top_level_2+725>, 0x558b3ff17314, 0x7fe5d8b31f12 <malloc+434>, 0x15, 0x30} i = <optimized out> prev_modiff = 37 prev_buffer = 0x7fe5d4897708 #16 0x0000558b3fdd81b7 in internal_condition_case (bfun=0x558b3fd1e920 <command_loop_1>, handlers=<optimized out>, hfun=0x558b3fd1c380 <cmd_error>) at eval.c:1474 val = <optimized out> c = 0x558b40bad350 #17 0x0000558b3fd1c63e in command_loop_2 (handlers=handlers@entry=0x90) at keyboard.c:1133 val = <optimized out> #18 0x0000558b3fdd810c in internal_catch (tag=<optimized out>, func=0x558b3fd1c610 <command_loop_2>, arg=0x90) at eval.c:1197 val = <optimized out> c = 0x558b40bacde0 #19 0x0000558b3fd1e409 in command_loop () at keyboard.c:1111 #20 0x0000558b3ff0d720 in recursive_edit_1.isra.0 () at keyboard.c:720 val = <optimized out> #21 0x0000558b3fd1e8ec in Frecursive_edit () at keyboard.c:803 buffer = <optimized out> #22 0x0000558b3fc12bad in main (argc=<optimized out>, argv=0x7ffe61852d48) at emacs.c:2529 stack_bottom_variable = 0x0 no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 original_pwd = 0x0 dump_mode = <optimized out> skip_args = 0 temacs = 0x0 attempt_load_pdump = <optimized out> only_version = false rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615} lc_all = <optimized out> sockfd = -1 module_assertions = <optimized out> (gdb) ^ permalink raw reply related [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-25 6:48 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-25 10:35 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-25 20:27 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 17+ messages in thread From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-25 10:35 UTC (permalink / raw) To: Leonardo Hernández Hernández; +Cc: 63614 OK, thanks. Does the crash still happen with this? diff --git a/src/pgtkterm.c b/src/pgtkterm.c index b8c626d81d8..bbe68f04adc 100644 --- a/src/pgtkterm.c +++ b/src/pgtkterm.c @@ -6606,8 +6606,7 @@ pgtk_selection_event (GtkWidget *widget, GdkEvent *event, if (event->type == GDK_PROPERTY_NOTIFY) pgtk_handle_property_notify (&event->property); - else if (event->type == GDK_SELECTION_CLEAR - || event->type == GDK_SELECTION_REQUEST) + else if (event->type == GDK_SELECTION_REQUEST) { f = pgtk_find_selection_owner (event->selection.window); ^ permalink raw reply related [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-25 10:35 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-25 20:27 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-26 0:33 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 17+ messages in thread From: leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-25 20:27 UTC (permalink / raw) To: Po Lu; +Cc: 63614 On Thu, May 25, 2023 at 04:35:56AM -0600, Po Lu wrote: > OK, thanks. Does the crash still happen with this? > > diff --git a/src/pgtkterm.c b/src/pgtkterm.c > index b8c626d81d8..bbe68f04adc 100644 > --- a/src/pgtkterm.c > +++ b/src/pgtkterm.c > @@ -6606,8 +6606,7 @@ pgtk_selection_event (GtkWidget *widget, GdkEvent *event, > > if (event->type == GDK_PROPERTY_NOTIFY) > pgtk_handle_property_notify (&event->property); > - else if (event->type == GDK_SELECTION_CLEAR > - || event->type == GDK_SELECTION_REQUEST) > + else if (event->type == GDK_SELECTION_REQUEST) > { > f = pgtk_find_selection_owner (event->selection.window); > The crash does not happen when copying text from outside emacs, however it crashes when pasting text killed from emacs, for example, open `emacs -Q` kill some text and try to paste that text outside emacs (just run `wl-paste`) Here the backtrace: (gdb) bt full #0 0x00007f1daf5d58ec in () at /usr/lib64/libc.so.6 #1 0x00007f1daf5863e2 in raise () at /usr/lib64/libc.so.6 #2 0x00005634e0ec7c68 in terminate_due_to_signal (sig=11, backtrace_limit=<optimized out>) at emacs.c:464 #3 0x00005634e0ec8abb in handle_fatal_signal (sig=11) at sysdep.c:1783 fatal = <optimized out> #4 deliver_thread_signal (handler=<optimized out>, sig=11) at sysdep.c:1775 fatal = <optimized out> #5 deliver_fatal_thread_signal (sig=11) at sysdep.c:1795 fatal = <optimized out> #6 handle_sigsegv (sig=11, siginfo=0x5634e174fcb0 <sigsegv_stack+64528>, arg=<optimized out>) at sysdep.c:1888 fatal = <optimized out> #7 0x00007f1daf586490 in <signal handler called> () at /usr/lib64/libc.so.6 #8 pgtk_handle_selection_request (event=0x7fffdb8c9420) at pgtkselect.c:573 local_selection_time = <optimized out> dpyinfo = 0xe35f53a0 selection = 0x45 selection_symbol = 0x150 target = <optimized out> target_symbol = 0x2a30 property = 0x5d local_selection_data = <optimized out> success = false pushed = false alias = <optimized out> tem = <optimized out> #9 0x00005634e0fe4a75 in pgtk_handle_selection_event (event=0x7fffdb8c9420) at pgtkselect.c:784 event = 0x5634e16fff20 <kbd_buffer+1856> copy = {kind = SELECTION_REQUEST_EVENT, dpyinfo = 0xe35f53a0, requestor = 0x5634e3756330, selection = 0x45, target = 0x4c, property = 0x5d, time = 0} moved_events = <optimized out> #10 process_special_events () at keyboard.c:4449 event = 0x5634e16fff20 <kbd_buffer+1856> copy = {kind = SELECTION_REQUEST_EVENT, dpyinfo = 0xe35f53a0, requestor = 0x5634e3756330, selection = 0x45, target = 0x4c, property = 0x5d, time = 0} moved_events = <optimized out> #11 0x00005634e0fe5bed in swallow_events (do_display=true) at keyboard.c:4489 old_timers_run = <optimized out> #12 0x00005634e110195c in wait_reading_process_output (time_limit=<optimized out>, nsecs=<optimized out>, read_kbd=<optimized out>, do_display=<optimized out>, wait_for_cell=<optimized out>, wait_proc=<optimized out>, just_wait_proc=<optimized out>) at process.c:5781 leave = false wrapped = <optimized out> process_skipped = <optimized out> channel_start = <optimized out> child_fd = <optimized out> channel = <optimized out> nfds = <optimized out> Available = {fds_bits = {16, 0 <repeats 15 times>}} Writeok = {fds_bits = {0 <repeats 16 times>}} check_write = true check_delay = <optimized out> no_avail = false xerrno = 11 proc = <optimized out> timeout = {tv_sec = 0, tv_nsec = 0} end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>} timer_delay = {tv_sec = <optimized out>, tv_nsec = <optimized out>} got_output_end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>} wait = <optimized out> got_some_output = <optimized out> prev_wait_proc_nbytes_read = <optimized out> retry_for_async = <optimized out> count = {bytes = <optimized out>} now = {tv_sec = <optimized out>, tv_nsec = <optimized out>} last_read_channel = -1 #13 0x00005634e0ee23a0 in sit_for (timeout=<optimized out>, reading=<optimized out>, display_option=<optimized out>) at dispnew.c:6264 sec = 30 nsec = 0 do_display = <optimized out> curbuf_eq_winbuf = true nbytes = <optimized out> #14 0x00005634e0fee4f5 in read_char (commandflag=1, map=0x5634e3b7e0e3, prev_event=0x0, used_mouse_menu=0x7fffdb8c9f1b, end_time=0x0) at keyboard.c:2881 delay_level = <optimized out> buffer_size = <optimized out> c = 0x0 local_getcjmp = {{__jmpbuf = {94785120273024, -60015580120531561, 1, 139765404497672, 0, 94785158788803, -60015580189737577, -5999710865743200873}, __mask_was_saved = 0, __saved_mask = {__val = {94785114331872, 2000000000002, 586, 500000, 94785114346639, 0, 40080, 140736876813568, 0, 0, 139765404497677, 0, 94785114190645, 0, 146, 147}}}} save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} tem = <optimized out> save = <optimized out> previous_echo_area_message = 0x0 also_record = 0x0 reread = false recorded = false polling_stopped_here = false orig_kboard = 0x5634e356ffb0 #15 0x00005634e119c3a7 in read_key_sequence.constprop.0 (keybuf=<optimized out>, prevent_redisplay=false, fix_current_buffer=<optimized out>, can_return_switch_frame=<optimized out>, dont_downcase_last=<optimized out>, prompt=<optimized out>) at keyboard.c:10083 interrupted_kboard = 0x5634e356ffb0 key = <optimized out> used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = <optimized out> t = 0 echo_start = 0 keys_start = 0 current_binding = 0x5634e3b7e0e3 first_unbound = 31 mock_input = 0 used_mouse_menu_history = {false <repeats 30 times>} fkey = {parent = 0x5634e3406393, map = 0x5634e3406393, start = 0, end = 0} keytran = {parent = 0x7f1dabc0897b, map = 0x7f1dabc0897b, start = 0, end = 0} indec = {parent = 0x5634e34063a3, map = 0x5634e34063a3, start = 0, end = 0} shift_translated = <optimized out> delayed_switch_frame = <optimized out> original_uppercase = <optimized out> original_uppercase_position = <optimized out> dummyflag = false fake_prefixed_keys = 0x0 first_event = 0x0 second_event = <optimized out> #16 0x00005634e0fe1b8a in command_loop_1 () at keyboard.c:1384 cmd = <optimized out> keybuf = {0x5e, 0x5634e10a0676 <eval_sub+1142>, 0x5634e33b3510, 0x5634e10f91fc <exec_byte_code+508>, 0x0, 0x80, 0x0, 0x7f1dab90e738, 0x5634e1250020 <main_thread.lto_priv>, 0x7f1dabce62b5, 0x5634e33f93c4, 0x0, 0x5634e11da314, 0x7f1db0e68705, 0x53474e, 0x7f1daf5e3400, 0x7fffdb8ca510, 0x1cdd2cc6a070d500, 0x9510, 0x5634e11e0d60, 0x7fffdb8ca1e0, 0x60, 0x5634e33f93c4, 0x0, 0x5634e1250020 <main_thread.lto_priv>, 0x5634e0fdf8c5 <top_level_2+725>, 0x5634e11da314, 0x7f1daf5e3f12 <malloc+434>, 0x15, 0x30} i = <optimized out> prev_modiff = 42 prev_buffer = 0x7f1dab497708 #17 0x00005634e109aa57 in internal_condition_case (bfun=0x5634e0fe18c0 <command_loop_1>, handlers=<optimized out>, hfun=0x5634e0fdf320 <cmd_error>) at eval.c:1474 val = <optimized out> c = 0x5634e33fd350 #18 0x00005634e0fdf5de in command_loop_2 (handlers=handlers@entry=0x90) at keyboard.c:1133 val = <optimized out> #19 0x00005634e109a9ac in internal_catch (tag=<optimized out>, func=0x5634e0fdf5b0 <command_loop_2>, arg=0x90) at eval.c:1197 val = <optimized out> c = 0x5634e33fcde0 #20 0x00005634e0fe13a9 in command_loop () at keyboard.c:1111 #21 0x00005634e11cf8a0 in recursive_edit_1.isra.0 () at keyboard.c:720 val = <optimized out> #22 0x00005634e0fe188c in Frecursive_edit () at keyboard.c:803 buffer = <optimized out> #23 0x00005634e0ed5b9d in main (argc=<optimized out>, argv=0x7fffdb8ca628) at emacs.c:2529 stack_bottom_variable = 0x0 no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 original_pwd = 0x0 dump_mode = <optimized out> skip_args = 0 temacs = 0x0 attempt_load_pdump = <optimized out> only_version = false rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615} lc_all = <optimized out> sockfd = -1 module_assertions = <optimized out> (gdb) frame 8 #8 pgtk_handle_selection_request (event=0x7fffdb8c9420) at pgtkselect.c:573 573 local_selection_data = LOCAL_SELECTION (selection_symbol, dpyinfo); (gdb) p *event $2 = {kind = SELECTION_REQUEST_EVENT, dpyinfo = 0xe35f53a0, requestor = 0x5634e3756330, selection = 0x45, target = 0x4c, property = 0x5d, time = 0} (gdb) p *event->selection $3 = <incomplete type> (gdb) p *event->dpyinfo Cannot access memory at address 0xe35f53a0 (gdb) p kbd_buffer[1856].sie $4 = {kind = NO_EVENT, dpyinfo = 0x0, requestor = 0x0, selection = 0x0, target = 0x0, property = 0x0, time = 0} (gdb) ^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-25 20:27 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-26 0:33 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-26 2:01 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 17+ messages in thread From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-26 0:33 UTC (permalink / raw) To: Leonardo Hernández Hernández; +Cc: 63614 Leonardo Hernández Hernández <leohdz172@proton.me> writes: > On Thu, May 25, 2023 at 04:35:56AM -0600, Po Lu wrote: >> OK, thanks. Does the crash still happen with this? >> >> diff --git a/src/pgtkterm.c b/src/pgtkterm.c >> index b8c626d81d8..bbe68f04adc 100644 >> --- a/src/pgtkterm.c >> +++ b/src/pgtkterm.c >> @@ -6606,8 +6606,7 @@ pgtk_selection_event (GtkWidget *widget, GdkEvent *event, >> >> if (event->type == GDK_PROPERTY_NOTIFY) >> pgtk_handle_property_notify (&event->property); >> - else if (event->type == GDK_SELECTION_CLEAR >> - || event->type == GDK_SELECTION_REQUEST) >> + else if (event->type == GDK_SELECTION_REQUEST) >> { >> f = pgtk_find_selection_owner (event->selection.window); >> > > The crash does not happen when copying text from outside emacs, > however it crashes when pasting text killed from emacs, > for example, open `emacs -Q` kill some text and try to paste that > text outside emacs (just run `wl-paste`) What if you apply this change? diff --git a/src/pgtkterm.c b/src/pgtkterm.c index b8c626d81d8..bfad949941b 100644 --- a/src/pgtkterm.c +++ b/src/pgtkterm.c @@ -376,11 +376,16 @@ mark_pgtkterm (void) for (i = 0; i < n; i++) { union buffered_input_event *ev = &evq->q[i]; - mark_object (ev->ie.x); - mark_object (ev->ie.y); - mark_object (ev->ie.frame_or_window); - mark_object (ev->ie.arg); - mark_object (ev->ie.device); + + if (ev->ie.type != SELECTION_CLEAR_EVENT + && ev->ie.type != SELECTION_REQUEST_EVENT) + { + mark_object (ev->ie.x); + mark_object (ev->ie.y); + mark_object (ev->ie.frame_or_window); + mark_object (ev->ie.arg); + mark_object (ev->ie.device); + } } for (dpyinfo = x_display_list; dpyinfo; ^ permalink raw reply related [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-26 0:33 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-26 2:01 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-26 3:24 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 17+ messages in thread From: leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-26 2:01 UTC (permalink / raw) To: Po Lu; +Cc: 63614 On Thu, May 25, 2023 at 06:33:52PM -0600, Po Lu wrote: > What if you apply this change? > > diff --git a/src/pgtkterm.c b/src/pgtkterm.c > index b8c626d81d8..bfad949941b 100644 > --- a/src/pgtkterm.c > +++ b/src/pgtkterm.c > @@ -376,11 +376,16 @@ mark_pgtkterm (void) > for (i = 0; i < n; i++) > { > union buffered_input_event *ev = &evq->q[i]; > - mark_object (ev->ie.x); > - mark_object (ev->ie.y); > - mark_object (ev->ie.frame_or_window); > - mark_object (ev->ie.arg); > - mark_object (ev->ie.device); > + > + if (ev->ie.type != SELECTION_CLEAR_EVENT > + && ev->ie.type != SELECTION_REQUEST_EVENT) > + { > + mark_object (ev->ie.x); > + mark_object (ev->ie.y); > + mark_object (ev->ie.frame_or_window); > + mark_object (ev->ie.arg); > + mark_object (ev->ie.device); > + } > } > > for (dpyinfo = x_display_list; dpyinfo; I did not apply the patch, instead I updated to 42052686752e399e778d33401dd621afbac0071d which is basically the same patch. It still crashes (the same way I reported first). Here the backtrace: (gdb) bt full #0 0x00007f1c8c2ad8ec in () at /usr/lib64/libc.so.6 #1 0x00007f1c8c25e3e2 in raise () at /usr/lib64/libc.so.6 #2 0x0000558328bcdc78 in terminate_due_to_signal (sig=11, backtrace_limit=<optimized out>) at emacs.c:464 #3 0x0000558328bceacb in handle_fatal_signal (sig=11) at sysdep.c:1783 fatal = <optimized out> #4 deliver_thread_signal (handler=<optimized out>, sig=11) at sysdep.c:1775 fatal = <optimized out> #5 deliver_fatal_thread_signal (sig=11) at sysdep.c:1795 fatal = <optimized out> #6 handle_sigsegv (sig=11, siginfo=0x558329455cb0 <sigsegv_stack+64496>, arg=<optimized out>) at sysdep.c:1888 fatal = <optimized out> #7 0x00007f1c8c25e490 in <signal handler called> () at /usr/lib64/libc.so.6 #8 0x0000558328e86fb9 in pgtk_handle_selection_clear (event=<optimized out>) at pgtkselect.c:742 selection = <optimized out> changed_owner_time = 0 selection_symbol = <optimized out> local_selection_data = <optimized out> local_selection_time = <optimized out> dpyinfo = 0x29baeab0 Vselection_alist = <optimized out> #9 0x0000558328cea9c6 in pgtk_handle_selection_event (event=0x7fffe2a229b0) at pgtkselect.c:782 event = 0x558329405c80 <kbd_buffer+1152> copy = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0x29baeab0, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} moved_events = <optimized out> #10 process_special_events () at keyboard.c:4449 event = 0x558329405c80 <kbd_buffer+1152> copy = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0x29baeab0, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} moved_events = <optimized out> #11 0x0000558328cebbcd in swallow_events (do_display=true) at keyboard.c:4489 old_timers_run = <optimized out> #12 0x0000558328e0789c in wait_reading_process_output (time_limit=<optimized out>, nsecs=<optimized out>, read_kbd=<optimized out>, do_display=<optimized out>, wait_for_cell=<optimized out>, wait_proc=<optimized out>, just_wait_proc=<optimized out>) at process.c:5781 leave = false wrapped = <optimized out> process_skipped = <optimized out> channel_start = <optimized out> child_fd = <optimized out> channel = <optimized out> nfds = <optimized out> Available = {fds_bits = {16, 0 <repeats 15 times>}} Writeok = {fds_bits = {0 <repeats 16 times>}} check_write = true check_delay = <optimized out> no_avail = false xerrno = 11 proc = <optimized out> timeout = {tv_sec = 0, tv_nsec = 0} end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>} timer_delay = {tv_sec = <optimized out>, tv_nsec = <optimized out>} got_output_end_time = {tv_sec = <optimized out>, tv_nsec = <optimized out>} wait = <optimized out> got_some_output = <optimized out> prev_wait_proc_nbytes_read = <optimized out> retry_for_async = <optimized out> count = {bytes = <optimized out>} now = {tv_sec = <optimized out>, tv_nsec = <optimized out>} last_read_channel = -1 #13 0x0000558328be8350 in sit_for (timeout=<optimized out>, reading=<optimized out>, display_option=<optimized out>) at dispnew.c:6264 sec = 30 nsec = 0 do_display = <optimized out> curbuf_eq_winbuf = true nbytes = <optimized out> #14 0x0000558328cf44d5 in read_char (commandflag=1, map=0x55832a17ef73, prev_event=0x0, used_mouse_menu=0x7fffe2a234ab, end_time=0x0) at keyboard.c:2881 delay_level = <optimized out> buffer_size = <optimized out> c = 0x0 local_getcjmp = {{__jmpbuf = {94021820932736, -961532412328081999, 1, 139760518129416, 0, 94021828021619, -961532411696839247, -6458610983165819471}, __mask_was_saved = 0, __saved_mask = {__val = {94021814991392, 94021835287715, 586, 2, 94021815006159, 140736995668736, 40128, 140736995668624, 0, 0, 139760518129421, 0, 94021835287715, 0, 146, 147}}}} save_jump = {{__jmpbuf = {0, 0, 0, 0, 0, 0, 0, 0}, __mask_was_saved = 0, __saved_mask = {__val = {0 <repeats 16 times>}}}} tem = <optimized out> save = <optimized out> previous_echo_area_message = 0x0 also_record = 0x0 reread = false recorded = false polling_stopped_here = false orig_kboard = 0x558329b292d0 #15 0x0000558328ea2417 in read_key_sequence.constprop.0 (keybuf=<optimized out>, prevent_redisplay=false, fix_current_buffer=<optimized out>, can_return_switch_frame=<optimized out>, dont_downcase_last=<optimized out>, prompt=<optimized out>) at keyboard.c:10083 interrupted_kboard = 0x558329b292d0 key = <optimized out> used_mouse_menu = false echo_local_start = 0 last_real_key_start = 0 keys_local_start = 0 new_binding = <optimized out> t = 0 echo_start = 0 keys_start = 0 current_binding = 0x55832a17ef73 first_unbound = 31 mock_input = 0 used_mouse_menu_history = {false <repeats 30 times>} fkey = {parent = 0x5583299bd393, map = 0x5583299bd393, start = 0, end = 0} keytran = {parent = 0x7f1c888080f3, map = 0x7f1c888080f3, start = 0, end = 0} indec = {parent = 0x5583299bd3a3, map = 0x5583299bd3a3, start = 0, end = 0} shift_translated = <optimized out> delayed_switch_frame = <optimized out> original_uppercase = <optimized out> original_uppercase_position = <optimized out> dummyflag = false fake_prefixed_keys = 0x0 first_event = 0x0 second_event = <optimized out> #16 0x0000558328ce7b6a in command_loop_1 () at keyboard.c:1384 cmd = <optimized out> keybuf = {0x5e, 0x558328da6526 <eval_sub+1142>, 0x55832996a510, 0x558328dff13c <exec_byte_code+508>, 0x0, 0x80, 0x0, 0x7f1c8850dbc8, 0x558328f56020 <main_thread.lto_priv>, 0x7f1c888e52e2, 0x5583299b03c4, 0x0, 0x558328ee0314, 0x7f1c8dbc3705, 0x5441465f53554244, 0x7f1c8c2bb400, 0x7fffe2a23aa0, 0xa6ec1548f4ad3200, 0x9540, 0x558328ee6d80, 0x7fffe2a23770, 0x60, 0x5583299b03c4, 0x0, 0x558328f56020 <main_thread.lto_priv>, 0x558328ce58a5 <top_level_2+725>, 0x558328ee0314, 0x7f1c8c2bbf12 <malloc+434>, 0x15, 0x30} i = <optimized out> prev_modiff = 34 prev_buffer = 0x7f1c88096708 #17 0x0000558328da0907 in internal_condition_case (bfun=0x558328ce78a0 <command_loop_1>, handlers=<optimized out>, hfun=0x558328ce5300 <cmd_error>) at eval.c:1474 val = <optimized out> c = 0x5583299b4350 #18 0x0000558328ce55be in command_loop_2 (handlers=handlers@entry=0x90) at keyboard.c:1133 val = <optimized out> #19 0x0000558328da085c in internal_catch (tag=<optimized out>, func=0x558328ce5590 <command_loop_2>, arg=0x90) at eval.c:1197 val = <optimized out> c = 0x5583299b3de0 #20 0x0000558328ce7389 in command_loop () at keyboard.c:1111 #21 0x0000558328ed5910 in recursive_edit_1.isra.0 () at keyboard.c:720 val = <optimized out> #22 0x0000558328ce786c in Frecursive_edit () at keyboard.c:803 buffer = <optimized out> #23 0x0000558328bdbbad in main (argc=<optimized out>, argv=0x7fffe2a23bb8) at emacs.c:2529 stack_bottom_variable = 0x0 no_loadup = false junk = 0x0 dname_arg = 0x0 ch_to_dir = 0x0 original_pwd = 0x0 dump_mode = <optimized out> skip_args = 0 temacs = 0x0 attempt_load_pdump = <optimized out> only_version = false rlim = {rlim_cur = 10022912, rlim_max = 18446744073709551615} lc_all = <optimized out> sockfd = -1 module_assertions = <optimized out> (gdb) frame 9 #9 0x0000558328cea9c6 in pgtk_handle_selection_event (event=0x7fffe2a229b0) at pgtkselect.c:782 782 pgtk_handle_selection_clear (event); (gdb) p *event $1 = {kind = SELECTION_CLEAR_EVENT, dpyinfo = 0x29baeab0, requestor = 0x0, selection = 0x45, target = 0x0, property = 0x0, time = 0} (gdb) p *event->selection $2 = <incomplete type> (gdb) p *event->dpyinfo Cannot access memory at address 0x29baeab0 (gdb) p kbd_buffer[1152].sie $3 = {kind = NO_EVENT, dpyinfo = 0x0, requestor = 0x0, selection = 0x0, target = 0x0, property = 0x0, time = 0} (gdb) p x_display_list $4 = (struct pgtk_display_info *) 0x558329baeab0 (gdb) p *x_display_list $5 = {next = 0x0, terminal = 0x558329a8e7f0, {gdpy = 0x558329ac4b10, display = 0x558329ac4b10}, name_list_element = 0x5583299bd383, reference_count = 1, x_id = 1, x_id_name = 0x558329b781a0 "emacs@gentoo", n_fonts = 5, smallest_char_width = 2, smallest_font_height = 15, bitmaps = 0x0, bitmaps_size = 0, bitmaps_last = 0, resx = 96, resy = 96, grabbed = 0, n_planes = 32, color_p = 1, icon_bitmap_id = -2, root_window = 42, rdb = 0x0, vertical_scroll_bar_cursor = 0x558329b49230, horizontal_scroll_bar_cursor = 0x558329bfbe30, mouse_highlight = {mouse_face_beg_row = -1, mouse_face_beg_col = -1, mouse_face_beg_x = 0, mouse_face_end_row = -1, mouse_face_end_col = -1, mouse_face_end_x = 0, mouse_face_window = 0x0, mouse_face_face_id = 0, mouse_face_overlay = 0x0, mouse_face_mouse_frame = 0x0, mouse_face_mouse_x = 0, mouse_face_mouse_y = 0, mouse_face_past_end = false, mouse_face_defer = false, mouse_face_hidden = false}, highlight_frame = 0x0, x_focus_frame = 0x0, x_focus_event_frame = 0x0, last_mouse_frame = 0x0, last_mouse_motion_frame = 0x0, last_mouse_motion_x = 0, last_mouse_motion_y = 0, last_mouse_glyph = {x = 0, y = 0, width = 0, height = 0}, last_mouse_movement_time = 0, last_user_time = 10173018, last_mouse_scroll_bar = 0x0, invisible_cursor = 0x558329bb7b30, xg_cursor = 0x558329bb72b0, devices = 0x558329c0e860, last_mouse_glyph_frame = 0x0, last_click_event = 0x0, im = {context = 0x558329b952b0, focused_frame = 0x0}, scroll = {acc_x = 0, acc_y = 0, x_per_char = 1, y_per_line = 1}, connection = 4} (gdb) ^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-26 2:01 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-26 3:24 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-26 3:29 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 1 reply; 17+ messages in thread From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-26 3:24 UTC (permalink / raw) To: Leonardo Hernández Hernández; +Cc: 63614 Would you please: (gdb) disassemble pgtk_selection_event (gdb) disassemble evq_enqueue (gdb) disassemble evq_flush thanks. ^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard 2023-05-26 3:24 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-26 3:29 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 0 replies; 17+ messages in thread From: leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-05-26 3:29 UTC (permalink / raw) To: Po Lu; +Cc: 63614 On Thu, May 25, 2023 at 09:24:31PM -0600, Po Lu wrote: > Would you please: > > (gdb) disassemble pgtk_selection_event > (gdb) disassemble evq_enqueue > (gdb) disassemble evq_flush > > thanks. (gdb) disassemble pgtk_selection_event Dump of assembler code for function pgtk_selection_event: 0x0000558328e80840 <+0>: push %rbp 0x0000558328e80841 <+1>: mov %rsp,%rbp 0x0000558328e80844 <+4>: push %r14 0x0000558328e80846 <+6>: push %r13 0x0000558328e80848 <+8>: push %r12 0x0000558328e8084a <+10>: push %rbx 0x0000558328e8084b <+11>: mov %rsi,%r12 0x0000558328e8084e <+14>: sub $0x50,%rsp 0x0000558328e80852 <+18>: mov %fs:0x28,%rax 0x0000558328e8085b <+27>: mov %rax,0x48(%rsp) 0x0000558328e80860 <+32>: mov (%rsi),%eax 0x0000558328e80862 <+34>: cmp $0x10,%eax 0x0000558328e80865 <+37>: je 0x558328e80920 <pgtk_selection_event+224> 0x0000558328e8086b <+43>: lea -0x11(%rax),%edx 0x0000558328e8086e <+46>: cmp $0x1,%edx 0x0000558328e80871 <+49>: jbe 0x558328e808b0 <pgtk_selection_event+112> 0x0000558328e80873 <+51>: cmp $0x13,%eax 0x0000558328e80876 <+54>: je 0x558328e809a0 <pgtk_selection_event+352> 0x0000558328e8087c <+60>: xor %eax,%eax 0x0000558328e8087e <+62>: xchg %ax,%ax 0x0000558328e80880 <+64>: mov 0x48(%rsp),%rdx 0x0000558328e80885 <+69>: sub %fs:0x28,%rdx 0x0000558328e8088e <+78>: jne 0x558328e80a90 <pgtk_selection_event+592> 0x0000558328e80894 <+84>: add $0x50,%rsp 0x0000558328e80898 <+88>: pop %rbx 0x0000558328e80899 <+89>: pop %r12 0x0000558328e8089b <+91>: pop %r13 0x0000558328e8089d <+93>: pop %r14 0x0000558328e8089f <+95>: pop %rbp 0x0000558328e808a0 <+96>: ret 0x0000558328e808a1 <+97>: data16 cs nopw 0x0(%rax,%rax,1) 0x0000558328e808ac <+108>: nopl 0x0(%rax) 0x0000558328e808b0 <+112>: mov 0x54d951(%rip),%rbx # 0x5583293ce208 <Vframe_list> 0x0000558328e808b7 <+119>: mov 0x8(%rsi),%r14 0x0000558328e808bb <+123>: lea -0x3(%rbx),%eax 0x0000558328e808be <+126>: test $0x7,%al 0x0000558328e808c0 <+128>: je 0x558328e808ff <pgtk_selection_event+191> 0x0000558328e808c2 <+130>: jmp 0x558328e8087c <pgtk_selection_event+60> 0x0000558328e808c4 <+132>: data16 cs nopw 0x0(%rax,%rax,1) 0x0000558328e808cf <+143>: nop 0x0000558328e808d0 <+144>: mov 0x1d3(%r13),%rax 0x0000558328e808d7 <+151>: mov 0x198(%rax),%rdi 0x0000558328e808de <+158>: call 0x558328bc8b10 <gtk_widget_get_window@plt> 0x0000558328e808e3 <+163>: cmp %rax,%r14 0x0000558328e808e6 <+166>: je 0x558328e809d2 <pgtk_selection_event+402> 0x0000558328e808ec <+172>: nopl 0x0(%rax) 0x0000558328e808f0 <+176>: mov 0x5(%rbx),%rbx 0x0000558328e808f4 <+180>: lea -0x3(%rbx),%eax 0x0000558328e808f7 <+183>: test $0x7,%al 0x0000558328e808f9 <+185>: jne 0x558328e8087c <pgtk_selection_event+60> 0x0000558328e808ff <+191>: mov -0x3(%rbx),%r13 0x0000558328e80903 <+195>: movzbl 0x106(%r13),%eax 0x0000558328e8090b <+203>: and $0xe,%eax 0x0000558328e8090e <+206>: cmp $0xc,%al 0x0000558328e80910 <+208>: jne 0x558328e808f0 <pgtk_selection_event+176> 0x0000558328e80912 <+210>: jmp 0x558328e808d0 <pgtk_selection_event+144> 0x0000558328e80914 <+212>: data16 cs nopw 0x0(%rax,%rax,1) 0x0000558328e8091f <+223>: nop 0x0000558328e80920 <+224>: mov 0x8(%rsi),%rdi 0x0000558328e80924 <+228>: call 0x558328bc8140 <gdk_window_get_display@plt> 0x0000558328e80929 <+233>: mov 0x5e6fd8(%rip),%rdx # 0x558329467908 <property_change_wait_list> 0x0000558328e80930 <+240>: test %rdx,%rdx 0x0000558328e80933 <+243>: je 0x558328e8087c <pgtk_selection_event+60> 0x0000558328e80939 <+249>: cmpb $0x0,0x24(%rdx) 0x0000558328e8093d <+253>: je 0x558328e80953 <pgtk_selection_event+275> 0x0000558328e8093f <+255>: nop 0x0000558328e80940 <+256>: mov 0x28(%rdx),%rdx 0x0000558328e80944 <+260>: test %rdx,%rdx 0x0000558328e80947 <+263>: je 0x558328e8087c <pgtk_selection_event+60> 0x0000558328e8094d <+269>: cmpb $0x0,0x24(%rdx) 0x0000558328e80951 <+273>: jne 0x558328e80940 <pgtk_selection_event+256> 0x0000558328e80953 <+275>: mov 0x18(%r12),%rcx 0x0000558328e80958 <+280>: cmp %rcx,0x18(%rdx) 0x0000558328e8095c <+284>: jne 0x558328e80940 <pgtk_selection_event+256> 0x0000558328e8095e <+286>: mov 0x8(%r12),%rdi 0x0000558328e80963 <+291>: cmp %rdi,0x10(%rdx) 0x0000558328e80967 <+295>: jne 0x558328e80940 <pgtk_selection_event+256> 0x0000558328e80969 <+297>: cmp 0x8(%rdx),%rax 0x0000558328e8096d <+301>: jne 0x558328e80940 <pgtk_selection_event+256> 0x0000558328e8096f <+303>: mov 0x24(%r12),%esi 0x0000558328e80974 <+308>: cmp %esi,0x20(%rdx) 0x0000558328e80977 <+311>: jne 0x558328e80940 <pgtk_selection_event+256> 0x0000558328e80979 <+313>: cmp %rdx,0x5e6f80(%rip) # 0x558329467900 <property_change_reply_object> 0x0000558328e80980 <+320>: movb $0x1,0x24(%rdx) 0x0000558328e80984 <+324>: jne 0x558328e8087c <pgtk_selection_event+60> 0x0000558328e8098a <+330>: mov 0x5e6f27(%rip),%rax # 0x5583294678b8 <property_change_reply.lto_priv.0> 0x0000558328e80991 <+337>: movq $0x30,-0x3(%rax) 0x0000558328e80999 <+345>: jmp 0x558328e8087c <pgtk_selection_event+60> 0x0000558328e8099e <+350>: xchg %ax,%ax 0x0000558328e809a0 <+352>: mov 0x5e6f21(%rip),%rax # 0x5583294678c8 <reading_which_selection.lto_priv.0> 0x0000558328e809a7 <+359>: cmp %rax,0x18(%rsi) 0x0000558328e809ab <+363>: jne 0x558328e8087c <pgtk_selection_event+60> 0x0000558328e809b1 <+369>: cmpq $0x1,0x28(%rsi) 0x0000558328e809b6 <+374>: mov 0x5e6f03(%rip),%rdx # 0x5583294678c0 <reading_selection_reply.lto_priv.0> 0x0000558328e809bd <+381>: sbb %rax,%rax 0x0000558328e809c0 <+384>: and $0x90,%eax 0x0000558328e809c5 <+389>: add $0x30,%rax 0x0000558328e809c9 <+393>: mov %rax,-0x3(%rdx) 0x0000558328e809cd <+397>: jmp 0x558328e8087c <pgtk_selection_event+60> 0x0000558328e809d2 <+402>: mov (%r12),%eax 0x0000558328e809d6 <+406>: vpxor %xmm0,%xmm0,%xmm0 0x0000558328e809da <+410>: movq $0x30,0x38(%rsp) 0x0000558328e809e3 <+419>: vextracti128 $0x1,%ymm0,0x10(%rsp) 0x0000558328e809eb <+427>: vmovdqa %xmm0,(%rsp) 0x0000558328e809f0 <+432>: vextracti128 $0x1,%ymm0,0x18(%rsp) 0x0000558328e809f8 <+440>: vextracti128 $0x1,%ymm0,0x28(%rsp) 0x0000558328e80a00 <+448>: cmp $0x11,%eax 0x0000558328e80a03 <+451>: je 0x558328e80a62 <pgtk_selection_event+546> 0x0000558328e80a05 <+453>: mov 0x1d3(%r13),%rdx 0x0000558328e80a0c <+460>: movw $0xa,(%rsp) 0x0000558328e80a12 <+466>: mov 0x138(%rdx),%rdx 0x0000558328e80a19 <+473>: mov %rdx,0x8(%rsp) 0x0000558328e80a1e <+478>: mov 0x18(%r12),%rdx 0x0000558328e80a23 <+483>: mov %rdx,0x18(%rsp) 0x0000558328e80a28 <+488>: mov 0x30(%r12),%edx 0x0000558328e80a2d <+493>: mov %edx,0x30(%rsp) 0x0000558328e80a31 <+497>: cmp $0x12,%eax 0x0000558328e80a34 <+500>: jne 0x558328e80a4d <pgtk_selection_event+525> 0x0000558328e80a36 <+502>: vmovdqu 0x20(%r12),%xmm1 0x0000558328e80a3d <+509>: mov 0x38(%r12),%rax 0x0000558328e80a42 <+514>: mov %rax,0x10(%rsp) 0x0000558328e80a47 <+519>: vmovdqa %xmm1,0x20(%rsp) 0x0000558328e80a4d <+525>: mov %rsp,%rdi 0x0000558328e80a50 <+528>: vzeroupper 0x0000558328e80a53 <+531>: call 0x558328e78630 <evq_enqueue> 0x0000558328e80a58 <+536>: mov $0x1,%eax 0x0000558328e80a5d <+541>: jmp 0x558328e80880 <pgtk_selection_event+64> 0x0000558328e80a62 <+546>: mov 0x1d3(%r13),%rax 0x0000558328e80a69 <+553>: movw $0xb,(%rsp) 0x0000558328e80a6f <+559>: mov 0x138(%rax),%rax 0x0000558328e80a76 <+566>: mov %rax,0x8(%rsp) 0x0000558328e80a7b <+571>: mov 0x18(%r12),%rax 0x0000558328e80a80 <+576>: mov %rax,0x18(%rsp) 0x0000558328e80a85 <+581>: mov 0x30(%r12),%eax 0x0000558328e80a8a <+586>: mov %eax,0x30(%rsp) 0x0000558328e80a8e <+590>: jmp 0x558328e80a4d <pgtk_selection_event+525> 0x0000558328e80a90 <+592>: call 0x558328bc6230 <__stack_chk_fail@plt> End of assembler dump. (gdb) disassemble evq_enqueue Dump of assembler code for function evq_enqueue: Address range 0x558328e78630 to 0x558328e78865: 0x0000558328e78630 <+0>: mov 0x5e3356(%rip),%edx # 0x55832945b98c <event_q.lto_priv.0+12> 0x0000558328e78636 <+6>: push %rbp 0x0000558328e78637 <+7>: mov %rsp,%rbp 0x0000558328e7863a <+10>: push %r14 0x0000558328e7863c <+12>: push %r13 0x0000558328e7863e <+14>: push %r12 0x0000558328e78640 <+16>: mov %rdi,%r12 0x0000558328e78643 <+19>: push %rbx 0x0000558328e78644 <+20>: test %edx,%edx 0x0000558328e78646 <+22>: je 0x558328e78790 <evq_enqueue+352> 0x0000558328e7864c <+28>: movslq 0x5e3335(%rip),%rax # 0x55832945b988 <event_q.lto_priv.0+8> 0x0000558328e78653 <+35>: mov 0x5e3326(%rip),%rbx # 0x55832945b980 <event_q.lto_priv.0> 0x0000558328e7865a <+42>: cmp %eax,%edx 0x0000558328e7865c <+44>: jle 0x558328e78710 <evq_enqueue+224> 0x0000558328e78662 <+50>: vmovdqu (%r12),%ymm0 0x0000558328e78668 <+56>: lea 0x1(%rax),%edx 0x0000558328e7866b <+59>: shl $0x6,%rax 0x0000558328e7866f <+63>: add %rbx,%rax 0x0000558328e78672 <+66>: mov %edx,0x5e3310(%rip) # 0x55832945b988 <event_q.lto_priv.0+8> 0x0000558328e78678 <+72>: vmovdqu %ymm0,(%rax) 0x0000558328e7867c <+76>: vmovdqu 0x20(%r12),%ymm1 0x0000558328e78683 <+83>: vmovdqu %ymm1,0x20(%rax) 0x0000558328e78688 <+88>: movzwl (%r12),%eax 0x0000558328e7868d <+93>: sub $0xa,%eax 0x0000558328e78690 <+96>: cmp $0x1,%ax 0x0000558328e78694 <+100>: jbe 0x558328e786f8 <evq_enqueue+200> 0x0000558328e78696 <+102>: mov 0x28(%r12),%rax 0x0000558328e7869b <+107>: lea -0x5(%rax),%edx 0x0000558328e7869e <+110>: and $0x7,%edx 0x0000558328e786a1 <+113>: jne 0x558328e786f8 <evq_enqueue+200> 0x0000558328e786a3 <+115>: movabs $0x400000003f000000,%rdx 0x0000558328e786ad <+125>: and -0x5(%rax),%rdx 0x0000558328e786b1 <+129>: movabs $0x400000000b000000,%rcx 0x0000558328e786bb <+139>: cmp %rcx,%rdx 0x0000558328e786be <+142>: je 0x558328e78800 <evq_enqueue+464> 0x0000558328e786c4 <+148>: sub $0x1000000,%rcx 0x0000558328e786cb <+155>: cmp %rcx,%rdx 0x0000558328e786ce <+158>: jne 0x558328e786f8 <evq_enqueue+200> 0x0000558328e786d0 <+160>: sub $0x5,%rax 0x0000558328e786d4 <+164>: mov 0x1d8(%rax),%rax 0x0000558328e786db <+171>: mov 0x20(%r12),%rdx 0x0000558328e786e0 <+176>: mov 0x138(%rax),%rax 0x0000558328e786e7 <+183>: mov 0x130(%rax),%ecx 0x0000558328e786ed <+189>: cmp %rdx,%rcx 0x0000558328e786f0 <+192>: jae 0x558328e786f8 <evq_enqueue+200> 0x0000558328e786f2 <+194>: mov %edx,0x130(%rax) 0x0000558328e786f8 <+200>: vzeroupper 0x0000558328e786fb <+203>: pop %rbx 0x0000558328e786fc <+204>: mov $0x1d,%edi 0x0000558328e78701 <+209>: pop %r12 0x0000558328e78703 <+211>: pop %r13 0x0000558328e78705 <+213>: pop %r14 0x0000558328e78707 <+215>: pop %rbp 0x0000558328e78708 <+216>: jmp 0x558328bc88b0 <raise@plt> 0x0000558328e7870d <+221>: nopl (%rax) 0x0000558328e78710 <+224>: mov %edx,%r13d 0x0000558328e78713 <+227>: shr $0x1f,%r13d 0x0000558328e78717 <+231>: add %edx,%r13d 0x0000558328e7871a <+234>: sar %r13d 0x0000558328e7871d <+237>: add %edx,%r13d 0x0000558328e78720 <+240>: mov %r13d,0x5e3265(%rip) # 0x55832945b98c <event_q.lto_priv.0+12> 0x0000558328e78727 <+247>: movslq %r13d,%r13 0x0000558328e7872a <+250>: shl $0x6,%r13 0x0000558328e7872e <+254>: test %rbx,%rbx 0x0000558328e78731 <+257>: je 0x558328e78810 <evq_enqueue+480> 0x0000558328e78737 <+263>: mov %rbx,%rdi 0x0000558328e7873a <+266>: mov %r13,%rsi 0x0000558328e7873d <+269>: call 0x558328bc5560 <realloc@plt> 0x0000558328e78742 <+274>: mov %rax,%r14 0x0000558328e78745 <+277>: mov %rax,%rbx 0x0000558328e78748 <+280>: or %r13,%r14 0x0000558328e7874b <+283>: jne 0x558328e7885d <evq_enqueue+557> 0x0000558328e78751 <+289>: mov $0x8,%edi 0x0000558328e78756 <+294>: call 0x558328bc8b60 <malloc@plt> 0x0000558328e7875b <+299>: mov %rax,%rbx 0x0000558328e7875e <+302>: test %rbx,%rbx 0x0000558328e78761 <+305>: je 0x558328bd7e27 <evq_enqueue-2754569> 0x0000558328e78767 <+311>: cmpb $0x0,0x555aee(%rip) # 0x5583293ce25c <profiler_memory_running> 0x0000558328e7876e <+318>: jne 0x558328e78850 <evq_enqueue+544> 0x0000558328e78774 <+324>: movslq 0x5e320d(%rip),%rax # 0x55832945b988 <event_q.lto_priv.0+8> 0x0000558328e7877b <+331>: mov %rbx,0x5e31fe(%rip) # 0x55832945b980 <event_q.lto_priv.0> 0x0000558328e78782 <+338>: jmp 0x558328e78662 <evq_enqueue+50> 0x0000558328e78787 <+343>: nopw 0x0(%rax,%rax,1) 0x0000558328e78790 <+352>: mov $0x100,%edi 0x0000558328e78795 <+357>: movl $0x4,0x5e31ed(%rip) # 0x55832945b98c <event_q.lto_priv.0+12> 0x0000558328e7879f <+367>: call 0x558328bc8b60 <malloc@plt> 0x0000558328e787a4 <+372>: mov %rax,%rbx 0x0000558328e787a7 <+375>: test %rax,%rax 0x0000558328e787aa <+378>: je 0x558328bd7e1d <evq_enqueue.lto_priv.0.cold> 0x0000558328e787b0 <+384>: cmpb $0x0,0x555aa5(%rip) # 0x5583293ce25c <profiler_memory_running> 0x0000558328e787b7 <+391>: mov $0x4,%edx 0x0000558328e787bc <+396>: jne 0x558328e78830 <evq_enqueue+512> 0x0000558328e787be <+398>: movslq 0x5e31c3(%rip),%rax # 0x55832945b988 <event_q.lto_priv.0+8> 0x0000558328e787c5 <+405>: mov %rbx,0x5e31b4(%rip) # 0x55832945b980 <event_q.lto_priv.0> 0x0000558328e787cc <+412>: cmp %edx,%eax 0x0000558328e787ce <+414>: jl 0x558328e78662 <evq_enqueue+50> 0x0000558328e787d4 <+420>: mov %edx,%r13d 0x0000558328e787d7 <+423>: shr $0x1f,%r13d 0x0000558328e787db <+427>: add %edx,%r13d 0x0000558328e787de <+430>: sar %r13d 0x0000558328e787e1 <+433>: add %edx,%r13d 0x0000558328e787e4 <+436>: mov %r13d,0x5e31a1(%rip) # 0x55832945b98c <event_q.lto_priv.0+12> 0x0000558328e787eb <+443>: movslq %r13d,%r13 0x0000558328e787ee <+446>: shl $0x6,%r13 0x0000558328e787f2 <+450>: jmp 0x558328e78737 <evq_enqueue+263> 0x0000558328e787f7 <+455>: nopw 0x0(%rax,%rax,1) 0x0000558328e78800 <+464>: mov 0x3(%rax),%rax 0x0000558328e78804 <+468>: sub $0x5,%rax 0x0000558328e78808 <+472>: jmp 0x558328e786d4 <evq_enqueue+164> 0x0000558328e7880d <+477>: nopl (%rax) 0x0000558328e78810 <+480>: mov %r13,%rdi 0x0000558328e78813 <+483>: mov %r13,%r14 0x0000558328e78816 <+486>: call 0x558328bc8b60 <malloc@plt> 0x0000558328e7881b <+491>: mov %rax,%rbx 0x0000558328e7881e <+494>: jmp 0x558328e7875e <evq_enqueue+302> 0x0000558328e78823 <+499>: data16 cs nopw 0x0(%rax,%rax,1) 0x0000558328e7882e <+510>: xchg %ax,%ax 0x0000558328e78830 <+512>: mov $0x100,%edi 0x0000558328e78835 <+517>: call 0x558328e344c0 <malloc_probe> 0x0000558328e7883a <+522>: mov 0x5e314c(%rip),%edx # 0x55832945b98c <event_q.lto_priv.0+12> 0x0000558328e78840 <+528>: jmp 0x558328e787be <evq_enqueue+398> 0x0000558328e78845 <+533>: data16 cs nopw 0x0(%rax,%rax,1) 0x0000558328e78850 <+544>: mov %r14,%rdi 0x0000558328e78853 <+547>: call 0x558328e344c0 <malloc_probe> 0x0000558328e78858 <+552>: jmp 0x558328e78774 <evq_enqueue+324> 0x0000558328e7885d <+557>: mov %r13,%r14 0x0000558328e78860 <+560>: jmp 0x558328e7875e <evq_enqueue+302> Address range 0x558328bd7e1d to 0x558328bd7e2f: 0x0000558328bd7e1d <-2754579>: mov $0x100,%edi 0x0000558328bd7e22 <-2754574>: call 0x558328bd00da <memory_full> 0x0000558328bd7e27 <-2754569>: mov %r14,%rdi 0x0000558328bd7e2a <-2754566>: call 0x558328bd00da <memory_full> End of assembler dump. (gdb) disassemble evq_flush Dump of assembler code for function evq_flush: Address range 0x558328e725c0 to 0x558328e72a82: 0x0000558328e725c0 <+0>: push %r15 0x0000558328e725c2 <+2>: push %r14 0x0000558328e725c4 <+4>: push %r13 0x0000558328e725c6 <+6>: push %r12 0x0000558328e725c8 <+8>: push %rbp 0x0000558328e725c9 <+9>: push %rbx 0x0000558328e725ca <+10>: sub $0xc8,%rsp 0x0000558328e725d1 <+17>: mov 0x5e93b1(%rip),%edx # 0x55832945b988 <event_q.lto_priv.0+8> 0x0000558328e725d7 <+23>: mov %fs:0x28,%rax 0x0000558328e725e0 <+32>: mov %rax,0xb8(%rsp) 0x0000558328e725e8 <+40>: xor %eax,%eax 0x0000558328e725ea <+42>: test %edx,%edx 0x0000558328e725ec <+44>: jle 0x558328e7288f <evq_flush+719> 0x0000558328e725f2 <+50>: mov %rdi,%rbx 0x0000558328e725f5 <+53>: xor %r14d,%r14d 0x0000558328e725f8 <+56>: jmp 0x558328e726cf <evq_flush+271> 0x0000558328e725fd <+61>: nopl (%rax) 0x0000558328e72600 <+64>: mov 0x5d31f9(%rip),%rdx # 0x558329445800 <kbd_store_ptr> 0x0000558328e72607 <+71>: lea 0x5d31b2(%rip),%rcx # 0x5583294457c0 <kbd_buffer+262080> 0x0000558328e7260e <+78>: lea -0x3ffc0(%rcx),%rsi 0x0000558328e72615 <+85>: cmp %rcx,%rdx 0x0000558328e72618 <+88>: mov 0x5d31e9(%rip),%rcx # 0x558329445808 <kbd_fetch_ptr> 0x0000558328e7261f <+95>: lea 0x40(%rdx),%rax 0x0000558328e72623 <+99>: cmove %rsi,%rax 0x0000558328e72627 <+103>: cmp %rax,%rcx 0x0000558328e7262a <+106>: je 0x558328e72679 <evq_flush+185> 0x0000558328e7262c <+108>: vmovdqa 0x20(%rsp),%xmm4 0x0000558328e72632 <+114>: vmovdqa 0x10(%rsp),%xmm5 0x0000558328e72638 <+120>: vmovd %xmm0,(%rdx) 0x0000558328e7263c <+124>: vmovq %xmm1,0x4(%rdx) 0x0000558328e72641 <+129>: mov %rax,0x5d31b8(%rip) # 0x558329445800 <kbd_store_ptr> 0x0000558328e72648 <+136>: sub %rcx,%rax 0x0000558328e7264b <+139>: mov %r12,0x20(%rdx) 0x0000558328e7264f <+143>: sar $0x6,%rax 0x0000558328e72653 <+147>: mov %rbp,0x38(%rdx) 0x0000558328e72657 <+151>: vmovdqu %xmm4,0x10(%rdx) 0x0000558328e7265c <+156>: vmovdqu %xmm5,0x28(%rdx) 0x0000558328e72661 <+161>: mov %eax,%edx 0x0000558328e72663 <+163>: sar $0x13,%edx 0x0000558328e72666 <+166>: and $0x1000,%edx 0x0000558328e7266c <+172>: add %edx,%eax 0x0000558328e7266e <+174>: cmp $0x800,%eax 0x0000558328e72673 <+179>: jg 0x558328e72820 <evq_flush+608> 0x0000558328e72679 <+185>: cmpq $0x0,0x55c72f(%rip) # 0x5583293cedb0 <globals+2864> 0x0000558328e72681 <+193>: je 0x558328e726be <evq_flush+254> 0x0000558328e72683 <+195>: sub $0xa,%r13d 0x0000558328e72687 <+199>: xor %edi,%edi 0x0000558328e72689 <+201>: cmp $0x14,%r13w 0x0000558328e7268e <+206>: ja 0x558328e7269f <evq_flush+223> 0x0000558328e72690 <+208>: movzwl %r13w,%r13d 0x0000558328e72694 <+212>: lea 0x74725(%rip),%rax # 0x558328ee6dc0 <CSWTCH.1515.lto_priv.0> 0x0000558328e7269b <+219>: mov (%rax,%r13,8),%rdi 0x0000558328e7269f <+223>: mov 0x55c812(%rip),%rsi # 0x5583293ceeb8 <globals+3128> 0x0000558328e726a6 <+230>: call 0x558328dae050 <Fmemq> 0x0000558328e726ab <+235>: test %rax,%rax 0x0000558328e726ae <+238>: jne 0x558328e726be <evq_flush+254> 0x0000558328e726b0 <+240>: mov 0x55c6f9(%rip),%rax # 0x5583293cedb0 <globals+2864> 0x0000558328e726b7 <+247>: mov %rax,0x55c512(%rip) # 0x5583293cebd0 <globals+2384> 0x0000558328e726be <+254>: mov 0x5e92c4(%rip),%edx # 0x55832945b988 <event_q.lto_priv.0+8> 0x0000558328e726c4 <+260>: inc %r14d 0x0000558328e726c7 <+263>: test %edx,%edx 0x0000558328e726c9 <+265>: jle 0x558328e728a0 <evq_flush+736> 0x0000558328e726cf <+271>: lea 0x5e92aa(%rip),%rax # 0x55832945b980 <event_q.lto_priv.0> 0x0000558328e726d6 <+278>: mov (%rax),%rdi 0x0000558328e726d9 <+281>: vmovdqu 0x10(%rdi),%xmm2 0x0000558328e726de <+286>: vmovdqu 0x28(%rdi),%xmm3 0x0000558328e726e3 <+291>: vmovd (%rdi),%xmm0 0x0000558328e726e7 <+295>: vmovq 0x4(%rdi),%xmm1 0x0000558328e726ec <+300>: mov 0x20(%rdi),%r12 0x0000558328e726f0 <+304>: mov 0x38(%rdi),%rbp 0x0000558328e726f4 <+308>: vpextrw $0x0,%xmm0,%r13d 0x0000558328e726f9 <+313>: vmovdqa %xmm2,0x20(%rsp) 0x0000558328e726ff <+319>: vmovdqa %xmm3,0x10(%rsp) 0x0000558328e72705 <+325>: cmp $0x1,%edx 0x0000558328e72708 <+328>: je 0x558328e728d0 <evq_flush+784> 0x0000558328e7270e <+334>: dec %edx 0x0000558328e72710 <+336>: lea 0x40(%rdi),%rsi 0x0000558328e72714 <+340>: vmovq %xmm1,0x8(%rsp) 0x0000558328e7271a <+346>: vmovd %xmm0,0x4(%rsp) 0x0000558328e72720 <+352>: mov %rdx,%r15 0x0000558328e72723 <+355>: shl $0x6,%rdx 0x0000558328e72727 <+359>: call 0x558328bc5870 <memmove@plt> 0x0000558328e7272c <+364>: vmovd 0x4(%rsp),%xmm0 0x0000558328e72732 <+370>: vmovq 0x8(%rsp),%xmm1 0x0000558328e72738 <+376>: mov %r15d,%edx 0x0000558328e7273b <+379>: mov %r15d,0x5e9246(%rip) # 0x55832945b988 <event_q.lto_priv.0+8> 0x0000558328e72742 <+386>: test %r13w,%r13w 0x0000558328e72746 <+390>: je 0x558328e72a7d <evq_flush+1213> 0x0000558328e7274c <+396>: test %rbx,%rbx 0x0000558328e7274f <+399>: je 0x558328e7275b <evq_flush+411> 0x0000558328e72751 <+401>: cmpw $0x0,(%rbx) 0x0000558328e72755 <+405>: jne 0x558328e726c4 <evq_flush+260> 0x0000558328e7275b <+411>: cmp $0x1,%r13w 0x0000558328e72760 <+416>: jne 0x558328e72600 <evq_flush+64> 0x0000558328e72766 <+422>: vpextrd $0x1,%xmm1,%ecx 0x0000558328e7276c <+428>: vmovd %xmm1,%esi 0x0000558328e72770 <+432>: movslq 0x593061(%rip),%r15 # 0x5583294057d8 <quit_char> 0x0000558328e72777 <+439>: movzbl %sil,%edi 0x0000558328e7277b <+443>: mov %ecx,%eax 0x0000558328e7277d <+445>: and $0x9c00000,%eax 0x0000558328e72782 <+450>: and $0x4000000,%ecx 0x0000558328e72788 <+456>: je 0x558328e727f0 <evq_flush+560> 0x0000558328e7278a <+458>: test $0x80,%sil 0x0000558328e7278e <+462>: jne 0x558328e728e1 <evq_flush+801> 0x0000558328e72794 <+468>: lea -0x40(%rdi),%ecx 0x0000558328e72797 <+471>: cmp $0x1f,%ecx 0x0000558328e7279a <+474>: ja 0x558328e727df <evq_flush+543> 0x0000558328e7279c <+476>: sub $0x41,%edi 0x0000558328e7279f <+479>: and $0x1f,%esi 0x0000558328e727a2 <+482>: cmp $0x19,%edi 0x0000558328e727a5 <+485>: ja 0x558328e727ee <evq_flush+558> 0x0000558328e727a7 <+487>: or %eax,%esi 0x0000558328e727a9 <+489>: mov %esi,%eax 0x0000558328e727ab <+491>: or $0x2000000,%eax 0x0000558328e727b0 <+496>: cmp %r15d,%eax 0x0000558328e727b3 <+499>: je 0x558328e728f1 <evq_flush+817> 0x0000558328e727b9 <+505>: lea 0x5e3a20(%rip),%rdx # 0x5583294561e0 <stop_character> 0x0000558328e727c0 <+512>: cmp %eax,(%rdx) 0x0000558328e727c2 <+514>: jne 0x558328e72600 <evq_flush+64> 0x0000558328e727c8 <+520>: mov $0x14,%esi 0x0000558328e727cd <+525>: xor %edi,%edi 0x0000558328e727cf <+527>: call 0x558328bc88a0 <kill@plt> 0x0000558328e727d4 <+532>: mov 0x5e91ae(%rip),%edx # 0x55832945b988 <event_q.lto_priv.0+8> 0x0000558328e727da <+538>: jmp 0x558328e726c4 <evq_flush+260> 0x0000558328e727df <+543>: lea -0x61(%rdi),%ecx 0x0000558328e727e2 <+546>: cmp $0x19,%ecx 0x0000558328e727e5 <+549>: ja 0x558328e728d8 <evq_flush+792> 0x0000558328e727eb <+555>: and $0x1f,%esi 0x0000558328e727ee <+558>: mov %esi,%edi 0x0000558328e727f0 <+560>: or %edi,%eax 0x0000558328e727f2 <+562>: cmp %r15d,%eax 0x0000558328e727f5 <+565>: je 0x558328e728f1 <evq_flush+817> 0x0000558328e727fb <+571>: test %eax,%eax 0x0000558328e727fd <+573>: je 0x558328e72600 <evq_flush+64> 0x0000558328e72803 <+579>: lea 0x5e39d6(%rip),%rdx # 0x5583294561e0 <stop_character> 0x0000558328e7280a <+586>: cmp %eax,(%rdx) 0x0000558328e7280c <+588>: jne 0x558328e72600 <evq_flush+64> 0x0000558328e72812 <+594>: jmp 0x558328e727c8 <evq_flush+520> 0x0000558328e72814 <+596>: data16 cs nopw 0x0(%rax,%rax,1) 0x0000558328e7281f <+607>: nop 0x0000558328e72820 <+608>: cmpb $0x0,0x5e3901(%rip) # 0x558329456128 <kbd_is_on_hold.lto_priv.0> 0x0000558328e72827 <+615>: jne 0x558328e72679 <evq_flush+185> 0x0000558328e7282d <+621>: cmpb $0x0,0x55ba21(%rip) # 0x5583293ce255 <noninteractive> 0x0000558328e72834 <+628>: movb $0x1,0x5e38ed(%rip) # 0x558329456128 <kbd_is_on_hold.lto_priv.0> 0x0000558328e7283b <+635>: jne 0x558328e72877 <evq_flush+695> 0x0000558328e7283d <+637>: lea 0x30(%rsp),%rbp 0x0000558328e72842 <+642>: mov %rbp,%rdi 0x0000558328e72845 <+645>: call 0x558328bc82b0 <sigemptyset@plt> 0x0000558328e7284a <+650>: mov $0x1c,%esi 0x0000558328e7284f <+655>: mov %rbp,%rdi 0x0000558328e72852 <+658>: call 0x558328bc8d40 <sigaddset@plt> 0x0000558328e72857 <+663>: mov $0x1d,%esi 0x0000558328e7285c <+668>: mov %rbp,%rdi 0x0000558328e7285f <+671>: call 0x558328bc8d40 <sigaddset@plt> 0x0000558328e72864 <+676>: xor %edx,%edx 0x0000558328e72866 <+678>: mov %rbp,%rsi 0x0000558328e72869 <+681>: xor %edi,%edi 0x0000558328e7286b <+683>: call 0x558328bc58f0 <pthread_sigmask@plt> 0x0000558328e72870 <+688>: movb $0x1,0x55b8e1(%rip) # 0x5583293ce158 <interrupts_deferred> 0x0000558328e72877 <+695>: cmpb $0x0,0x55b8d2(%rip) # 0x5583293ce150 <interrupt_input> 0x0000558328e7287e <+702>: jne 0x558328e72679 <evq_flush+185> 0x0000558328e72884 <+708>: incl 0x56ef22(%rip) # 0x5583293e17ac <poll_suppress_count> 0x0000558328e7288a <+714>: jmp 0x558328e72679 <evq_flush+185> 0x0000558328e7288f <+719>: xor %r14d,%r14d 0x0000558328e72892 <+722>: data16 cs nopw 0x0(%rax,%rax,1) 0x0000558328e7289d <+733>: nopl (%rax) 0x0000558328e728a0 <+736>: mov 0xb8(%rsp),%rdx 0x0000558328e728a8 <+744>: sub %fs:0x28,%rdx 0x0000558328e728b1 <+753>: jne 0x558328e72a78 <evq_flush+1208> 0x0000558328e728b7 <+759>: add $0xc8,%rsp 0x0000558328e728be <+766>: mov %r14d,%eax 0x0000558328e728c1 <+769>: pop %rbx 0x0000558328e728c2 <+770>: pop %rbp 0x0000558328e728c3 <+771>: pop %r12 0x0000558328e728c5 <+773>: pop %r13 0x0000558328e728c7 <+775>: pop %r14 0x0000558328e728c9 <+777>: pop %r15 0x0000558328e728cb <+779>: ret 0x0000558328e728cc <+780>: nopl 0x0(%rax) 0x0000558328e728d0 <+784>: xor %r15d,%r15d 0x0000558328e728d3 <+787>: jmp 0x558328e72738 <evq_flush+376> 0x0000558328e728d8 <+792>: and $0x60,%esi 0x0000558328e728db <+795>: je 0x558328e727f0 <evq_flush+560> 0x0000558328e728e1 <+801>: or %edi,%eax 0x0000558328e728e3 <+803>: or $0x4000000,%eax 0x0000558328e728e8 <+808>: cmp %r15d,%eax 0x0000558328e728eb <+811>: jne 0x558328e727b9 <evq_flush+505> 0x0000558328e728f1 <+817>: mov 0x10(%rsp),%rsi 0x0000558328e728f6 <+822>: cmpb $0x0,0x56e8b3(%rip) # 0x5583293e11b0 <single_kboard.lto_priv.0> 0x0000558328e728fd <+829>: mov 0x1cb(%rsi),%rax 0x0000558328e72904 <+836>: mov 0x48(%rax),%r13 0x0000558328e72908 <+840>: je 0x558328e72913 <evq_flush+851> 0x0000558328e7290a <+842>: cmp 0x56e8cf(%rip),%r13 # 0x5583293e11e0 <current_kboard> 0x0000558328e72911 <+849>: jne 0x558328e72977 <evq_flush+951> 0x0000558328e72913 <+851>: test %rbx,%rbx 0x0000558328e72916 <+854>: je 0x558328e7294c <evq_flush+908> 0x0000558328e72918 <+856>: vmovdqa 0x20(%rsp),%xmm6 0x0000558328e7291e <+862>: vmovdqa 0x10(%rsp),%xmm7 0x0000558328e72924 <+868>: movw $0x1,(%rbx) 0x0000558328e72929 <+873>: mov %r12,0x20(%rbx) 0x0000558328e7292d <+877>: mov %rbp,0x38(%rbx) 0x0000558328e72931 <+881>: vmovq %xmm1,0x4(%rbx) 0x0000558328e72936 <+886>: vpextrw $0x1,%xmm0,0x2(%rbx) 0x0000558328e7293d <+893>: vmovdqu %xmm6,0x10(%rbx) 0x0000558328e72942 <+898>: vmovdqu %xmm7,0x28(%rbx) 0x0000558328e72947 <+903>: jmp 0x558328e726c4 <evq_flush+260> 0x0000558328e7294c <+908>: mov 0x2b(%rsi),%rax 0x0000558328e72950 <+912>: test %rax,%rax 0x0000558328e72953 <+915>: cmove %rsi,%rax 0x0000558328e72957 <+919>: xor %edi,%edi 0x0000558328e72959 <+921>: mov %rax,0x56e888(%rip) # 0x5583293e11e8 <internal_last_event_frame> 0x0000558328e72960 <+928>: mov %rax,0x55bf19(%rip) # 0x5583293ce880 <globals+1536> 0x0000558328e72967 <+935>: call 0x558328cfb630 <handle_interrupt> 0x0000558328e7296c <+940>: mov 0x5e9016(%rip),%edx # 0x55832945b988 <event_q.lto_priv.0+8> 0x0000558328e72972 <+946>: jmp 0x558328e726c4 <evq_flush+260> 0x0000558328e72977 <+951>: mov $0xf210,%edi 0x0000558328e7297c <+956>: call 0x558328d5f240 <list2> 0x0000558328e72981 <+961>: lea 0x2(,%r15,4),%rsi 0x0000558328e72989 <+969>: mov %rax,%rdi 0x0000558328e7298c <+972>: call 0x558328d5f240 <list2> 0x0000558328e72991 <+977>: mov 0x5d2e68(%rip),%rsi # 0x558329445800 <kbd_store_ptr> 0x0000558328e72998 <+984>: lea 0x5d2e21(%rip),%rdi # 0x5583294457c0 <kbd_buffer+262080> 0x0000558328e7299f <+991>: movb $0x1,0xb8(%r13) 0x0000558328e729a7 <+999>: mov %rax,0x40(%r13) 0x0000558328e729ab <+1003>: mov 0x5d2e56(%rip),%rax # 0x558329445808 <kbd_fetch_ptr> 0x0000558328e729b2 <+1010>: movabs $0x400000003f000000,%r8 0x0000558328e729bc <+1020>: movabs $0x400000000b000000,%r10 0x0000558328e729c6 <+1030>: movabs $0x400000000a000000,%r9 0x0000558328e729d0 <+1040>: vpxor %xmm0,%xmm0,%xmm0 0x0000558328e729d4 <+1044>: lea -0x3ffc0(%rdi),%r11 0x0000558328e729db <+1051>: cmp %rsi,%rax 0x0000558328e729de <+1054>: je 0x558328e726be <evq_flush+254> 0x0000558328e729e4 <+1060>: data16 cs nopw 0x0(%rax,%rax,1) 0x0000558328e729ef <+1071>: nop 0x0000558328e729f0 <+1072>: movzwl (%rax),%ecx 0x0000558328e729f3 <+1075>: lea -0xa(%rcx),%edx 0x0000558328e729f6 <+1078>: cmp $0x1,%dx 0x0000558328e729fa <+1082>: jbe 0x558328e72a19 <evq_flush+1113> 0x0000558328e729fc <+1084>: mov 0x28(%rax),%rdx 0x0000558328e72a00 <+1088>: lea -0x5(%rdx),%ecx 0x0000558328e72a03 <+1091>: and $0x7,%ecx 0x0000558328e72a06 <+1094>: jne 0x558328e72a19 <evq_flush+1113> 0x0000558328e72a08 <+1096>: mov -0x5(%rdx),%rcx 0x0000558328e72a0c <+1100>: and %r8,%rcx 0x0000558328e72a0f <+1103>: cmp %r10,%rcx 0x0000558328e72a12 <+1106>: je 0x558328e72a63 <evq_flush+1187> 0x0000558328e72a14 <+1108>: cmp %r9,%rcx 0x0000558328e72a17 <+1111>: je 0x558328e72a3e <evq_flush+1150> 0x0000558328e72a19 <+1113>: cmp %rdi,%rax 0x0000558328e72a1c <+1116>: je 0x558328e72a2c <evq_flush+1132> 0x0000558328e72a1e <+1118>: add $0x40,%rax 0x0000558328e72a22 <+1122>: cmp %rsi,%rax 0x0000558328e72a25 <+1125>: jne 0x558328e729f0 <evq_flush+1072> 0x0000558328e72a27 <+1127>: jmp 0x558328e726be <evq_flush+254> 0x0000558328e72a2c <+1132>: cmp %r11,%rsi 0x0000558328e72a2f <+1135>: je 0x558328e726be <evq_flush+254> 0x0000558328e72a35 <+1141>: lea 0x592dc4(%rip),%rax # 0x558329405800 <kbd_buffer> 0x0000558328e72a3c <+1148>: jmp 0x558328e729f0 <evq_flush+1072> 0x0000558328e72a3e <+1150>: mov 0x1cb(%rdx),%rdx 0x0000558328e72a45 <+1157>: test %rdx,%rdx 0x0000558328e72a48 <+1160>: je 0x558328e72a19 <evq_flush+1113> 0x0000558328e72a4a <+1162>: cmp 0x48(%rdx),%r13 0x0000558328e72a4e <+1166>: jne 0x558328e72a19 <evq_flush+1113> 0x0000558328e72a50 <+1168>: movw $0x0,(%rax) 0x0000558328e72a55 <+1173>: vmovdqu %xmm0,0x28(%rax) 0x0000558328e72a5a <+1178>: mov 0x5d2d9f(%rip),%rsi # 0x558329445800 <kbd_store_ptr> 0x0000558328e72a61 <+1185>: jmp 0x558328e72a19 <evq_flush+1113> 0x0000558328e72a63 <+1187>: mov 0x3(%rdx),%rdx 0x0000558328e72a67 <+1191>: lea -0x5(%rdx),%ecx 0x0000558328e72a6a <+1194>: and $0x7,%ecx 0x0000558328e72a6d <+1197>: jne 0x558328e72a19 <evq_flush+1113> 0x0000558328e72a6f <+1199>: mov -0x5(%rdx),%rcx 0x0000558328e72a73 <+1203>: and %r8,%rcx 0x0000558328e72a76 <+1206>: jmp 0x558328e72a14 <evq_flush+1108> 0x0000558328e72a78 <+1208>: call 0x558328bc6230 <__stack_chk_fail@plt> 0x0000558328e72a7d <+1213>: jmp 0x558328bd7dce <evq_flush.cold> Address range 0x558328bd7dce to 0x558328bd7dd3: 0x0000558328bd7dce <-2729970>: call 0x558328bceaed <emacs_abort> End of assembler dump. (gdb) ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2023-05-26 3:29 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-05-20 18:52 bug#63614: 29.0.91; PGTK Emacs crashes after clearing the clipboard Leonardo Hernández via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-21 0:51 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-21 4:30 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-21 5:11 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-21 6:42 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-22 1:11 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-24 6:37 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-24 6:50 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-25 5:34 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-25 6:13 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-25 6:48 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-25 10:35 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-25 20:27 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-26 0:33 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-26 2:01 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-26 3:24 ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors 2023-05-26 3:29 ` leohdz172--- via Bug reports for GNU Emacs, the Swiss army knife of text editors
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).