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
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
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.
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?
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.
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?
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.
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?
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.
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.
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.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.