Subject: 30.0.50; PGTK copy + paste to other app problem

From: Andrew Tropin <[email-masked]>
Date: Mon, 20 Mar 2023 14:33:30 +0400

Hello dear maintainers!

I use pgtk emacs on wayland (sway) and a few months ago started facing a
problem with copy/pasting to ungoogled-chromium.  Tried to find relevant
reports on bug-gun-emacs, but didn't succeed.

Way to reproduce and observed behavior:

0. guix shell emacs-next-pgtk (or build a fresh emacs with pgtk from master).
1. Launch emacs -Q.
2. Select any text and optionally copy it with M-w.
3. Paste it to chromium address bar with middle mouse or C-v if it was
copied with M-w.
4. Both chromium and emacs get frozen for some time.
5. After some time Emacs crashes, chromium unfreezes.
6. A few times I saw "waiting for reply from selection owner." in emacs
echo area, but can't reproduce it right now.

- The same workflow, but with foot terminal instead of emacs works fine.
- The same version of Emacs, but built without PGTK, works fine too:
guix shell emacs-next-tree-sitter -- emacs -Q
- Copy pasting from emacs-next-pgtk to alacritty and icecat works fine.

The report of this problem on bug-guix and a backtrace of segfault:
https://yhetil.org/guix-bugs/[email-masked]/

A temporary workaround we use (it solves M-w + C-v, but not selection +
middle mouse):
https://git.sr.ht/~abcdw/rde/commit/b6aef2d8b34d1166f33629b4b3a1a0f5751f90f9

Let me know if I can provide any additional information or testing.

In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.30, cairo version 1.16.0)
System Description: Guix System

Configured using:
 'configure
 CONFIG_SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash
 SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash
 --prefix=/gnu/store/701xsj5ngwasz7i962q5mdyqklvfhvx0-emacs-next-pgtk-30.0.50-0.ac7ec87
 --enable-fast-install --with-pgtk --with-modules --with-cairo
 --with-native-compilation --disable-build-details'

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

Important settings:
  value of $EMACSLOADPATH: /home/bob/.guix-home/profile/share/emacs/site-lisp:/gnu/store/701xsj5ngwasz7i962q5mdyqklvfhvx0-emacs-next-pgtk-30.0.50-0.ac7ec87/share/emacs/30.0.50/lisp:/gnu/store/701xsj5ngwasz7i962q5mdyqklvfhvx0-emacs-next-pgtk-30.0.50-0.ac7ec87/share/emacs/30.0.50/lisp
  value of $EMACSNATIVELOADPATH: /home/bob/.guix-home/profile/lib/emacs/native-site-lisp
  value of $LANG: en_US.utf8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Memory information:
((conses 16 77880 5562)
 (symbols 48 7125 0)
 (strings 32 19872 2975)
 (string-bytes 1 650293)
 (vectors 16 16564)
 (vector-slots 8 328550 6303)
 (floats 8 27 24)
 (intervals 56 222 0)
 (buffers 984 11))

-- 
Best regards,
Andrew Tropin