* Bug: clock-in from org-agenda freezes thread when enforce + todo keywords [9.4.4 (release_9.4.4 @ /usr/local/share/emacs/28.0.50/lisp/org/)]
@ 2021-06-10 23:27 Tory S. Anderson
2021-06-22 12:14 ` Ihor Radchenko
0 siblings, 1 reply; 5+ messages in thread
From: Tory S. Anderson @ 2021-06-10 23:27 UTC (permalink / raw)
To: emacs-orgmode
After long bisection and suffering for a while from this issue, I have narrowed down an issue that is breaking my workflow. I noticed that some time recently orgmode has begun freezing my system (as an exwm user, this is serious) when I attempt to clock in to certain tasks from the agenda. Clocking in from their actual orgmode file works just fine, but sometimes then even checking the agenda causes thread freezing (I see my CPU spike to maximum on that thread, and emacs becomes unresponsive). In my minimal reproducable version, no packages are loaded other than org-mode and use-package. Here is my current version, although I've been encountering this problem for longer than I've been using this version, probably.
Besides all the details included below by the bug report, Here is the use-package declaration that produces the frozen thread when you attempt to clock in to the "parent" item in your agenda (it may be important that the dates/deadlines are "today"; I don't know). In this toy example you can recover with C-g a time or two, but in my full setup even c-g can take up to 30 seconds to register.
Steps to reproduce:
1. load emacs with the use-package declaration below
2. visit =M-x org-agenda<RET>a3. Clock in to the "Parent" item on the agenda by highlighting it and doing =C-c C-x <TAB> -- thread will freeze indefinitely, although in toy example you can break free with C-g
#+begin_src lisp
(use-package org
:straight (:type built-in)
:demand t
:custom
(org-enforce-todo-dependencies t)
(org-agenda-files
'("~/org/nested.org"))
(org-todo-keywords
'((type "TODO(t)" "STARTED(s)" "UNSTARTED(u)" "|" "DONE(d)")
(type "PENDING(p)" "HOLD(h)" "ONGOING(o)" "|" "DONE(d)")
(sequence "|" "CANCELED(c)" "ABSTAINED(a)"))))
#+end_src
Here is nested.org : https://gitlab.com/-/snippets/2133558
------------------------------------------------------------------------
Emacs : GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.29, cairo version 1.16.0)
of 2021-06-03
Package: Org mode version 9.4.4 (release_9.4.4 @ /usr/local/share/emacs/28.0.50/lisp/org/)
current state:
=============(setq
org-link-elisp-confirm-function 'yes-or-no-p
org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 "\n\n(fn ENTRY)"]
org-agenda-files '("~/org/nested.org")
org-export-before-parsing-hook '(org-attach-expand-links)
org-archive-hook '(org-attach-archive-delete-maybe)
org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines org-optimize-window-after-visibility-change)
org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-show-all append local] 5]
#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec
org-babel-hide-all-hashes)
org-confirm-shell-link-function 'yes-or-no-p
outline-isearch-open-invisible-function 'outline-isearch-open-invisible
org-agenda-before-write-hook '(org-agenda-add-entry-text)
org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer)
org-confirm-elisp-link-function 'yes-or-no-p
org-todo-keywords '((type "TODO(t)" "STARTED(s)" "UNSTARTED(u)" "|" "DONE(d)") (type "PENDING(p)" "HOLD(h)" "ONGOING(o)" "|" "DONE(d)")
(sequence "|" "CANCELED(c)" "ABSTAINED(a)"))
org-clock-out-hook '(org-clock-remove-empty-clock-drawer)
org-blocker-hook '(org-block-todo-from-children-or-siblings-or-parent)
org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate)
org-enforce-todo-dependencies t
org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand)
org-link-shell-confirm-function 'yes-or-no-p
org-babel-pre-tangle-hook '(save-buffer)
org-agenda-loop-over-headlines-in-active-region nil
org-occur-hook '(org-first-headline-recenter)
org-metadown-hook '(org-babel-pop-to-session-maybe)
org-link-parameters '(("attachment" :follow org-attach-follow :complete org-attach-complete-link) ("id" :follow org-id-open)
("eww" :follow org-eww-open :store org-eww-store-link) ("rmail" :follow org-rmail-open :store org-rmail-store-link)
("mhe" :follow org-mhe-open :store org-mhe-store-link) ("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export)
("info" :follow org-info-open :export org-info-export :store org-info-store-link)
("gnus" :follow org-gnus-open :store org-gnus-store-link)
("docview" :follow org-docview-open :export org-docview-export :store org-docview-store-link)
("bibtex" :follow org-bibtex-open :store org-bibtex-store-link)
("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link)
("w3m" :store org-w3m-store-link) ("file+sys") ("file+emacs") ("shell" :follow org-link--open-shell)
("news" :follow #[514 "\301\300\302Q\"\207" ["news" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("mailto" :follow #[514 "\301\300\302Q\"\207" ["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("https" :follow #[514 "\301\300\302Q\"\207" ["https" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("http" :follow #[514 "\301\300\302Q\"\207" ["http" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("ftp" :follow #[514 "\301\300\302Q\"\207" ["ftp" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("help" :follow org-link--open-help)
("file" :complete org-link-complete-file) ("elisp" :follow org-link--open-elisp) ("doi" :follow org-link--open-doi))
org-metaup-hook '(org-babel-load-in-session-maybe)
)
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Bug: clock-in from org-agenda freezes thread when enforce + todo keywords [9.4.4 (release_9.4.4 @ /usr/local/share/emacs/28.0.50/lisp/org/)]
2021-06-10 23:27 Bug: clock-in from org-agenda freezes thread when enforce + todo keywords [9.4.4 (release_9.4.4 @ /usr/local/share/emacs/28.0.50/lisp/org/)] Tory S. Anderson
@ 2021-06-22 12:14 ` Ihor Radchenko
2021-07-01 16:26 ` Timothy
2021-09-25 15:17 ` Bastien
0 siblings, 2 replies; 5+ messages in thread
From: Ihor Radchenko @ 2021-06-22 12:14 UTC (permalink / raw)
To: Tory S. Anderson; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 394 bytes --]
webdev@toryanderson.com (Tory S. Anderson) writes:
> Steps to reproduce:
>
> 1. load emacs with the use-package declaration below
> 2. visit =M-x org-agenda<RET>a3. Clock in to the "Parent" item on the agenda by highlighting it and doing =C-c C-x <TAB> -- thread will freeze indefinitely, although in toy example you can break free with C-g
Confirmed
The patch is attached.
Best,
Ihor
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Avoid-infinite-loop-in-org-agenda-dim-blocked-tasks.patch --]
[-- Type: text/x-diff, Size: 1265 bytes --]
From 5c4a699e5a8d9ce6045d0ce710dcf14b9a92d2d8 Mon Sep 17 00:00:00 2001
Message-Id: <5c4a699e5a8d9ce6045d0ce710dcf14b9a92d2d8.1624364038.git.yantar92@gmail.com>
From: Ihor Radchenko <yantar92@gmail.com>
Date: Tue, 22 Jun 2021 20:10:16 +0800
Subject: [PATCH] Avoid infinite loop in org-agenda-dim-blocked-tasks
* lisp/org-agenda.el (org-agenda-dim-blocked-tasks): When the blocked
task is the last line in agenda buffer and no trailing newline is
present, (move-beginning-of-line 2) would not move the point causing
infinite loop. Now, such case is handled correctly.
---
lisp/org-agenda.el | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 44acd035a..b5fc0179a 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -4107,7 +4107,9 @@ (defun org-agenda-dim-blocked-tasks (&optional _invisible)
(overlay-put ov 'face 'org-agenda-dimmed-todo-face))
(when invisible
(org-agenda-filter-hide-line 'todo-blocked)))
- (move-beginning-of-line 2))))
+ (if (= (point-max) (line-end-position))
+ (goto-char (point-max))
+ (move-beginning-of-line 2)))))
(when (called-interactively-p 'interactive)
(message "Dim or hide blocked tasks...done")))
--
2.31.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-09-25 15:27 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-10 23:27 Bug: clock-in from org-agenda freezes thread when enforce + todo keywords [9.4.4 (release_9.4.4 @ /usr/local/share/emacs/28.0.50/lisp/org/)] Tory S. Anderson
2021-06-22 12:14 ` Ihor Radchenko
2021-07-01 16:26 ` Timothy
2021-07-02 14:14 ` Ihor Radchenko
2021-09-25 15:17 ` Bastien
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).