GNU logs - #60144, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60144: 30.0.50; PGTK Emacs crashes after signal
Resent-From: Karl Otness <karl@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 17 Dec 2022 03:40:01 +0000
Resent-Message-ID: <handler.60144.B.16712483944643 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 60144
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 60144 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.16712483944643
          (code B ref -1); Sat, 17 Dec 2022 03:40:01 +0000
Received: (at submit) by debbugs.gnu.org; 17 Dec 2022 03:39:54 +0000
Received: from localhost ([127.0.0.1]:53388 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6O3F-0001Cp-Bx
	for submit <at> debbugs.gnu.org; Fri, 16 Dec 2022 22:39:53 -0500
Received: from lists.gnu.org ([209.51.188.17]:52848)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <karl@HIDDEN>) id 1p6O3D-0001Cj-W5
 for submit <at> debbugs.gnu.org; Fri, 16 Dec 2022 22:39:52 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <karl@HIDDEN>)
 id 1p6O3C-00030x-EJ
 for bug-gnu-emacs@HIDDEN; Fri, 16 Dec 2022 22:39:51 -0500
Received: from mail-qt1-x82d.google.com ([2607:f8b0:4864:20::82d])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <karl@HIDDEN>)
 id 1p6O39-0004td-OO
 for bug-gnu-emacs@HIDDEN; Fri, 16 Dec 2022 22:39:49 -0500
Received: by mail-qt1-x82d.google.com with SMTP id c7so4285539qtw.8
 for <bug-gnu-emacs@HIDDEN>; Fri, 16 Dec 2022 19:39:45 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=karlotness.com; s=google;
 h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
 :date:message-id:reply-to;
 bh=YhxAER2qoCCkvL7EUKz0FDdJ9BoF7rUY0nvKHejjiQo=;
 b=sZjcliH2W29lv3CmGtm54vePRid5+kVdC9QubD1cTbMO81jDzbfjfczw5tuKTw7mTb
 rHoCG2fjHbA+JHpPU+b6x6Jqx09IGanGpV4uRjHBSa8plkMbodj8a0SJy/5fcY4ECDMb
 wqFw/jHgyKpsLxA9MF1tfLCTOwE3L/Q4op2X5W2FQP5w+GLooe38pRxJabHR1B1bOVLq
 H+VPnEnFSvkWiDEG4ckUa2X8Ty8/doTFt4vEukNlChyImFvHYfH7VA+unpKT99iI8V89
 uyAZhCVgG94aSuY13vdrnVvqok/Hu8OxYflCTRlJ2xuMmkI6CyhsBi1vIIgQf2ybegRt
 T6vw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=YhxAER2qoCCkvL7EUKz0FDdJ9BoF7rUY0nvKHejjiQo=;
 b=Oa6F+NWAIW4q/QFwH4nHvMOK7sW4dzgfhijDeCXKSq4HA/JiwDBqPNZRkSZ25dkByr
 hZAsGoN2aPTe+LjSluipCOWLfKwRJAyLQxfc1MfQEjrQkPZxlCg8l4mnLOLROm+EXp73
 5G0QL9LD3pTK7KRL81w3BiNw1VcvEU1+wfN9BygnYcGsQjgZkEMjnhuEyAeFwo7hZmOx
 X/sU/A8ZZgskiluoFT1Y7erIqCXmZ2XX+APX620Rez/pUcExTDB8w5Xh2fl3r3lvPF+8
 /qzmLnuwZuOKJtrjEkLElx3pxIPzWnbxlBbpOpMyeNrvgzrJSwOMDAEkS6H7/IqzXX5J
 hKrw==
X-Gm-Message-State: ANoB5pm/YkcFc3dJnMn/dynu4KecHUwCikUCUrVXKTCXnDMu6d8vdyxJ
 5IHZ9SIrPaXSSCLvD7EVhaFc2riv79TjC4DG
X-Google-Smtp-Source: AA0mqf4x2qedWI41pnvflMaefMPzuFLs3dw/4E1/x8OQIxlPfmrrFTwqg3Sf2E9Dn5PJVOXANpiRjA==
X-Received: by 2002:ac8:5f93:0:b0:3a7:ff9c:3f92 with SMTP id
 j19-20020ac85f93000000b003a7ff9c3f92mr53140694qta.22.1671248384778; 
 Fri, 16 Dec 2022 19:39:44 -0800 (PST)
Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com.
 [209.85.128.177]) by smtp.gmail.com with ESMTPSA id
 e21-20020ac845d5000000b003431446588fsm2419852qto.5.2022.12.16.19.39.44
 for <bug-gnu-emacs@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 16 Dec 2022 19:39:44 -0800 (PST)
Received: by mail-yw1-f177.google.com with SMTP id
 00721157ae682-3e45d25de97so58716797b3.6
 for <bug-gnu-emacs@HIDDEN>; Fri, 16 Dec 2022 19:39:44 -0800 (PST)
X-Received: by 2002:a81:408:0:b0:3d1:e5f8:ebef with SMTP id
 8-20020a810408000000b003d1e5f8ebefmr1080676ywe.185.1671248383714; Fri, 16 Dec
 2022 19:39:43 -0800 (PST)
MIME-Version: 1.0
From: Karl Otness <karl@HIDDEN>
Date: Fri, 16 Dec 2022 22:39:27 -0500
X-Gmail-Original-Message-ID: <CAGk_8X+jaz1kOcxx3j4kY3NN2UzWBX7_8+2eX3h7SR9gt-Cz4w@HIDDEN>
Message-ID: <CAGk_8X+jaz1kOcxx3j4kY3NN2UzWBX7_8+2eX3h7SR9gt-Cz4w@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=2607:f8b0:4864:20::82d;
 envelope-from=karl@HIDDEN; helo=mail-qt1-x82d.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

Hello, I have been having issues with unpredictable crashes running
Emacs master with PGTK on Wayland. This looks somewhat similar to
bug#59452.

Like that bug, it seems to be caused by an Emacs signal happening in a
GTK callback. It works its way to get_char_property_and_overlay
(textprop.c:644), signals, which longjmps out of the GLib/GObject
signal handling (g_signal_emit) leading to memory corruption and a
segfault.

Backtraces below. The segfault happens after continuing. Seems like
after continuing it reenters g_signal_emit and follows a corrupted
pointer in a linked list of signals to dispatch.

Unfortunately I don't have a good recipe for reliably reproducing it.
I've only seen it happen in buffers with eglot enabled (so far C++
buffers) when clicking around, typing, messing with the eglot menu,
etc.

This is for an Emacs from recent master.
Version: 30.0.50
Commit: 1568123196cd8b57ed64e284b7deb058026be713

Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-pgtk --with-native-compilation
 --without-sound --with-harfbuzz --without-m17n-flt --without-xft
 --with-libotf --with-cairo --with-modules --without-gconf
 --without-gsettings --with-gameuser=:games --without-imagemagick
 --with-dumping=pdumper --with-sqlite3 --with-json --with-tree-sitter
 '--program-transform-name=s/^ctags$/ctags.emacs/' 'CFLAGS=-g -ggdb -O3
 -pipe -fno-plt -fstack-protector-all -fstack-clash-protection
 -fcf-protection=full -fPIE -D_FORTIFY_SOURCE=3 -march=native
 -mtune=native' 'LDFLAGS=-pie
 -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now,-z,noexecstack''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ JPEG JSON LCMS2
LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER
PGTK PNG RSVG SECCOMP SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
TREE_SITTER WEBP XIM GTK3 ZLIB

Let me know if there's anything else I can gather that might be
helpful.

Thanks,
Karl

Here's the backtrace for the signal out of the event handling. From
GDB with a breakpoint on Fsignal and a condition
'$_any_caller_is("g_signal_emit", 20)'

> #0  Fsignal (error_symbol=error_symbol@entry=0x2f40, data=0x55bed53eeac3) at eval.c:1681
> #1  0x000055bece1213bf in xsignal (data=<optimized out>, error_symbol=0x2f40) at emacs/src/lisp.h:4558
> #2  xsignal1 (error_symbol=error_symbol@entry=0x2f40, arg=arg@entry=0x82) at eval.c:1878
> #3  0x000055bece1253e3 in get_char_property_and_overlay (position=0x82, prop=0x5a90, object=0x7f105451a265, overlay=0x0) at textprop.c:644
> #4  0x000055bece156110 in string_buffer_position_lim (string=string@entry=0x55bed52e8b24, from=from@entry=32, to=to@entry=1032, back_p=back_p@entry=false) at xdisp.c:6246
> #5  0x000055bece1561fa in string_buffer_position (string=0x55bed52e8b24, around_charpos=32) at xdisp.c:6284
> #6  0x000055bece1aaddb in note_mouse_highlight (f=f@entry=0x55bed1a839e8, x=<optimized out>, y=<optimized out>) at xdisp.c:35339
> #7  0x000055bece4039ac in note_mouse_movement (event=0x55bed1ce6030, frame=0x55bed1a839e8) at pgtkterm.c:5821
> #8  motion_notify_event (widget=widget@entry=0x55bed2024130, event=0x55bed1ce6030, user_data=<optimized out>) at pgtkterm.c:5905
> #9  0x00007f105c684fd8 in _gtk_marshal_BOOLEAN__BOXED (closure=0x55bed1ef9f40, return_value=0x7ffebc5ae480, n_param_values=<optimized out>, param_values=0x7ffebc5ae4e0, invocation_hint=<optimized out>, marshal_data=<optimized out>)
>     at gtk/gtkmarshalers.c:84
> #10 0x00007f105c095210 in g_closure_invoke (closure=0x55bed1ef9f40, return_value=0x7ffebc5ae480, n_param_values=2, param_values=0x7ffebc5ae4e0, invocation_hint=0x7ffebc5ae460) at ../glib/gobject/gclosure.c:832
> #11 0x00007f105c0c2ea8 in signal_emit_unlocked_R.isra.0
>     (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x55bed2024130, emission_return=emission_return@entry=0x7ffebc5ae5f0, instance_and_params=instance_and_params@entry=0x7ffebc5ae4e0)
>     at ../glib/gobject/gsignal.c:3796
> #12 0x00007f105c0b2980 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffebc5ae6a0) at ../glib/gobject/gsignal.c:3559
> #13 0x00007f105c0b3204 in g_signal_emit (instance=instance@entry=0x55bed2024130, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3606
> #14 0x00007f105c9447f5 in gtk_widget_event_internal.part.0.lto_priv.0 (widget=0x55bed2024130, event=0x55bed1ce6030) at ../gtk/gtk/gtkwidget.c:7812
> #15 0x00007f105c7e20db in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x55bed2024130) at ../gtk/gtk/gtkmain.c:2588
> #16 propagate_event (widget=widget@entry=0x55bed2024130, event=event@entry=0x55bed1ce6030, captured=captured@entry=0, topmost=topmost@entry=0x0) at ../gtk/gtk/gtkmain.c:2691
> #17 0x00007f105c7e2212 in gtk_propagate_event (widget=widget@entry=0x55bed2024130, event=event@entry=0x55bed1ce6030) at ../gtk/gtk/gtkmain.c:2725
> #18 0x00007f105c7e2fbb in gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1921
> #19 gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1691
> #20 0x00007f105c542cd3 in _gdk_event_emit (event=0x55bed1ce6030) at ../gtk/gdk/gdkevents.c:73
> #21 _gdk_event_emit (event=0x55bed1ce6030) at ../gtk/gdk/gdkevents.c:67
> #22 0x00007f105c576d48 in gdk_event_source_dispatch (base=<optimized out>, callback=<optimized out>, data=<optimized out>) at ../gtk/gdk/wayland/gdkeventsource.c:124
> #23 0x00007f105bf9787b in g_main_dispatch (context=0x55bed0cc5940) at ../glib/glib/gmain.c:3444
> #24 g_main_context_dispatch (context=0x55bed0cc5940) at ../glib/glib/gmain.c:4162
> #25 0x000055bece3feea9 in pgtk_read_socket (terminal=<optimized out>, hold_quit=0x7ffebc5ae9f0) at pgtkterm.c:3839
> #26 pgtk_read_socket (terminal=<optimized out>, hold_quit=0x7ffebc5ae9f0) at pgtkterm.c:3818
> #27 0x000055bece251ae1 in gobble_input () at keyboard.c:7417
> #28 0x000055bece254901 in handle_async_input () at keyboard.c:7648
> #29 process_pending_signals () at keyboard.c:7662
> #30 unblock_input_to (level=0) at keyboard.c:7677
> #31 unblock_input_to (level=<optimized out>) at keyboard.c:7671
> #32 unblock_input () at keyboard.c:7696
> #33 timer_check () at keyboard.c:4742
> #34 0x000055bece254bcd in readable_events (flags=1) at keyboard.c:3524
> #35 0x000055bece25a624 in get_input_pending (flags=1) at keyboard.c:7367
> #36 detect_input_pending_run_timers (do_display=do_display@entry=true) at keyboard.c:10897
> #37 0x000055bece38962f in wait_reading_process_output
>     (time_limit=time_limit@entry=0, nsecs=nsecs@entry=0, read_kbd=read_kbd@entry=-1, do_display=<optimized out>, wait_for_cell=wait_for_cell@entry=0x0, wait_proc=wait_proc@entry=0x0, just_wait_proc=<optimized out>) at process.c:5779
> #38 0x000055bece25271c in kbd_buffer_get_event (end_time=0x0, used_mouse_menu=0x7ffebc5af64b, kbp=<synthetic pointer>) at keyboard.c:4003
> #39 read_event_from_main_queue (used_mouse_menu=0x7ffebc5af64b, local_getcjmp=0x7ffebc5af3c0, end_time=0x0) at keyboard.c:2270
> #40 read_decoded_event_from_main_queue (end_time=0x0, local_getcjmp=0x7ffebc5af3c0, prev_event=0x0, used_mouse_menu=0x7ffebc5af64b) at keyboard.c:2334
> #41 0x000055bece25b904 in read_char (commandflag=1, map=0x55bed51362e3, prev_event=0x0, used_mouse_menu=0x7ffebc5af64b, end_time=0x0) at keyboard.c:2964
> #42 0x000055bece2600b7 in read_key_sequence (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:10074
> #43 0x000055bece262141 in command_loop_1 () at keyboard.c:1376
> #44 0x000055bece3055bf in internal_condition_case (bfun=bfun@entry=0x55bece261f70 <command_loop_1>, handlers=handlers@entry=0x90, hfun=hfun@entry=0x55bece248c70 <cmd_error>) at eval.c:1474
> #45 0x000055bece24682f in command_loop_2 (handlers=handlers@entry=0x90) at keyboard.c:1125
> #46 0x000055bece3054e5 in internal_catch (tag=tag@entry=0xfb10, func=func@entry=0x55bece2467f0 <command_loop_2>, arg=arg@entry=0x90) at eval.c:1197
> #47 0x000055bece2467bb in command_loop () at keyboard.c:1103
> #48 0x000055bece24ee1d in recursive_edit_1 () at keyboard.c:712
> #49 0x000055bece24f269 in Frecursive_edit () at keyboard.c:795
> #50 0x000055bece128b15 in main (argc=<optimized out>, argv=0x7ffebc5afc88) at emacs.c:2529

