Subject: 27.1.90; Slow org-capture on OpenBSD X

From: Timo Myyrä <[email-masked]>
Date: Tue, 29 Dec 2020 23:50:50 +0200

Hi,

Emacs is by default very slow when running org-capture when using
graphical emacs on OpenBSD. This behaviour has been present for few
versions already and others seems to have spotted similar issue [0].

Steps to reproduce issue:
- Run 'emacs -Q' on OpenBSD X
- switch major-mode to org-mode
- run 'org-capture'
- select template 't'

After selecting template the emacs seems to freeze for a while but
completes if I wait enough. My inaccurate wall clock measurement seems to
give that first time running org-capture it takes about 30s. to
complete. Later runs seems to work a bit faster and complete in 16s.

Setting x-selection-timeout to 10 makes org-capture complete almost
instantaneously but this seems be working around the issue and not
fixing the root cause.

[0] https://omecha.info/blog/org-capture-freezes-emacs.html

In GNU Emacs 27.1.90 (build 1, x86_64-unknown-openbsd, GTK+ Version 3.24.24)
 of 2020-12-19 built on asteroid.bittivirhe.fi
Windowing system distributor 'The X.Org Foundation', version 11.0.12010000
System Description: OpenBSD asteroid.bittivirhe.fi 6.8 GENERIC.MP#17 amd64

Recent messages:
Mark set
Auto-saving...

Configured using:
 'configure --build=amd64-unknown-openbsd --without-sound
 --with-x-toolkit=gtk3 --prefix=/usr/local --sysconfdir=/etc
 --mandir=/usr/local/man --infodir=/usr/local/info --localstatedir=/var
 --disable-silent-rules --disable-gtk-doc 'CFLAGS=-O2 -pipe -g'
 CPPFLAGS=-I/usr/local/include 'LDFLAGS=-L/usr/local/lib -g''

Configured features:
XPM JPEG TIFF GIF PNG RSVG DBUS GSETTINGS GLIB NOTIFY KQUEUE GNUTLS
LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 XDBE XIM MODULES THREADS JSON PDUMPER LCMS2 GMP

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Org

Minor modes in effect:
  pdf-occur-global-minor-mode: t
  TeX-PDF-mode: t
  org-indent-mode: t
  buffer-face-mode: t
  magit-auto-revert-mode: t
  auto-revert-mode: t
  global-git-commit-mode: t
  async-bytecomp-package-mode: t
  shell-dirtrack-mode: t
  electric-pair-mode: t
  which-function-mode: t
  delete-selection-mode: t
  show-paren-mode: t
  recentf-mode: t
  savehist-mode: t
  sly-symbol-completion-mode: t
  minibuffer-electric-default-mode: t
  minibuffer-depth-indicate-mode: t
  icomplete-mode: t
  save-place-mode: t
  which-key-mode: t
  override-global-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: org-auto-fill-function
  visual-line-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/tmy/.emacs.d/elpa/modus-themes-20201218.1132/modus-vivendi-theme hides /home/tmy/.emacs.d/elpa/modus-vivendi-theme-20201114.729/modus-vivendi-theme
/home/tmy/.emacs.d/elpa/jsonrpc-1.0.14/jsonrpc hides /usr/local/share/emacs/27.1.90/lisp/jsonrpc
/home/tmy/.emacs.d/elpa/xref-1.0.4/xref hides /usr/local/share/emacs/27.1.90/lisp/progmodes/xref
/home/tmy/.emacs.d/elpa/project-0.5.3/project hides /usr/local/share/emacs/27.1.90/lisp/progmodes/project
/home/tmy/.emacs.d/elpa/flymake-1.0.9/flymake hides /usr/local/share/emacs/27.1.90/lisp/progmodes/flymake
/home/tmy/.emacs.d/elpa/seq-2.22/seq hides /usr/local/share/emacs/27.1.90/lisp/emacs-lisp/seq
/home/tmy/.emacs.d/elpa/eldoc-1.11.0/eldoc hides /usr/local/share/emacs/27.1.90/lisp/emacs-lisp/eldoc

Features:
(shadow ob-ditaa ob-plantuml org-clock org-colview org-crypt org-habit
profiler proced go-mode find-file markdown-mode vc-mtn vc-hg eglot array
jsonrpc ert ewoc typescript-mode js php-mode cc-langs php-face php
php-project pcmpl-unix em-unix em-term term ehelp em-script em-prompt
em-ls em-hist em-pred em-glob em-dirs esh-var em-cmpl em-basic em-banner
em-alias esh-mode tramp-cmds sh-script smie reftex-ref reftex-parse
reftex-index reftex-dcr reftex reftex-loaddefs reftex-vars vc-bzr vc-src
vc-sccs vc-svn vc-cvs vc-rcs plain-tex pdf-sync pdf-annot pdf-outline
pdf-links pdf-history pdf-occur tablist tablist-filter
semantic/wisent/comp semantic/wisent semantic/wisent/wisent
semantic/util-modes semantic/util semantic semantic/tag semantic/lex
semantic/fw mode-local cedet pdf-isearch let-alist pdf-misc pdf-tools
cus-edit cus-start cus-load pdf-view pdf-cache pdf-info tq pdf-util
bongo lastfm-submit preview tex-buf font-latex latex latex-flymake
tex-ispell tex-style tex dbus texmathp tex-mode latexenc org-archive rx
url-about url-dav url-http url-auth url-dired url-gw hippie-exp tramp-sh
tramp-cache tramp tramp-loaddefs trampver tramp-integration files-x
tramp-compat ls-lisp emacsbug macros magit-imenu git-rebase ispell
org-duration cal-iso diary-lib diary-loaddefs holidays hol-loaddefs
cal-move tabify org-indent elfeed-link elfeed-show elfeed-search
elfeed-csv elfeed elfeed-curl elfeed-log xml-query elfeed-db elfeed-lib
org-capture org-agenda org-refile shr-color color edebug two-column
iso-transl cursor-sensor gnus-fun flow-fill korea-util cwarn cc-mode
cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs pulse view eieio-opt speedbar sb-image ezimage dframe forms
forms-mode mailalias ol-eww eww ol-rmail ol-mhe ol-irc ol-info ol-gnus
ol-docview doc-view jka-compr image-mode exif ol-bibtex bibtex ol-bbdb
ol-w3m nnir goto-addr cl-print debug backtrace find-dired ffap
magit-extras mule-util vc-git bug-reference face-remap magit-bookmark
magit-submodule magit-obsolete magit-blame magit-stash magit-reflog
magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote
magit-commit magit-sequence magit-notes magit-worktree magit-tag
magit-merge magit-branch magit-reset magit-files magit-refs magit-status
magit magit-repos magit-apply magit-wip magit-log magit-diff magit-core
magit-autorevert autorevert filenotify magit-margin magit-transient
magit-process magit-mode git-commit transient magit-git magit-section
magit-utils crm log-edit pcvs-util with-editor async-bytecomp async
shell server misearch multi-isearch gnus-dired hl-line ibuf-ext ibuffer
ibuffer-loaddefs executable gnus-html url-queue help-fns radix-tree
url-cache mm-url qp sort smiley gnus-cite mm-archive mail-extr
gnus-bcklg gnus-ml disp-table nndraft nnmh utf-7 nnfolder epa-file
network-stream nsm add-log company-oddmuse company-keywords
company-etags company-gtags company-dabbrev-code company-dabbrev
company-files company-clang company-capf company-cmake company-semantic
company-bbdb cap-words superword subword elec-pair whitespace which-func
delsel paren recentf tree-widget savehist init company-php
company-template company pcase ac-php-core popup xcscope f dash s
sly-repl-ansi-color sly sly-completion sly-buttons sly-messages
sly-common apropos etags fileloop xref project arc-mode archive-mode
hyperspec rvm flymake-eslint flymake-proc flymake warnings smerge-mode
diff-mode diff vc vc-dispatcher dired-aux dired-x imenu minibuf-eldef
mb-depth icomplete-vertical icomplete gnus-agent gnus-srvr gnus-score
score-mode nnvirtual gnus-msg gnus-cache gnus-async nntp gnus-art mm-uu
mml2015 mm-view mml-smime smime dig gnus-sum url url-proxy url-privacy
url-expand url-methods url-history mailcap shr url-cookie url-domsuf
url-util svg xml dom gnus-group gnus-undo gnus-start gnus-cloud nnimap
nnmail mail-source utf7 nnoo parse-time iso8601 gnus-spec gnus-int
gnus-range message rmc dired dired-loaddefs rfc822 mml mml-sec epa
derived epg epg-config mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util rmail
rmail-loaddefs wid-edit smtpmail sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils ox-odt rng-loc rng-uri rng-parse rng-match
rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util
ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox org-element
avl-tree generator org ob ob-tangle ob-ref ob-lob ob-table ob-exp
org-macro org-footnote org-src ob-comint org-pcomplete pcomplete
org-list org-faces org-entities time-date noutline outline org-version
ob-emacs-lisp ob-core ob-eval org-table ol org-keys org-compat org-macs
org-loaddefs format-spec find-func ssh-tunnels netrc eshell esh-cmd
esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util
exec-path-from-shell bookmark text-property-search pp saveplace time
time-stamp solar cal-dst suomalainen-kalenteri cal-menu calendar
cal-loaddefs modus-vivendi-theme modus-themes easy-kill thingatpt
ansible-vault grep compile comint ansi-color ring diminish which-key
advice use-package-diminish edmacro kmacro use-package-bind-key bind-key
use-package-ensure gnutls puny cl-extra help-mode use-package-core
finder-inf tex-site easy-mmode info package easymenu browse-url
url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv
bytecomp byte-compile cconv cl-loaddefs cl-lib tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer
select scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind kqueue lcms2 dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 1391595 126462)
 (symbols 48 105172 11)
 (strings 32 319831 27059)
 (string-bytes 1 37818734)
 (vectors 16 143572)
 (vector-slots 8 2819118 124294)
 (floats 8 8424 2129)
 (intervals 56 120785 13460)
 (buffers 1000 308))