and the stack trace after the longjmp (unwinds all the way to
internal_condition_case):

> #0  0x000055bece305577 in internal_condition_case
>     (bfun=bfun@entry=0x55bece261f70 <command_loop_1>, handlers=handlers@entry=0x90, hfun=hfun@entry=0x55bece248c70 <cmd_error>) at eval.c:1465
> #1  0x000055bece24682f in command_loop_2 (handlers=handlers@entry=0x90) at keyboard.c:1125
> #2  0x000055bece3054e5 in internal_catch
>     (tag=tag@entry=0xfb10, func=func@entry=0x55bece2467f0 <command_loop_2>, arg=arg@entry=0x90) at eval.c:1197
> #3  0x000055bece2467bb in command_loop () at keyboard.c:1103
> #4  0x000055bece24ee1d in recursive_edit_1 () at keyboard.c:712
> #5  0x000055bece24f269 in Frecursive_edit () at keyboard.c:795
> #6  0x000055bece128b15 in main (argc=<optimized out>, argv=0x7ffebc5afc88) at emacs.c:2529




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Karl Otness <karl@HIDDEN>
Subject: bug#60144: Acknowledgement (30.0.50; PGTK Emacs crashes after signal)
Message-ID: <handler.60144.B.16712483944643.ack <at> debbugs.gnu.org>
References: <CAGk_8X+jaz1kOcxx3j4kY3NN2UzWBX7_8+2eX3h7SR9gt-Cz4w@HIDDEN>
X-Gnu-PR-Message: ack 60144
X-Gnu-PR-Package: emacs
Reply-To: 60144 <at> debbugs.gnu.org
Date: Sat, 17 Dec 2022 03:40:01 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 60144 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
60144: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D60144
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60144: 30.0.50; PGTK Emacs crashes after signal
Resent-From: Po Lu <luangruo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 18 Dec 2022 02:10:02 +0000
Resent-Message-ID: <handler.60144.B60144.167132935927812 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60144
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Karl Otness <karl@HIDDEN>
Cc: 60144 <at> debbugs.gnu.org
Received: via spool by 60144-submit <at> debbugs.gnu.org id=B60144.167132935927812
          (code B ref 60144); Sun, 18 Dec 2022 02:10:02 +0000
Received: (at 60144) by debbugs.gnu.org; 18 Dec 2022 02:09:19 +0000
Received: from localhost ([127.0.0.1]:59256 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6j79-0007EW-FB
	for submit <at> debbugs.gnu.org; Sat, 17 Dec 2022 21:09:19 -0500
Received: from sonic303-20.consmr.mail.ne1.yahoo.com ([66.163.188.146]:37696)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <luangruo@HIDDEN>) id 1p6j76-0007EQ-8Z
 for 60144 <at> debbugs.gnu.org; Sat, 17 Dec 2022 21:09:18 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1671329347; bh=QvHoVfqJo/8+TVQJB0Q+Zo4bXOXK2W7Xz9etfMB9DZ4=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To;
 b=RLtMNSjQkQWcTiF/IM8LAO6cnt+lML8QEGvijFErqJK4KMJDXDnBq3DJzIoJPsK7YjBNtU4Z+PRy9WeCkM+k9Bhr7UCZY0/NGC1eGQTNG9wXJ1U8JftTXIGp4uUjJaNyZoA1QyBTjNEWLQB1HboVzfHEA+zD92hCPb6FAwJWqbThc8HX+MiLjsrWr3Ic4vpo9jHlRUNWpz+Od8hw61RZqXv9H2ttAXhGcL2vTWk826vmubcBjo8IVxXYq0vB4FSW+VhjOvaXSReXGt+BGP2QE3fFXyA1Rm7LDRibqHqRTQnbMyJkhasU5yLee9lQ86BVzaW3FqTd8LTmG4CCQ1KaTQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1671329347; bh=t4LWrWla8t98/gS4TQlRlKEbud/rRCvACwON8A6MiRw=;
 h=X-Sonic-MF:From:To:Subject:Date:From:Subject;
 b=uLPI18PAV+R8Rk9y9jOQVICz35rirPM/f7NAckWtAyx+QF6YlP0fBGJIWiekenjV3Gkm3506GR0vy67imWf23RGM8ocumXDiwoXCWLabSLiDzqPHbYQlNtRIbl9D5pPPOGXIGBI9PECLsIGh5/QHs6FRqfkMXZmjP5IGfjWJv1hRTaiG5MFyWBOXc0B3JC+MBKhLHRO3AEJYqKFC1psKez2D+39SdcrzFqmVh9K2+ebrdcro2yhFgU4EmJV7qLL5nPhMgVYgQ/lIBBIRuFRnQMARMwaOI614jorB/mGUjkildiG/dGQvKfsrZ0lbHKoRvnA3RgBi93oonQ4EltcjVA==
X-YMail-OSG: 1L5fBBMVM1k_UbH2IMAHkVlNSFPG5l7GRgFfiyG2LJ6Zcw0.haYrJRDEzCVIlKt
 71BUsMjENdnwdj1U7lu6wOy7JQDOBvsOoHqgMeKkkcpTgKv7GTidUiaAPlbBaEHH55b0RoM2lxaJ
 8O0RaTEgcR6UmZ5tGDlHcqgAyiBVtAy57D72oULpsX901YD9K_3fWofQp3RmZPNCBv4X74Yf6Q4Z
 3zzg.sZFVyMLkHnzlDC92.C4KI_9rIk1OIArX3PlkgEdrTrfEC2y2_Dcy37dUdJFQYfkMqkY2ZSe
 fIyr.O8XrRR97AjgpzmtTvP5WbyYllfoAVznmIiZo76OiMJct6DHS7ZuNeCNWQl.5KFqc9VvpXyW
 5xObykAS7rV.541FcOzHXdGpOe9UCs6Ci0.S55.s3jms3p4zn8CGHpGNRDOaIQPcn6FuXxcM8h3F
 JzKM.9JH0vajo57F2SVOQHchNxy7al4Japql4JjUen_IrX6sgHiKOIeiz_c.V7ZlJxrcCXYm9pHM
 E0pp96hIxKMhbyC2hzfx6gZvF1sdfrcvFL6UNJSnpcw02uFc_cnt3jMQk1rjOePYT.b.QHtRrTrK
 pubYNdQc9yYaahvkS6jxNfpPLoCstby0Tojoc.6pDlJPvSGrvRus1_PHcRa4a2rqG9B7ooBb3J9J
 4aCkXkrJ7Lj_9KpGlC6FKOzdZFkf5Vx8ClcHtlLH3fEES9cTAlD.UuJ1IVwfu1fmSQyPCX9IzbI4
 28_Igvyj_nAt2aA2Q5B1E0BPVZPpcK2sTe6H_pEAgowu3M0fxGe4PhbLnsjx3EijrA4wvqzQanxx
 h7NNixNch8NxornR4j3OUWrEQDyOLwX2R6Ki_o74D7nC0eBxeu8R1MDeFI9LURKK1sUJnvl8T2z_
 ghgkL80iskga8saLtL.dlDjiovbN_sye5JgHE26XStL15zmGmPi8CMB5vvF89jzoyW9J6wjugI_T
 PF6.M_y2F2Axc6OaeQHlX8MxVhBfzmLAvKUMTJpl_gAhoMJHFW4.KA1Z_7eDV.aYVrvUZErAD5dI
 lnptoOJNF9LCmUoFBQsOrLbymaN.MR_dXSL16x09.f0iCloPthruQTt71RwqZuaG2Al7XlnOOAu1
 YG8kPcAsu9.i0rhnZk3bCniutdxUFnaxfpEizMkrn78XBVZvXvvUiuUp40UfujPFGbo913t5XUYD
 qGnq74N0Lt9N7QN8RVE.eLwYkvHoZeCLCfHIlBgxBOqvp46hZpSnBIkt0izTdJBz1ov5H7vMWkps
 t8OilxrFWZAfhHenbXg6X3ivCf.vWliKCJxn.YBAuaZbwmTjNprjgv22liT5iLYuIK6BAe0OXes8
 EmMu94lRDl5k2Va9i4EZxMdR9DKpt.ZvpaUjPnTqsgxkkVa7AuWKTZebdvzO.RpnRk8Ei2P_sHhQ
 woIODqXOmifO3MVnj.H1W.XvPYT7Jjb4tpg95netkXSTfdvpXGHbx7gw.9lnVWNWrQY7rfaAPqA1
 fFKRaesk5Fdzj.Ho2491pM6n_ee1ETxg88nJXz5JlFJmwd9Vc.VXy.VY2jGVjoO7VyLH70IkhBLa
 r8aAkW_Y6oe_MRmBCbJgIfhwEdkWXfbG1cpMB8HxCeZ11pmb31uyjAYjUJLs1SM93116UDufgFFS
 Vzm4C7Msvu1YZg7yemTBPKwQX5jiBwtA0UyKX_m8X3G__DoP_t180OnpAskxPLDRlDGiCAhuxMwj
 WaXMi6iI.qrkqG7q2M9m_ZldLcHNA9BLJxdjmN1bt3gw.eEoD_R8VPugfLynVFBxyZaJr2mtblne
 I7Xa.q0kt57EW.Vbz0eNHxR6cyGrj2O9K6ckjudtLALM2xDcQvebUyQHT_KXw_m6Yt8gQAQHDB2u
 ptfdfQcy2Rmf27RI.y4NyBTfhnWruqStOiNBa8VguuJN6YJgpvxF7lInMzZ62iYjqEd6nC.n5oO.
 zr37LZnPhlCsJn9ajOMhNqzYCsr9GkHHi1klHm9dYHNVEF2caII4I2.PGoeCHxwoQ.eP0Qmxp7It
 hQmi5qXYrjoDAu9afgP.f56G27mkIiCenVd_MhKn4ExHj3pYsuFAqlQCkyHXPqVZAbYWM15h6OLT
 jAHJSA5FGZAYbftvABREJr_35Uyf8VisDZ_Are1c5WdZO0.U9PQuQcbVowv3fMY9RQKuAg7ueswm
 QPaperXVDTl3cUlh7CI1UNQaJHDkRMnfq9GXzYPJfuAW.1lGYvTsT1.UT3_Wruq5p4iR6SEBj3dF
 awH3AXwFjxeSgXglZFccOxKYGeTrmjrqOb4lwKsOu1YQ1tTnzTZBpBKTptbfd.OOJ
X-Sonic-MF: <luangruo@HIDDEN>
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic303.consmr.mail.ne1.yahoo.com with HTTP; Sun, 18 Dec 2022 02:09:07 +0000
Received: by hermes--production-sg3-b666c6484-p5z8r (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 904ab6e67e9a388060da983e0f66e520; 
 Sun, 18 Dec 2022 02:09:05 +0000 (UTC)
From: Po Lu <luangruo@HIDDEN>
In-Reply-To: <CAGk_8X+jaz1kOcxx3j4kY3NN2UzWBX7_8+2eX3h7SR9gt-Cz4w@HIDDEN>
 (Karl Otness's message of "Fri, 16 Dec 2022 22:39:27 -0500")
References: <CAGk_8X+jaz1kOcxx3j4kY3NN2UzWBX7_8+2eX3h7SR9gt-Cz4w@HIDDEN>
Date: Sun, 18 Dec 2022 10:08:59 +0800
Message-ID: <87edsxfop0.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Mailer: WebService/1.1.20982
 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo
Content-Length: 3430
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Karl Otness <karl@HIDDEN> writes:

>> #0  Fsignal (error_symbol=error_symbol@entry=0x2f40, data=0x55bed53eeac3) at eval.c:1681
>> #1  0x000055bece1213bf in xsignal (data=<optimized out>, error_symbol=0x2f40) at emacs/src/lisp.h:4558
>> #2  xsignal1 (error_symbol=error_symbol@entry=0x2f40, arg=arg@entry=0x82) at eval.c:1878
>> #3  0x000055bece1253e3 in get_char_property_and_overlay (position=0x82, prop=0x5a90, object=0x7f105451a265, overlay=0x0) at textprop.c:644
>> #4  0x000055bece156110 in string_buffer_position_lim (string=string@entry=0x55bed52e8b24, from=from@entry=32, to=to@entry=1032, back_p=back_p@entry=false) at xdisp.c:6246
>> #5  0x000055bece1561fa in string_buffer_position (string=0x55bed52e8b24, around_charpos=32) at xdisp.c:6284
>> #6  0x000055bece1aaddb in note_mouse_highlight (f=f@entry=0x55bed1a839e8, x=<optimized out>, y=<optimized out>) at xdisp.c:35339
>> #7  0x000055bece4039ac in note_mouse_movement (event=0x55bed1ce6030, frame=0x55bed1a839e8) at pgtkterm.c:5821
>> #8  motion_notify_event (widget=widget@entry=0x55bed2024130, event=0x55bed1ce6030, user_data=<optimized out>) at pgtkterm.c:5905
>> #9  0x00007f105c684fd8 in _gtk_marshal_BOOLEAN__BOXED (closure=0x55bed1ef9f40, return_value=0x7ffebc5ae480, n_param_values=<optimized out>, param_values=0x7ffebc5ae4e0, invocation_hint=<optimized out>, marshal_data=<optimized out>)
>>     at gtk/gtkmarshalers.c:84
>> #10 0x00007f105c095210 in g_closure_invoke (closure=0x55bed1ef9f40, return_value=0x7ffebc5ae480, n_param_values=2, param_values=0x7ffebc5ae4e0, invocation_hint=0x7ffebc5ae460) at ../glib/gobject/gclosure.c:832
>> #11 0x00007f105c0c2ea8 in signal_emit_unlocked_R.isra.0
>>     (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x55bed2024130, emission_return=emission_return@entry=0x7ffebc5ae5f0, instance_and_params=instance_and_params@entry=0x7ffebc5ae4e0)
>>     at ../glib/gobject/gsignal.c:3796
>> #12 0x00007f105c0b2980 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffebc5ae6a0) at ../glib/gobject/gsignal.c:3559
>> #13 0x00007f105c0b3204 in g_signal_emit (instance=instance@entry=0x55bed2024130, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3606
>> #14 0x00007f105c9447f5 in gtk_widget_event_internal.part.0.lto_priv.0 (widget=0x55bed2024130, event=0x55bed1ce6030) at ../gtk/gtk/gtkwidget.c:7812
>> #15 0x00007f105c7e20db in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x55bed2024130) at ../gtk/gtk/gtkmain.c:2588
>> #16 propagate_event (widget=widget@entry=0x55bed2024130, event=event@entry=0x55bed1ce6030, captured=captured@entry=0, topmost=topmost@entry=0x0) at ../gtk/gtk/gtkmain.c:2691
>> #17 0x00007f105c7e2212 in gtk_propagate_event (widget=widget@entry=0x55bed2024130, event=event@entry=0x55bed1ce6030) at ../gtk/gtk/gtkmain.c:2725
>> #18 0x00007f105c7e2fbb in gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1921
>> #19 gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1691
>> #20 0x00007f105c542cd3 in _gdk_event_emit (event=0x55bed1ce6030) at ../gtk/gdk/gdkevents.c:73
>> #21 _gdk_event_emit (event=0x55bed1ce6030) at ../gtk/gdk/gdkevents.c:67

Thanks.  This sounds awfully like another bug that was fixed last month.
Would someone please take a look at this? note_mouse_highlight should
never signal.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60144: 30.0.50; PGTK Emacs crashes after signal
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 18 Dec 2022 05:46:02 +0000
Resent-Message-ID: <handler.60144.B60144.16713423603987 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60144
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Po Lu <luangruo@HIDDEN>
Cc: 60144 <at> debbugs.gnu.org, karl@HIDDEN
Received: via spool by 60144-submit <at> debbugs.gnu.org id=B60144.16713423603987
          (code B ref 60144); Sun, 18 Dec 2022 05:46:02 +0000
Received: (at 60144) by debbugs.gnu.org; 18 Dec 2022 05:46:00 +0000
Received: from localhost ([127.0.0.1]:60100 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6mUq-00012F-1p
	for submit <at> debbugs.gnu.org; Sun, 18 Dec 2022 00:46:00 -0500
Received: from eggs.gnu.org ([209.51.188.92]:48798)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1p6mUm-000127-Lw
 for 60144 <at> debbugs.gnu.org; Sun, 18 Dec 2022 00:45:58 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1p6mUh-0004EL-0a; Sun, 18 Dec 2022 00:45:51 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=hcHmJ8nH0c8oiP1wxECtO1sGmRZr9yvZ1rhj/t86Qeo=; b=OqPzVi11DlOe
 6mLfUfvdXmUGOiynful5b7dkavanDTqvIyZeHEsnUgUMmDHTDoN6fMQkpXkz9GNIJL/uqad84806f
 C2IrzB4APXk8O63CMC2jq0pdz3BlObvk4wQxOohR/6ss7NoRVHOVkou68nR/TDmcysJ9oS78Og665
 QsPzdCo2rKON0junBgeJJwrH2K5H9Qbrpi0srmZWKsVhr82+d4kpLiHsFPGl178OQ9E0G861q8dHj
 CN+oAe3yW9R85SKJMZ05Oa5vUHxwQ81mwPFx4BbCb/b+vYDTRkEBOBH9fIxaDwDy7iDDT4Ph+YUc4
 95jMwup/mDjPAypf27NxSA==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1p6mUf-00008O-Fq; Sun, 18 Dec 2022 00:45:50 -0500
Date: Sun, 18 Dec 2022 07:45:56 +0200
Message-Id: <83359dgt7v.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <87edsxfop0.fsf@HIDDEN> (bug-gnu-emacs@HIDDEN)
References: <CAGk_8X+jaz1kOcxx3j4kY3NN2UzWBX7_8+2eX3h7SR9gt-Cz4w@HIDDEN>
 <87edsxfop0.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: 60144 <at> debbugs.gnu.org
> Date: Sun, 18 Dec 2022 10:08:59 +0800
> From:  Po Lu via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
> Karl Otness <karl@HIDDEN> writes:
> 
> >> #0  Fsignal (error_symbol=error_symbol@entry=0x2f40, data=0x55bed53eeac3) at eval.c:1681
> >> #1  0x000055bece1213bf in xsignal (data=<optimized out>, error_symbol=0x2f40) at emacs/src/lisp.h:4558
> >> #2  xsignal1 (error_symbol=error_symbol@entry=0x2f40, arg=arg@entry=0x82) at eval.c:1878
> >> #3  0x000055bece1253e3 in get_char_property_and_overlay (position=0x82, prop=0x5a90, object=0x7f105451a265, overlay=0x0) at textprop.c:644
> >> #4  0x000055bece156110 in string_buffer_position_lim (string=string@entry=0x55bed52e8b24, from=from@entry=32, to=to@entry=1032, back_p=back_p@entry=false) at xdisp.c:6246
> >> #5  0x000055bece1561fa in string_buffer_position (string=0x55bed52e8b24, around_charpos=32) at xdisp.c:6284
> >> #6  0x000055bece1aaddb in note_mouse_highlight (f=f@entry=0x55bed1a839e8, x=<optimized out>, y=<optimized out>) at xdisp.c:35339
> >> #7  0x000055bece4039ac in note_mouse_movement (event=0x55bed1ce6030, frame=0x55bed1a839e8) at pgtkterm.c:5821
> >> #8  motion_notify_event (widget=widget@entry=0x55bed2024130, event=0x55bed1ce6030, user_data=<optimized out>) at pgtkterm.c:5905
> >> #9  0x00007f105c684fd8 in _gtk_marshal_BOOLEAN__BOXED (closure=0x55bed1ef9f40, return_value=0x7ffebc5ae480, n_param_values=<optimized out>, param_values=0x7ffebc5ae4e0, invocation_hint=<optimized out>, marshal_data=<optimized out>)
> >>     at gtk/gtkmarshalers.c:84
> >> #10 0x00007f105c095210 in g_closure_invoke (closure=0x55bed1ef9f40, return_value=0x7ffebc5ae480, n_param_values=2, param_values=0x7ffebc5ae4e0, invocation_hint=0x7ffebc5ae460) at ../glib/gobject/gclosure.c:832
> >> #11 0x00007f105c0c2ea8 in signal_emit_unlocked_R.isra.0
> >>     (node=<optimized out>, detail=detail@entry=0, instance=instance@entry=0x55bed2024130, emission_return=emission_return@entry=0x7ffebc5ae5f0, instance_and_params=instance_and_params@entry=0x7ffebc5ae4e0)
> >>     at ../glib/gobject/gsignal.c:3796
> >> #12 0x00007f105c0b2980 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffebc5ae6a0) at ../glib/gobject/gsignal.c:3559
> >> #13 0x00007f105c0b3204 in g_signal_emit (instance=instance@entry=0x55bed2024130, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3606
> >> #14 0x00007f105c9447f5 in gtk_widget_event_internal.part.0.lto_priv.0 (widget=0x55bed2024130, event=0x55bed1ce6030) at ../gtk/gtk/gtkwidget.c:7812
> >> #15 0x00007f105c7e20db in propagate_event_up (topmost=<optimized out>, event=<optimized out>, widget=0x55bed2024130) at ../gtk/gtk/gtkmain.c:2588
> >> #16 propagate_event (widget=widget@entry=0x55bed2024130, event=event@entry=0x55bed1ce6030, captured=captured@entry=0, topmost=topmost@entry=0x0) at ../gtk/gtk/gtkmain.c:2691
> >> #17 0x00007f105c7e2212 in gtk_propagate_event (widget=widget@entry=0x55bed2024130, event=event@entry=0x55bed1ce6030) at ../gtk/gtk/gtkmain.c:2725
> >> #18 0x00007f105c7e2fbb in gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1921
> >> #19 gtk_main_do_event (event=<optimized out>) at ../gtk/gtk/gtkmain.c:1691
> >> #20 0x00007f105c542cd3 in _gdk_event_emit (event=0x55bed1ce6030) at ../gtk/gdk/gdkevents.c:73
> >> #21 _gdk_event_emit (event=0x55bed1ce6030) at ../gtk/gdk/gdkevents.c:67
> 
> Thanks.  This sounds awfully like another bug that was fixed last month.
> Would someone please take a look at this? note_mouse_highlight should
> never signal.

You cannot require that from note_mouse_highlight, since it looks up
text and overlay properties, and those can signal an error if the
position is outside the valid/reachable range of buffer positions.

Do you understand why note_mouse_highlight was called in this
scenario?  The backtrace seems strange: why should GTK care about our
mouse highlight?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60144: 30.0.50; PGTK Emacs crashes after signal
Resent-From: Po Lu <luangruo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 18 Dec 2022 06:23:02 +0000
Resent-Message-ID: <handler.60144.B60144.16713445416153 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60144
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 60144 <at> debbugs.gnu.org, karl@HIDDEN
Received: via spool by 60144-submit <at> debbugs.gnu.org id=B60144.16713445416153
          (code B ref 60144); Sun, 18 Dec 2022 06:23:02 +0000
Received: (at 60144) by debbugs.gnu.org; 18 Dec 2022 06:22:21 +0000
Received: from localhost ([127.0.0.1]:60250 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6n41-0001bA-9m
	for submit <at> debbugs.gnu.org; Sun, 18 Dec 2022 01:22:21 -0500
Received: from sonic316-22.consmr.mail.ne1.yahoo.com ([66.163.187.148]:34478)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <luangruo@HIDDEN>) id 1p6n3z-0001b2-QH
 for 60144 <at> debbugs.gnu.org; Sun, 18 Dec 2022 01:22:20 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1671344532; bh=aeDQSq5NKpSwS5BwLtzdE9XyxNxfY6qqIVk7yjOA+C8=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To;
 b=YcqULCiGs3dCibs+GAlrz6IW9mvNQ7CZM1NocAzsyEKaKU3TbOTR+Abq4spEfXloVPX8uTaM8FNOBRlGS4uDgk82lhKzHlgus2GgGHfKSlVXNbS0OYfyIzpnC4y/c0gxFRVIAnixWCofhDtHl28qxfkQdbjQ7nLX+psK2s5ezb5ySJs+EAUrD7/zRDRuETPy2BPUk8/LqvgtSaaPbfypBsRJMKalcjcJl/1nw5JCepNzvDu0enbvzUyxXdRoz2SjW2l/jDbXCqEvtdQjpqOSO/X4An3336Dh3c92jVBXpYkeipUi3SiXM3MnPboJqkVNVHngxw0WSBy+ykgE/5rzJQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1671344532; bh=vTFt6aXMMHImzsYBpqUbaqah2uzjQLq85GFV0tWyteI=;
 h=X-Sonic-MF:From:To:Subject:Date:From:Subject;
 b=qv5pSTpi60fcwyVYe3zH6wwEmi8cH8whg9797VSfArIt1xVH6Rh4rfupwzYvm6oBR3ZvFajvyzq29q+xTmz57q5aWJM+8Ia+5vmrI+JLSd+hN5OZyFHtL3yuHL04oRTK+sokOcj6eUe4OjWHMRyiaepXNm3Fqhcyq1ot+3oaqXL+IZvlsM0RIb1TsezgSU93JR34gsoY7DKqjNDj+ugoKaqUHiolWAOYWi3ahfx7u8M5q5RSpo0olXgzoqS8+nhnbiJN43Jw/bYrDLfKKRYOIyRhStIdD+rsJUSVt/VaA/pQTpugT7yZmMHKNmHRWLHpfZUoIaPFYYNVAtmnaNaLWA==
X-YMail-OSG: I32OXi4VM1mM4b22EDR.nc8VR.1cwzav0z08fVtfpbizejcMgt2JfJ13jfVZfYb
 eCHrLC54hVXGDeOTYBAbpliNQxtGH.6HsNwFh0zQogqYoyClJ9qgfJa_zDX8nvkL4zUnkxPEUabT
 TmLoXHg6wIPk5yomi.cUpY.DYQhTt3gMwUyP84LUCBU5sob09PkAZA7T3L4PIIC20h1ks8EnUR9o
 n42n7K9qB3WtoDD.j5Wvz9BePQKn6knnDnbcBbb_rcx8J4haCaayGopRs5MqGMuioVabS0ccsGjO
 CptWF8_RyTMW_sEaZfeH0ySWw7_OL.DkQ3kBNNJptcjyw6dz4Ss8ue04YjKJxSwzmGeeAC7_h8oH
 In2U3.nEdNlO8qc9s.Yhl8C5X4zcCRufRXPR2cvATv.MXmt8n_aIfF9Vno6F2n6bKpkP.hXDRRos
 _HEj6kOcqWJRyGnDGAqlBSTJIzxqFTLYMhooqJ33smYkNVG7j5XI6uVXVl3J6_3hzg.H.dKec3jT
 7A8XGK4jexPvlQQFrko47I7N7rMhc5bRURXUHfYh4ic5e3BV7dkLtXs1E_aFcb5YtdWW6PcPpsOj
 lg1Aqgp1a6r4PRtHvgrH10pfknWewFBmaMp756_UAV1FPcxWVbq8HQQ60_LUSHUfO.OZi.807ikt
 JPvqLZC92tvou19Qas18NcEv.O5Fj03hZy65bJEGatFOuYdHUEG2CSOTVH6AOAXkWMzeXmUZJUIa
 SWJyyXGi8N8B8_ynOv5SKr5CB7qALKcKDpC_LXC5RHpq.OUae0Mp72v_mRx_8AAFPhgL1ZoT5hVD
 oT6sWqec4BunNDnxp8i11LQ0wQwpcxNLdGVk6vafAcH7culxUmo1fvrcRSSaJ6pnUqPrN.sqZkT2
 bVmV6QoDZFEGmI0bFGsndU295ZsM7bsRPq67Spvuv77h5YiQXyWL.bESYbZ6sukgK6rgaiv_LoI9
 Tuj9HlQR832n28XDRYVeuHqvVlOemZM9Tyx.rgcGCRdsdef29fM5JSCUNaLxFGtYDuwPHjT75Jgx
 MC.FheScgEBYxm6JoA2GjKScQ4cHgQaP0cc3pgv0f5Lmbloxo_IVIlPzVElgRiz4njCRgJ8cTHD2
 U8pNmNJa85XxOIiE6p1L6DOVPIXdoHxeUijKzQ5PTOPsgT.Qg75YPzKgA24u4r240egzE0QvQzj2
 LoyEK5JuDFYe5L00AGBwSTlzEiBYfv0Q1F7jgn6YOzL9Fxd9UiHGs90EedBAF5Ebaosdz7lfhd5x
 3arW9wriq9SPY1M54cmpo1LwMEjU4HbtLCaQ4T2K8TmeyYlKMFj8j0gR6Wyvj5rnuXLQr5OZ0Ysd
 Vc9i6I2ruq8CYWzbKHJus2K7F1XvD2PFxUBGPMjejXafGQEr4kwBN0pdBs2osx7S5Yff19pTmsua
 RlJxdkkXpX2f2FTGHYRrnyYnAMKTAFNm4VIcZ4JpwjAGWllPvMEFBMY4R0nGl33cMgYc61fhRLF6
 wlueGPdD8.YN_P4W.X6gRkS6zWOs.vGfW_Jj8v1kpTmSTZzg.dlIioEUezE6H1iBoKrTu2uOWKoh
 .rHjENkuBDm.7D7zb6Wtd.yLU5zvkjFpz8lTK9rmVYj7.fTIe8fHlCUJHUkDV_XthE.kHDxliaxT
 k.vFhzuam16OD1l76I3duRyDOmehxRwA6JNBxCUuvAJBU7U77X08zB0_gmPmSUeWpljrTN2lfnS8
 MlStAzAgkUbbLLAXLHdhjt.7mIzFEg0ErycmtAsTXSlcZvIqZRsZBvV54QJJD.QdKAV5KFYPMhok
 Q7h6SgJoIS6gRYlRzibEqOYolqpdFIKBmbtwyT4L6Qov4Z..FTfnAPDV3WnM8HzMFoPOExNDsZgu
 D._KnyjlzwAtd1Vv.nK.kKP6Fbno85D_lg6PFAWCSkm6V5P5tfpjg6xo87UVgFt8Lbz95.v7qPhJ
 jskV_nna8mEm8ar38SUBIFsXRgndYe1fuGyQDI7Ab53GOqGTL_vNfwDxpKb6boVQT6BuxFvgdRuX
 lBJjrmDdfHjQoYyMWvOCT8vqfSz07uT._SAa89o8ixz_NDKH8_YyNMpj5toSYdZPwItV1GGqZw1T
 8yi9yzjn9_Lls.VZl2w95KfWHDLKJpucTKJ4pqduS3lC6yx.fA9vq3aeAtIiSuu2oZgBQUCk2Gr_
 bR78qKwbZAH78KzTxRqXMedzHMi6Fdj7JzOHV0zU9b6pDS9HE2Jb5UTevk2ehfvhNBE2YpGukGOr
 hqt8gMAg2SdD3wmvm7zEY3W2MHu.Iw8d7.TNZiOMTjMTcgao7g8UrAc6yWW1CB0A-
X-Sonic-MF: <luangruo@HIDDEN>
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic316.consmr.mail.ne1.yahoo.com with HTTP; Sun, 18 Dec 2022 06:22:12 +0000
Received: by hermes--production-sg3-b666c6484-fp465 (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 607338c3e3510f23f9c8dd08519dbdc8; 
 Sun, 18 Dec 2022 06:22:10 +0000 (UTC)
From: Po Lu <luangruo@HIDDEN>
In-Reply-To: <83359dgt7v.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 18 Dec
 2022 07:45:56 +0200")
References: <CAGk_8X+jaz1kOcxx3j4kY3NN2UzWBX7_8+2eX3h7SR9gt-Cz4w@HIDDEN>
 <87edsxfop0.fsf@HIDDEN> <83359dgt7v.fsf@HIDDEN>
Date: Sun, 18 Dec 2022 14:22:04 +0800
Message-ID: <87a63lfcz7.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Mailer: WebService/1.1.20982
 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo
Content-Length: 736
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

> You cannot require that from note_mouse_highlight, since it looks up
> text and overlay properties, and those can signal an error if the
> position is outside the valid/reachable range of buffer positions.

How about simply wrapping those calls in
internal_catch_all/internal_condition_case?

> Do you understand why note_mouse_highlight was called in this
> scenario?  The backtrace seems strange: why should GTK care about our
> mouse highlight?

What happens here is that Emacs is reading input through GTK, either
inside xg_select or the read_socket_hook.  GTK then detects some mouse
motion and calls the motion event handler for the frame's widget, which
in turn calls note_mouse_movement.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60144: 30.0.50; PGTK Emacs crashes after signal
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 18 Dec 2022 08:40:02 +0000
Resent-Message-ID: <handler.60144.B60144.167135279613204 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60144
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Po Lu <luangruo@HIDDEN>
Cc: 60144 <at> debbugs.gnu.org, karl@HIDDEN
Received: via spool by 60144-submit <at> debbugs.gnu.org id=B60144.167135279613204
          (code B ref 60144); Sun, 18 Dec 2022 08:40:02 +0000
Received: (at 60144) by debbugs.gnu.org; 18 Dec 2022 08:39:56 +0000
Received: from localhost ([127.0.0.1]:60861 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6pDA-0003Qu-3t
	for submit <at> debbugs.gnu.org; Sun, 18 Dec 2022 03:39:56 -0500
Received: from eggs.gnu.org ([209.51.188.92]:50550)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1p6pD7-0003Qo-Rs
 for 60144 <at> debbugs.gnu.org; Sun, 18 Dec 2022 03:39:54 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1p6pD2-0005GW-Cw; Sun, 18 Dec 2022 03:39:48 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=ssrOZ5cCvXxmrUkoNvO8sWEvyW1Q6GbUoKctPOBQVkk=; b=JN74BUcs9j1u
 bFW5uISFeQpr5Kzr8H/1K8h5R5c7so9CAcyHbs1jjZ4k/xyXVYGSsEqIlDhxcb9aES6gYvCfJSpOo
 xArpj30uSj+yv0mNoIiCVgnV8aNRXUnmQW/tYY4tYN8wQj2C+gg2sTeNfgKE7Vo43jZ3v8/4QXWM/
 bXoHOHuJT1cEMdvutiASv7agOrqA0k4ma0NRMl/+l9TBYxmzzgP46ydbyUe/RPwwkrB49eFLsusjm
 itgwVjWvQrZ3TNts7//xoUOgLbjzAGerOHmHWYcfgFQk9+6bQ3SUJQn/TzPYaA9tELIcEESTZV0/e
 qhG8ZMDX7MXv5eaLAryujg==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1p6pD1-0007Cs-Ku; Sun, 18 Dec 2022 03:39:47 -0500
Date: Sun, 18 Dec 2022 10:39:54 +0200
Message-Id: <83y1r5f6lh.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <87a63lfcz7.fsf@HIDDEN> (message from Po Lu on Sun, 18 Dec
 2022 14:22:04 +0800)
References: <CAGk_8X+jaz1kOcxx3j4kY3NN2UzWBX7_8+2eX3h7SR9gt-Cz4w@HIDDEN>
 <87edsxfop0.fsf@HIDDEN> <83359dgt7v.fsf@HIDDEN>
 <87a63lfcz7.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Po Lu <luangruo@HIDDEN>
> Cc: karl@HIDDEN,  60144 <at> debbugs.gnu.org
> Date: Sun, 18 Dec 2022 14:22:04 +0800
> 
> Eli Zaretskii <eliz@HIDDEN> writes:
> 
> > You cannot require that from note_mouse_highlight, since it looks up
> > text and overlay properties, and those can signal an error if the
> > position is outside the valid/reachable range of buffer positions.
> 
> How about simply wrapping those calls in
> internal_catch_all/internal_condition_case?

This is too drastic, IMO: it would deprive us of valuable diagnostics
when note_mouse_highlight is called.  Like in this case, for example:
having the code signal an error allowed me to find a real bug.  We
were asking string_buffer_position_lim to check properties and
overlays for positions outside the BEGV..ZV interval, which can never
do anything useful, even if it isn't called in the PGTK context.  I've
now fixed that on the release branch.

In general, note_mouse_highlight should never examine invalid buffer
or string positions.  If it does, it's a bug that needs to be fixed.

> > Do you understand why note_mouse_highlight was called in this
> > scenario?  The backtrace seems strange: why should GTK care about our
> > mouse highlight?
> 
> What happens here is that Emacs is reading input through GTK, either
> inside xg_select or the read_socket_hook.  GTK then detects some mouse
> motion and calls the motion event handler for the frame's widget, which
> in turn calls note_mouse_movement.

Why this fragile architecture of reading input events?  Calling
functions of our Lisp machine from context where those functions
cannot signal an error is very dangerous, and cannot work well in
Emacs.  Why cannot we have the reads through GTK only deliver events
to us, which we enqueue to our own event queue, and then we could
process that queue in the safe context of the Lisp machine, as (AFAIK)
we do on other platforms?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60144: 30.0.50; PGTK Emacs crashes after signal
Resent-From: Po Lu <luangruo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 18 Dec 2022 09:54:01 +0000
Resent-Message-ID: <handler.60144.B60144.167135718425497 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60144
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 60144 <at> debbugs.gnu.org, karl@HIDDEN
Received: via spool by 60144-submit <at> debbugs.gnu.org id=B60144.167135718425497
          (code B ref 60144); Sun, 18 Dec 2022 09:54:01 +0000
Received: (at 60144) by debbugs.gnu.org; 18 Dec 2022 09:53:04 +0000
Received: from localhost ([127.0.0.1]:32993 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6qLw-0006dB-E2
	for submit <at> debbugs.gnu.org; Sun, 18 Dec 2022 04:53:04 -0500
Received: from sonic302-21.consmr.mail.ne1.yahoo.com ([66.163.186.147]:35392)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <luangruo@HIDDEN>) id 1p6qLu-0006cn-EZ
 for 60144 <at> debbugs.gnu.org; Sun, 18 Dec 2022 04:53:02 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1671357174; bh=ZVPAeaf2Uv4O3B+ilbAFAkVC9TDMZBJ83Wv9bpgxhlg=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To;
 b=Ei22aO5yP5zhjc6CsHDmZjDQ1j2VDFYCZAeMuB0nm1UcI2QrxOV6x78e6ZzZlHjkU0aRFlax83bGTDn7wkm/NhBX+gsmjhY/0NhogJRKipl3w8G1O4Zwq01uKSXSR5cMIvRsHgr3uGpcaY0jaOba/uFgBg5XRZbRqZb566XFVPhLoIKjBa/3pS2pQRG8RxDXWGxBNoVyrGKsMBNnkiW7c/w6ybuGV4ftrmWjyTXvLKNlU7HJsslzQYvlnRXaxKj6pVThB3a0iMRP7poSddYvMIwLUubwEcTIHgdOetBuXW3WY1NB1UewmFUfxm6DE8GeEh/ZJISux1d8jXoidEKNPA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1671357174; bh=74s2KUh8OybRztQUVTt78fZLDJn6RlDg4Y4N8Et91c5=;
 h=X-Sonic-MF:From:To:Subject:Date:From:Subject;
 b=AISh08wP5T7C5PA9p0h5AhZkoAoTGY5YJzX+NU+4Ivg4O3oxGsvc0Z34hpouMUxqeV0v6TVS6BK6kS/Lqvv6aQpnfIxonVGFNH8F/8Q19OPrf0USbfNpYqltPV9yxIo8DjoSBcgMndki94HRNB7o3X2KCtvpAD4mG5Q5DFceSkOAJkcTKthpea1Hs9B4vs8TIqmtrjZlfZArHckdtYA9cspSyCRjHheMqnYJEGV5w8WsZUppipiz2PTMnhftujrkH7Nw0aiMgXdajCZbnyDzItYgEL1FTxwNa1l4dXQ5At6bm/ESTHex/4tbiO1Ky6Zl1zg7eTtioXUQkwEgr5QbDA==
X-YMail-OSG: x.fNFDoVM1mgCyoffgxzqA7t33MoQ0.GBam.U7wFjDf69ljYgfxsDtMSNfnu6nC
 3zUxKiK79lFYDQEXHxsS0LeKDSZVmoRoeKzbDc2.mlKoEo0RE5amSXVPoMPiGd2fIcYjb7PF7Jc_
 KQBzJD9P85KjJPYFW7xKYHp_yyhAI6UcAg9_1NQPpU0Xe6BI1mrNjY13tmbatZmXRdldNXM_4x69
 _ntyx3HOzj0cYzxw7pa7_0LjAaR1UQpNC.OaIIHOT_L4OR2GwnBCO2nukvMXetRarF35i6rokEUi
 4uZDk8_sLYNZ_kKeStMYmBwtJqI2N8dOTMXsFoajfoTxzRmZKbEu0qdQUt.SCnb35YoZAwWSJvIG
 PpXzim15j1bGZ7q8RqKRx5KqFZR1cNcNlZfq0onGhoRV7a_BCjot5XIzo2Flc0k5bWH3mbTCaZ1T
 hTQAIFxMXOW2RqTZmPtjxxpg8AQvscdvn7_X333ezsJy.4OqcCieSOslJ_7Bx.7qtJWOgm.P6FnV
 .VQFmcdcoK.QGvqUA6puPvqBl1zAVqIpdgUSHtp3ZQfvMrhNOz98h3ItD15.KiIgJCkzlCeYAlbk
 QcVVuL3pp8hS6NxMj_t.NUvn0tEUq.BzjxDkzVNu8IW68pKStzNVoaR96kOzEpsywbTtn0MfFDig
 Zjw_RcRAYZeHIfpoIqVS6Y7EQ4gUfJs156WR3oHBd85YaSbwfsYEr8ymjCUbsBKj5wNCPOPuT.0u
 LzAVmR2T.S4_yVUIO0O0AgHBe63cYaeV7ffwKKhaVCocR9FgQeYIY0M_PqpdUyxb7AAOAkp4Nejs
 YRPqKzEbjGQS9JB7Hhmkoc8IK9.ci2tWtARDQk4fTSsvj9kIsZ8ju1WgOQxQVD9lJ8dSlMovbIyT
 mJhCb9Uuyi6sOVMdjVyp.i01YubaUtsCCtFGXhXq_YrcisXfy4KsAHwy18653jAZ63VsrWhVsm4H
 jQJiknHhk7QG_QoP69eUh39hpiJBFSq4pKjDSGH9Hav2V8ipnsBUIPFYAkddPB1._Q_jBS.eHNu7
 NL_Tb5hNPv1Jktvw6Gz1lI9Ke6L21AcUildWD5B4hAxGgfWyYyPlpU6TGhekcBtS4w57qKfbNjcq
 IjS_APX91w5yv.4FNaKjCH9coZskTQpcQVZNwZ4O2YI1Xb4YCXuJe9xnyMlwG0519yEyiVg2_vci
 And752dU9gjZ84GmvuJXCV5ofIOQLsKgZCG5z04lfCaYy9EANQlsH9ZVRDE0b5PT7fRqd5yGOidX
 xftX8eWolcW8W7oVRDnQYqlO.EJkrgVtx9oqY1J2ca2rVXkfd226u2gKAiNAC8MV23mX6XM4ueZU
 k6Gm1CNCiEEQQQBQF0DCwH_t2YUsN5qLD.v_bBXRIzvmhPKoQJ4_StAYCZBJkLzlSOZkxbYMqLKW
 R2dw9yikafw2gpfM6frlrmFqLgPNbMv5bHbN4dwQg5sm1lDF5wlmlOCaJLUqKpKBiHTPeA1NtQYx
 _K9OnrtVU94aV8_T9RDIzEALuVa5GDPRO9C9UOXa7eB.RiDyO.6BdJhIsr0VC69ZHT7Xgq3xAofP
 Ob.wbtroVZB8b9o8T_Mvt.qgbx99o1EvokHAkMnff5px0EhPdG8ALP7xta5U4jjPzcxtb75z8Q4_
 3iVmsU_dKOYh4UMEy1Fx08L9fZru50r7Idbz3n8klpHjTodqPXUks.ZowB5xrN5JOvTSZJrnTDpg
 5if5hC_DaZ6LMV9TgZ0mw9P0FKeOkf85G8tfiw3w07xkB6MR3ZHedTKUp4oUF36Om_zttn8jtPOh
 pppU301si1VgPWF4PnRiO3Dry6HdieahyHu0PC8jYUfFTZONsd3hoMPXB3S8baUDG0eMtmquTFLk
 FrgTHisgah2ZsOV7nQWxtpw76zdNWZUB4CpdQImlCbVPqz7sePFJ6wTnw8F8GeLCo8By2FBFD7pO
 04Z7T7FpUGRhHf1nlzEd7REtM7O0z0DggZCBQ0i61EqYRuUpWm_cRxQ4pRpg_7CBSTf4WqKCQxLk
 4dDa7H7B6yUgF4uA7G1ZoQvYMR3c82kj0_BMsR2xJPZlNletkeCgkzDYeIEeHj3YC.UTDfrjQE4A
 E4ec4Ei7FLVcy4DQHpd3fOs8AaX5hpUzTkarqtsOgljzwyYcIOcBujCcds6ogazVyI9xCCuevCDU
 nTtgFKIgb__Wposx8MfRhGA6RUc9OTX79ghopGPZEP6reT7gTM4M.HkUgQKgml0BuO1MgtRCkzDG
 ImBe46HeaA6QVIZ91LeGPUAWWqJQ_C_pI5o36j6jnQgsZttY2zuhEaPIgjl5Pj7CrjA--
X-Sonic-MF: <luangruo@HIDDEN>
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic302.consmr.mail.ne1.yahoo.com with HTTP; Sun, 18 Dec 2022 09:52:54 +0000
Received: by hermes--production-sg3-b666c6484-bdtvh (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 6d612d45437ae2b1c159801a7c890e5a; 
 Sun, 18 Dec 2022 09:52:48 +0000 (UTC)
From: Po Lu <luangruo@HIDDEN>
In-Reply-To: <83y1r5f6lh.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 18 Dec
 2022 10:39:54 +0200")
References: <CAGk_8X+jaz1kOcxx3j4kY3NN2UzWBX7_8+2eX3h7SR9gt-Cz4w@HIDDEN>
 <87edsxfop0.fsf@HIDDEN> <83359dgt7v.fsf@HIDDEN>
 <87a63lfcz7.fsf@HIDDEN> <83y1r5f6lh.fsf@HIDDEN>
Date: Sun, 18 Dec 2022 17:52:42 +0800
Message-ID: <875ye9f385.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Mailer: WebService/1.1.20982
 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo
Content-Length: 1231
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> > Do you understand why note_mouse_highlight was called in this
>> > scenario?  The backtrace seems strange: why should GTK care about our
>> > mouse highlight?
>> 
>> What happens here is that Emacs is reading input through GTK, either
>> inside xg_select or the read_socket_hook.  GTK then detects some mouse
>> motion and calls the motion event handler for the frame's widget, which
>> in turn calls note_mouse_movement.
>
> Why this fragile architecture of reading input events?  Calling
> functions of our Lisp machine from context where those functions
> cannot signal an error is very dangerous, and cannot work well in
> Emacs.  Why cannot we have the reads through GTK only deliver events
> to us, which we enqueue to our own event queue, and then we could
> process that queue in the safe context of the Lisp machine, as (AFAIK)
> we do on other platforms?

No, signalling there is equally unsafe on the other platforms, where
note_mouse_highlight is called from the same place(s): read_socket_hook,
event_handler_gdk, et cetera.  Just look at the callers of
x_note_mouse_movement in xterm.c, or [EmacsView mouseMoved:] in
nsterm.m.

But I see you already fixed the bug.  Thanks.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60144: 30.0.50; PGTK Emacs crashes after signal
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 18 Dec 2022 11:44:02 +0000
Resent-Message-ID: <handler.60144.B60144.167136378230500 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60144
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Po Lu <luangruo@HIDDEN>
Cc: 60144 <at> debbugs.gnu.org, karl@HIDDEN
Received: via spool by 60144-submit <at> debbugs.gnu.org id=B60144.167136378230500
          (code B ref 60144); Sun, 18 Dec 2022 11:44:02 +0000
Received: (at 60144) by debbugs.gnu.org; 18 Dec 2022 11:43:02 +0000
Received: from localhost ([127.0.0.1]:33460 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6s4M-0007vs-Ga
	for submit <at> debbugs.gnu.org; Sun, 18 Dec 2022 06:43:02 -0500
Received: from eggs.gnu.org ([209.51.188.92]:43956)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1p6s4L-0007vV-Cg
 for 60144 <at> debbugs.gnu.org; Sun, 18 Dec 2022 06:43:01 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1p6s4F-0007qh-N7; Sun, 18 Dec 2022 06:42:55 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=hDqQO7L9OdYpHCcHm49YPvBs+s5QVU6JsUheaS7owDo=; b=I4nFf3AYBClO
 7x/ontpDkDPi8pgasnfzRth0Wy0Xmu0Ky4+YpraExE6LCu+Q1WZytXdl7d8HdQ5hoUUxdtyOtoigG
 vpMjG+lYaAOnrh3QOpgvb+kdCU3SiMKn1tfbwXEYRG3mfMD1VAWrZSQJwHWT+gX6M/5tQAMlJqB7S
 JNXQ3BsxBdQSXnfbkVt+/+OYD4d7QPpQCHsRuUeTbrQFin7ArZFtT68JMfZdPmueSl/+ZOzYqmI0l
 E/EVwr8Qkku5LD7/uKFQF+6UZTkI/mWlBxycNS8a4XaPwmsw15xN0GlWGRd24JAAClHhUOnSdifVh
 WP7N504jRFVgf68A8JfbrQ==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1p6s4F-0006y8-82; Sun, 18 Dec 2022 06:42:55 -0500
Date: Sun, 18 Dec 2022 13:43:03 +0200
Message-Id: <83fsddey48.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <875ye9f385.fsf@HIDDEN> (message from Po Lu on Sun, 18 Dec
 2022 17:52:42 +0800)
References: <CAGk_8X+jaz1kOcxx3j4kY3NN2UzWBX7_8+2eX3h7SR9gt-Cz4w@HIDDEN>
 <87edsxfop0.fsf@HIDDEN> <83359dgt7v.fsf@HIDDEN>
 <87a63lfcz7.fsf@HIDDEN> <83y1r5f6lh.fsf@HIDDEN> <875ye9f385.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Po Lu <luangruo@HIDDEN>
> Cc: karl@HIDDEN,  60144 <at> debbugs.gnu.org
> Date: Sun, 18 Dec 2022 17:52:42 +0800
> 
> > Why this fragile architecture of reading input events?  Calling
> > functions of our Lisp machine from context where those functions
> > cannot signal an error is very dangerous, and cannot work well in
> > Emacs.  Why cannot we have the reads through GTK only deliver events
> > to us, which we enqueue to our own event queue, and then we could
> > process that queue in the safe context of the Lisp machine, as (AFAIK)
> > we do on other platforms?
> 
> No, signalling there is equally unsafe on the other platforms, where
> note_mouse_highlight is called from the same place(s): read_socket_hook,
> event_handler_gdk, et cetera.  Just look at the callers of
> x_note_mouse_movement in xterm.c, or [EmacsView mouseMoved:] in
> nsterm.m.

Sorry, I'm afraid I don't see the danger on other platforms.  Please
explain.  AFAIK, read_socket_hook is called from keyboard.c code which
reads input, and that code has no problem signaling an error.  What am
I missing?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60144: 30.0.50; PGTK Emacs crashes after signal
Resent-From: Po Lu <luangruo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 18 Dec 2022 12:14:02 +0000
Resent-Message-ID: <handler.60144.B60144.167136559332264 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60144
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 60144 <at> debbugs.gnu.org, karl@HIDDEN
Received: via spool by 60144-submit <at> debbugs.gnu.org id=B60144.167136559332264
          (code B ref 60144); Sun, 18 Dec 2022 12:14:02 +0000
Received: (at 60144) by debbugs.gnu.org; 18 Dec 2022 12:13:13 +0000
Received: from localhost ([127.0.0.1]:33622 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6sXZ-0008OK-Cl
	for submit <at> debbugs.gnu.org; Sun, 18 Dec 2022 07:13:13 -0500
Received: from sonic310-23.consmr.mail.ne1.yahoo.com ([66.163.186.204]:41780)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <luangruo@HIDDEN>) id 1p6sXY-0008O9-1A
 for 60144 <at> debbugs.gnu.org; Sun, 18 Dec 2022 07:13:12 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1671365585; bh=BMv3eyDgSkRhr0YMokzmnJBlFCAxuEykD4o4pQSVWOc=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To;
 b=POfnJntXY1ADktdd+mROGor4MFh+reUvlKz3yuROMBswylXY9aDnZrYUDwCVKThaXHjykHW4PmnbmCPWlV0zRGw9cQZbu5iZinrKeQhv2eXF0BGfiMQCdi3b6tL167RGBz26X05jOH6SUi+Rcoi49nkqDKqcTgPiAKy3QGk3isnocP7VK8cHrbLQwQ+9gkTGpv25cXfed7csWNktPYMA768oyWud1zHrN+KFmLPFwcctRLvP0oO91kNAXrprNNL18Xh1PO9T6dQCWBPgh7M1hdIarAmUJusLAUOblc9Jzjyc+lqFEbwXER8lG8e3SZ7PFZ/auVbaQWNZz49J5lW9xA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1671365585; bh=E6vxcFkbyuW1Lq4j8lyupZhpINkYBxCyExfhA06FS2+=;
 h=X-Sonic-MF:From:To:Subject:Date:From:Subject;
 b=uKQaKuWjWYlZpdyyCvvQxtZJQfjSvPzLXeUwx65tggR+NTcGWpmY1pofzFbO46TjK8VlsC4FMzB/XrpixzVEfAIn2Fg5VnsBJ9Gi59pbSEY620ClDqHufG7r2Os0ImvAWtNgwKuoiGonCis6KqgUqkBVEKAza/1FJbLOYK8xBwDsdVUexY+q6lS13iw7FCuGsd/x92lnuFb4E/oREwlJ0R+5g0Fz5ddOf5NXGbDFnPxN7raDrhAR5lMNxIjgFI4IY4kdPHQHPv2iTPLGSezY0zSAQcCEwqf0RWHNxC4gb8UGuEI2+IKw5psekudLETJS0q40T/HlWMznIt7yCZX+uQ==
X-YMail-OSG: L.SbkCcVM1mK4N4i6Sp4cQfkE6NHrJJGcKjfajk0htQcmCmzaYmeTvKhgJ_AXOq
 wsiGD6IvHDFRz1qsCYMurSTpd_8Daq9Gxv2LiyjO6jO_l0UE0dsJqd78iHLa4FbrYChNKku84hHA
 ZNz3Ka2_..F_GFXl3bivj6LaeMIkt3OVZwkAC1hZyYEe0jNWw4OTxmWoP9QmsBKutmYnuIvi8Ba1
 YIuehY5vOFLEgEkbpzibcm7vKSGem7fiyaaCgdJ74IRkq82Afp5_mXrR_GU1YjCT10x46G._Irnv
 yQO1z3OISzlQDkTcJzXkuWfZxXf6rtXJU4BNCrIpnzRGli36_7m.5CNIUTft7Nbuljpa.50.7HRQ
 dO6N4J_Xx0Xg.nOGoe33EJlb9W4jq841IYzMYyyQkteLjxZVL9EReKYJfOO.ZeYOdGwsbaf8vXL_
 6hwx1Nb5DIl9.aTig6P4zgKXDQFetU.Kryy6TFMrYu9XWteAQKg.Raa4saZcJGTqH8aW6neZFsd.
 I0lsfIHAQo_KEHg19mYR.sc8wH7Zt0tm12TVUCxlEluQEWev1m7uEzM7CwhpU_v2PPBcAXYaZK4G
 7yO3UjZanKI49mPqk2vKDUEK2W7jzJv0YIMzJEFLfihkXmkR4ZQrslkeQGybZUDE_TjgSE6tLWmr
 gcxrBHGfo78SyYSv.nFR6UVRm57mUb8.TEbo7CMO7pQGzqJWAQfJ6X6S3j1enWDftclLzgjeqgMP
 m9ejXzZxfSVQPtxm89apxiMf63uRDTCvuDR8dbVB8drFpd1RCQcIAOabXXiqiEvsHKnIPK5ZYEVJ
 G8IUGYOdubYQ8gOl1L4q3h6I7SRSVcFlmaAaEhI4.C2JJ0DP7sR5MQO0InE8Nd197L0bbMAvUKby
 DvVSPz89p_.Veo1fGRus4wQ48abDb1U40lLPTaf4IBD8yk7cbgpXUoXX4LX4CGH7xPIDeLRczkkr
 .OSEdZ.B6IEHQnGRXkj_Eak_fXuJ35PeR08BWdbt9fGOhxex7jMcGxhr6UIkM4oQ8lbyPfsnJL4m
 KcAvlCpKOyPwxIPhSC7dqBPvzb0QuKQPEIYJofIyR6wrUlCzFoIubZZ2ToXtMx14mBHa3RA9o8s7
 SpWmDfI_7LgLx6oqczAeyLECPZNjIzXKyw_BoW7AQZLN3t1y5wYtDYpOuebFLBDxy6ryUc8PlKwF
 PqJSzY5bpjcj41jp_6dRgD4KDF0omUT6ijYVLqRwc4hDb3HXS6jigb4AQsjy4dyio5bg0bm5xlB0
 OgnY3WHH34IG688S4vhdpukmw2L6XtE8zJEgzyHVjG9gsaT73xOjtalo8TItIjbPr06lu505hyqB
 6X5K.DrtXqJJYJqVtBzPdbHV1af3gWrpCmm_rX8ToR.i6n_VTd12D4bh7pAvMqdUXAm017q3_vY3
 xGL3jr9iGKn0oTT2GkQWPoHoXT7vTazziAdp1ZJxkJlkByLyUV.WIz9JOMO6AYnNoCw8isKxehBZ
 2RTkCgWDbxW8kpFBgirHbLm4ykFZxVfrBNQUUyCO.caoAS2c3QfcOe4bty8kFe4wOHbw1wi2TPvD
 Yxq4luNggIw9grocSJ30_AjdnLDhxE4ZdgMv7JvR6bAjoPSy7fW5tuxPyQlVBqkks21b3XLx8g2W
 YZX5t5kyUb0ghkPA1pB5g_MU9UZAm4B2TJiAIaCNch0gbjl7PIgjNtnsex0dE1YAlBkonH5aYLqC
 K05VNqblO6Vq7TBKxXvnrNVRYI7SK_sjEZFTcduDY98MIA8lVY75bwMm2NgUPdBLpLtemYrvfnzS
 DhN4V_tm48144mW3B45wQ0ZcGb2UXMzsTw9aCwoO5aaMlFRWz7HHEjJoozrvq0q6pxKcO4K.Wifj
 JUNU9FQKeGM3U.yTytXBRBycuXH_rOWguGldCGj2GfrtB3jjgz1ZR1hW7fmFyIC1pte6z51hHmER
 FRQWDgDnnS_vLOYhNFBvVsNMav3ZH7Ne_P9OHHSTZn0d.ZnpqHuO1o4PX8XGaXXSw3vIYEfMUuy7
 .vpSgI_onIp3_cdogTeni5jk0VZKBBbFo0Akeb9yT5C05cMc.CYY3wRMGLiquVbMnJKjLo6pGn07
 3_bcJPFwzzOTtA5UqZkfU0lmHvK3BtrwPTn_pgmxFk4HPd95OIYza3yvFHSGyVYIrTzzq4GB90lV
 EjGhe_hW7FtGfFymbIYhRKPyV7yFHU_Bdfna_ix713AHDg0CJkp4RVpmi0wG.DieTpehMtDjerY8
 y1JeUdz4tBh3jw4uw.Y5oVTzAZnGle5FOZeCaW7Ct2XsvH8iGLvghNsWSYFcx_l70
X-Sonic-MF: <luangruo@HIDDEN>
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic310.consmr.mail.ne1.yahoo.com with HTTP; Sun, 18 Dec 2022 12:13:05 +0000
Received: by hermes--production-sg3-b666c6484-8hzhs (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID a06e367cf038923cbcd7ec6e607c216a; 
 Sun, 18 Dec 2022 12:12:59 +0000 (UTC)
From: Po Lu <luangruo@HIDDEN>
In-Reply-To: <83fsddey48.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 18 Dec
 2022 13:43:03 +0200")
References: <CAGk_8X+jaz1kOcxx3j4kY3NN2UzWBX7_8+2eX3h7SR9gt-Cz4w@HIDDEN>
 <87edsxfop0.fsf@HIDDEN> <83359dgt7v.fsf@HIDDEN>
 <87a63lfcz7.fsf@HIDDEN> <83y1r5f6lh.fsf@HIDDEN>
 <875ye9f385.fsf@HIDDEN> <83fsddey48.fsf@HIDDEN>
Date: Sun, 18 Dec 2022 20:12:53 +0800
Message-ID: <871qowgbay.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Mailer: WebService/1.1.20982
 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo
Content-Length: 1879
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Po Lu <luangruo@HIDDEN>
>> Cc: karl@HIDDEN,  60144 <at> debbugs.gnu.org
>> Date: Sun, 18 Dec 2022 17:52:42 +0800
>> 
>> > Why this fragile architecture of reading input events?  Calling
>> > functions of our Lisp machine from context where those functions
>> > cannot signal an error is very dangerous, and cannot work well in
>> > Emacs.  Why cannot we have the reads through GTK only deliver events
>> > to us, which we enqueue to our own event queue, and then we could
>> > process that queue in the safe context of the Lisp machine, as (AFAIK)
>> > we do on other platforms?
>> 
>> No, signalling there is equally unsafe on the other platforms, where
>> note_mouse_highlight is called from the same place(s): read_socket_hook,
>> event_handler_gdk, et cetera.  Just look at the callers of
>> x_note_mouse_movement in xterm.c, or [EmacsView mouseMoved:] in
>> nsterm.m.
>
> Sorry, I'm afraid I don't see the danger on other platforms.  Please
> explain.  AFAIK, read_socket_hook is called from keyboard.c code which
> reads input, and that code has no problem signaling an error.  What am
> I missing?

That code has problems signalling errors, unless it is okay for
unblock_input to signal.

On the regular X build with GTK, handle_one_xevent is called from
event_handler_gdk, which is called by GDK when it detects an event.
handle_one_xevent can also be called from x_dispatch_event inside a
popup menu, and during drag-and-drop.  On NS, [EmacsView mouseMoved:] is
called by the system from Objective-C.

Out of all of those places, the only place where it is safe to signal is
inside the drag-and-drop event loop.  Signalling out of the rest will
either lead to catastrophic blowups (if it happens inside
event_handler_gdk or [EmacsView mouseMoved:]), or to grabs never being
released and resource leaks inside a menu.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60144: 30.0.50; PGTK Emacs crashes after signal
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 18 Dec 2022 12:34:01 +0000
Resent-Message-ID: <handler.60144.B60144.16713668039541 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60144
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Po Lu <luangruo@HIDDEN>
Cc: 60144 <at> debbugs.gnu.org, karl@HIDDEN
Received: via spool by 60144-submit <at> debbugs.gnu.org id=B60144.16713668039541
          (code B ref 60144); Sun, 18 Dec 2022 12:34:01 +0000
Received: (at 60144) by debbugs.gnu.org; 18 Dec 2022 12:33:23 +0000
Received: from localhost ([127.0.0.1]:33716 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6sr4-0002Tp-T1
	for submit <at> debbugs.gnu.org; Sun, 18 Dec 2022 07:33:23 -0500
Received: from eggs.gnu.org ([209.51.188.92]:51530)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1p6sr4-0002Tj-3i
 for 60144 <at> debbugs.gnu.org; Sun, 18 Dec 2022 07:33:22 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1p6sqy-00010K-ET; Sun, 18 Dec 2022 07:33:16 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=Tc64pNyvQD26pGE6Ok8cUEWyoaCDuZZb8U+AC7/UPT8=; b=C9OEN0kxd8QD
 EYJDm2w67+vR34ZFwHdGFrR3MimlpTJgKMKWvWC+8VdAAuNM6eNvMXV7G6h2UDfgL7DPJoLPS3Dd2
 +wVBl8v+MGVgRUh8cndG+n17UtUZT2L+taRrF9DTahsTEwwp9SvCEoialq5nzqjLPzkgi3HReeRbZ
 3kvZX8DMmYDBcNaCiAgzZ04ThPGx+D7rPjZAY02TVvAWt4i2oTKuZ2JsAkUxdqMn8MxRppYYkXZBT
 wBiVO8ZzqpXJzwOrJ7SZhBFfif2XHMQ7qLS39W6IpQeef0uRR8HUXaSkSEdDay+0yB4Fxnwy7TZxN
 bjvVv9EmjjD2EkUmeOAKEw==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1p6sqx-00065x-PS; Sun, 18 Dec 2022 07:33:16 -0500
Date: Sun, 18 Dec 2022 14:33:22 +0200
Message-Id: <83bko0gact.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <871qowgbay.fsf@HIDDEN> (message from Po Lu on Sun, 18 Dec
 2022 20:12:53 +0800)
References: <CAGk_8X+jaz1kOcxx3j4kY3NN2UzWBX7_8+2eX3h7SR9gt-Cz4w@HIDDEN>
 <87edsxfop0.fsf@HIDDEN> <83359dgt7v.fsf@HIDDEN>
 <87a63lfcz7.fsf@HIDDEN> <83y1r5f6lh.fsf@HIDDEN>
 <875ye9f385.fsf@HIDDEN> <83fsddey48.fsf@HIDDEN>
 <871qowgbay.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Po Lu <luangruo@HIDDEN>
> Cc: karl@HIDDEN,  60144 <at> debbugs.gnu.org
> Date: Sun, 18 Dec 2022 20:12:53 +0800
> 
> Eli Zaretskii <eliz@HIDDEN> writes:
> 
> >> No, signalling there is equally unsafe on the other platforms, where
> >> note_mouse_highlight is called from the same place(s): read_socket_hook,
> >> event_handler_gdk, et cetera.  Just look at the callers of
> >> x_note_mouse_movement in xterm.c, or [EmacsView mouseMoved:] in
> >> nsterm.m.
> >
> > Sorry, I'm afraid I don't see the danger on other platforms.  Please
> > explain.  AFAIK, read_socket_hook is called from keyboard.c code which
> > reads input, and that code has no problem signaling an error.  What am
> > I missing?
> 
> That code has problems signalling errors, unless it is okay for
> unblock_input to signal.

I don't understand this part.  Why and how is unblock_input part of
the picture?

> On the regular X build with GTK, handle_one_xevent is called from
> event_handler_gdk, which is called by GDK when it detects an event.
> handle_one_xevent can also be called from x_dispatch_event inside a
> popup menu, and during drag-and-drop.  On NS, [EmacsView mouseMoved:] is
> called by the system from Objective-C.

So in the X/GTK build we have the same problem as with PGTK?  If so,
why not change that as well, to work as I described, i.e. enqueue
events to our own event queue, which we will then read and process in
safe context?

AFAIU, w32 already works like that.  Does it not?

(As for NS, I know it does some very dangerous stuff.)

> Out of all of those places, the only place where it is safe to signal is
> inside the drag-and-drop event loop.  Signalling out of the rest will
> either lead to catastrophic blowups (if it happens inside
> event_handler_gdk or [EmacsView mouseMoved:]), or to grabs never being
> released and resource leaks inside a menu.

Yes, understood.  But it just tells me that we need to change the
architecture so that the events delivered by the window-system are not
processed in callbacks we install to be called by the window-system,
they should be processed in our own safe context.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#60144: 30.0.50; PGTK Emacs crashes after signal
Resent-From: Po Lu <luangruo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 18 Dec 2022 13:46:01 +0000
Resent-Message-ID: <handler.60144.B60144.167137116012640 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 60144
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 60144 <at> debbugs.gnu.org, karl@HIDDEN
Received: via spool by 60144-submit <at> debbugs.gnu.org id=B60144.167137116012640
          (code B ref 60144); Sun, 18 Dec 2022 13:46:01 +0000
Received: (at 60144) by debbugs.gnu.org; 18 Dec 2022 13:46:00 +0000
Received: from localhost ([127.0.0.1]:34015 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1p6tzM-0003Ho-7x
	for submit <at> debbugs.gnu.org; Sun, 18 Dec 2022 08:46:00 -0500
Received: from sonic306-21.consmr.mail.ne1.yahoo.com ([66.163.189.83]:35573)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <luangruo@HIDDEN>) id 1p6tzJ-0003Hf-GY
 for 60144 <at> debbugs.gnu.org; Sun, 18 Dec 2022 08:45:58 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1671371152; bh=pAJV0sH4ZTrHOi3iGiSNDsWaYlnXDTzqdAbeTwf3nOc=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To;
 b=JoLrpNkfja47Zb2apJDLjmiGn7UR6BCWiagwxNM1+AUzhyQEjz0KEc2gwZHCp+D7mskmTJ9PyoDJy9WMWuZ91owjvvX9PsP2dXycsqY2aECJBzGYouFF1fupUoGxPA0hSz+UaShn8KoptfvApX27RrIeQxD0LZBNdkWAmmqfVnIurcnbevao/Zwo5KlSC2a7PM4kbL/yqO0Pxwz65798Fu7U+wZ/u0GEehBJzcTXKZO7aQzD1Oa4+i6ILQkyxrF/0DJRLkMpdzwGzc9q2AgG+sSvAf6P424kveW9+jc0wbyN9y7SjAM1/vIP8drrEbiPqbRpII4+bP0YIIpuBt1/8g==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048;
 t=1671371152; bh=VwKhu/CwQGIAb4A69NaS3VUK6oRwUjVZO7bHg8KFggy=;
 h=X-Sonic-MF:From:To:Subject:Date:From:Subject;
 b=T13XJIPcEwDg0wJaH1hFpYhP43S84dcPhnnBFGZswnzC6hxthQ4BCVUBRtch7+k1NL5s+NfVvJUMmCE5y+Dd9oqgP5y5a0qKllcEaFbG/zm0Lbz7yE9fiEcnBWcavNt6E76tBrJlX7zsu1PLK0xHUTD53/0n2b3irKG77vMoxw6gbkz5DfiaGT4DOeY/H5s5pRJEecT11p1CGb2NakGQZ9BOjYijewKJ3Vmf7ZSlD+XF8DHmMgGGrc5rV2+HdxETj05p1E+DC+zem/hJbBkzGLNM0R+/bgGal4BPb2Vkq3g5W5CCDqLGr/VKzQxeZFZup8aPMoPPWeTvTP+W8ew2uA==
X-YMail-OSG: uh.wnHcVM1mCNxOtl10qILkbM3AMJE986CYCtdLe7rUGBfUN70rFvoZtpJqisrt
 zImaA2GdjMXqZ3p5_BtaCkAOZ1XpkKDoLs0nzrCsbVv8GpE7rc4MyzK4di9zbEA3mshpt21XEOE9
 rGrnsXYFwfZZmpV1kTGgUfSAXY.bxe2V36kygQNer5ITflR.LXMPZ_h1E1_AZjh9Gp8.75mRwUUD
 32CQO_D1v.qYAwaB1FTrXXWiE3ZtRoJJPQdDE1_kH0jiqmBXsJiE2Kg.aGicQqDVyu4QlV.2xnvV
 3_aEoTugBlbBtAz8HNrQnnX_c7H2iIi_1qXTHfC9taLTN9RgPyzdU4gMUYpF03C1_Bw3PPqRlzot
 dLhCBrwtUO07RaWF9yI9lEqtSQDqvU4nPjElWuDRXFYeRPRn.uXJDs1noSIIG6D1eYLruCOM.V7g
 i4pqMMwLLRv04djbRJ.U9EMjEbhQfilkY6jc4aXAFxP3HpBL1CglGXU1QtPhZ.Ek1JwWs.N17XXv
 VKIviF6K.SRw2IGWywCK5QH92Ny5mWMvRNe.DSG5TEbt7Vzhs7RDTL58qDlEr9nuoNf9RZiqAGIV
 diL4n_CVj2MoorGVvCXGKlixH24X2Et1IQOxJ112BDXvv.AW1PWYjcWSmBnDD.RrKdHPIkIbvLjT
 V7hyCEhpuupcbVUfs93N1Bc2FqthoMAalCEl4pr6W_ID_I2Q41n5OCmzmqDfwmhcSd5fPmdxxp5v
 sywwFlSqIXvA6xi680I6CLi96It1yi9ET8gBAlaZo_HHlExDKhSSVA74e.5pTvzbDOTzlzOl.zaJ
 FR8IJ8KSXZl.p_w3ts5Q5gMgTujHyqU_7PzP1nVuTJmWBoN9_4jgA4hzEHp02zmlLKp3a.Y4k_eO
 b_may9UkD4lB7KoRCNo22YEio2lI4JrslLKf2Nwg0kS4ORzavJbWTDIgB4mGzGrgEvR3SXirs8Wv
 V2Ce9nWRKaysfpKlj6Tjyz6_8YXgGiRwrZsjK8K38TLIC32h.00giizI7xBKwSvM9IShdwGZwEAS
 Cyb9YGq_12FjWLE4a9hm1SMCuSUyIEjvLxgG4E036OtPaWUkCosfcyPtXqeaFSHB9qbitaxovEfI
 UQDDxCmAale_BTUa4ZgTXQw9Lyp7LTprKw2GLz6AEsgz2ycJZvvtZsgLoI2SF3nGDC2lGzID3AI5
 3njt7x2zE5is6stulotrlka8MzxJMW3tYFRjzSlJMZVWIpoyVnv7GqZFiOx2rfRAiszpVrX4qu6D
 BlXfUQ_fibmzbY3RV4GCQR64fNzMLqdaXvjPeyubgOchQ9krqPa.FNG.DlsDA770Pwx.BZhTXl6.
 cgZBl6sVTSPYFDoTOW_D7e33anQ.5pC74OyY_bZUss9YlLwQSoL5ZwYxX3l.u4f1y7zrdodIDKvQ
 k2TpMwfOkH62uzSQFdMtSmb785lD4TEwXrwVYiwosJGIyeGoTnGg1r3MnqRQZUshAX38j02waYuC
 uK7E4RUU5.g.dFdfTnuc_nfE1BePvkuajvW_Jznianc0ZnHHPb0Vxubn7tjzbX0_Y78BjZXphxEE
 rSbM1vmAkhY4UsTHVTVdd0ZlyY05H0vKKBgavdwgYgL.M09ZyDW5lWr68uIO70t02L.3s68Nrkkc
 L9JClWG0GR1BSQ21oad0J9q5vp9rtY3zvxOI7cPvay1tvNKcle1XD78xfCRkFg7Xeqc9LbUODUNF
 3iHG0bl2dwF43GCEB.eo1wNeDvxpp3vw5fsH46gnO3Xksg.EQ5dxwEHKmL6.wFxm0tG1lVkWtPVX
 T6nYIpdYjMsqeV9l6BLvKto2lrso0MxjcM21jpZ0sGcg8hVZavb_kOMP4cXWP7J0hQjP7tE5e9Y_
 Z1BnZ04MQHdiFi9t0YTs0d9zvNVLnYwG9j._T24xSK3kKh8meDwBLyHoWoWIpwpczX2uE3IYaC7e
 Bf9wL.q9KghpGbgWXC.yUeeTPEu0jvVL3l_3sPHFaDmskWupApGQ9CNcW5Z8fIPxN8OIYlYjP1qE
 dDh5MCnHk4lPIecm1kI9UoURsXSvXlJxjLI2W8Dqk3KyaMKA1eiLa.R8uLQcNf4GpcNf0HOsIyHv
 dIjWo5CD0vyHUPFenjucSWI4l4v4oSdw6xmeZIuvINU8ZKMjlZM4tp3K1k7IVrpLDjtzjDbfhCmL
 PXgF1x897nocpboOhLZC7zDu1VUeUC2k_PAwaZvyY7LWnJZBOTvFK8IpaXRLmWJmfqQrQoE5QqyX
 yvnErjB8NWgL3h7RnHC8kt206bVsHxNGxONEOi_ya8shCizUJTU1OZ8Z01WR_Pvx6ne12
X-Sonic-MF: <luangruo@HIDDEN>
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic306.consmr.mail.ne1.yahoo.com with HTTP; Sun, 18 Dec 2022 13:45:52 +0000
Received: by hermes--production-sg3-b666c6484-7wpvn (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 6d778dc2dec0b955081d7599e1b644e1; 
 Sun, 18 Dec 2022 13:45:46 +0000 (UTC)
From: Po Lu <luangruo@HIDDEN>
In-Reply-To: <83bko0gact.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 18 Dec
 2022 14:33:22 +0200")
References: <CAGk_8X+jaz1kOcxx3j4kY3NN2UzWBX7_8+2eX3h7SR9gt-Cz4w@HIDDEN>
 <87edsxfop0.fsf@HIDDEN> <83359dgt7v.fsf@HIDDEN>
 <87a63lfcz7.fsf@HIDDEN> <83y1r5f6lh.fsf@HIDDEN>
 <875ye9f385.fsf@HIDDEN> <83fsddey48.fsf@HIDDEN>
 <871qowgbay.fsf@HIDDEN> <83bko0gact.fsf@HIDDEN>
Date: Sun, 18 Dec 2022 21:45:38 +0800
Message-ID: <87wn6oesfx.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Mailer: WebService/1.1.20982
 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo
Content-Length: 1831
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> That code has problems signalling errors, unless it is okay for
>> unblock_input to signal.
>
> I don't understand this part.  Why and how is unblock_input part of
> the picture?

Because unblock_input can call process_pending_signals, and in doing so
handle_async_input, which calls gobble_input (and thus the
read_socket_hook.)  As a result, it is not safe for any read_socket_hook
to signal as long as it is not ok for unblock_input to signal as well.

> So in the X/GTK build we have the same problem as with PGTK?  If so,
> why not change that as well, to work as I described, i.e. enqueue
> events to our own event queue, which we will then read and process in
> safe context?
>
> AFAIU, w32 already works like that.  Does it not?

It doesn't, see how w32_note_mouse_movement is called from
w32_read_socket.

> Yes, understood.  But it just tells me that we need to change the
> architecture so that the events delivered by the window-system are not
> processed in callbacks we install to be called by the window-system,
> they should be processed in our own safe context.

The problem is note_mouse_highlight is simply not supposed to signal.
It is a function called directly while handling async input as far back
as Emacs 19, much like expose_frame.  (IIRC back then there was a
slightly different implementation in each of the *term.c files.)

Moving note_mouse_highlight out of handle_one_xevent would lead to other
bugs, since mouse movement must be processed in order wrt to other X
events.  For example, if an XI_Motion event arrives and is queued, and
then a subsequent XI_Leave event arrives before that event has a chance
to be processed ``in our own safe context'', note_mouse_highlight will
be called after the mouse has left the frame, leading to stuck mouse
highlight.





Last modified: Sun, 18 Dec 2022 14:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.