Эмакс Орг Агент замораживается [закрыто]

Вопрос или проблема

Используя Mac M3 Pro, версия Emacs: 29.4, версия org-mode: 9.7.11, Prelude

Когда я запускаю Org Agenda, он зависает примерно на минуту. Я включил отладчик, и получил этот след. (пришлось обрезать, чтобы соответствовать ограничениям)

Та же версия emacs и org mode работала нормально на моем предыдущем ноутбуке (Mac Intel)

Debugger entered--entering a function:
* substitute-command-keys("Quit")
  (let* ((key-cons (and t (let ((idx (or 10 10))) (let* ((parray ...)) (if parray (let* ... ...) (let* ... ...))))))) (if key-cons (if (eq org-element--cache-sync-keys-value (car key-cons)) (progn (cdr key-cons))) nil))
  (or (let* ((key-cons (and t (let ((idx ...)) (let* (...) (if parray ... ...)))))) (if key-cons (if (eq org-element--cache-sync-keys-value (car key-cons)) (progn (cdr key-cons))) nil)) (let* ((begin (org-element-begin element)) (type (org-element-type element)) (key (cond ((memq type '...) (1+ begin)) ((eq type 'section) (1- begin)) ((eq type 'org-data) (- begin 2)) (t begin)))) (if org-element--cache-sync-requests (progn (let* ((value (cons org-element--cache-sync-keys-value key))) (if (eq (org-element-type element t) 'plain-text) (org-add-props element nil :org-element--cache-sync-key value) (let (...) (if parray ...) element))))) key))
  org-element--cache-key((plain-list (:standard-properties [188660 188660 188660 188691 188691 0 nil planning element t nil nil nil nil #<buffer work.org> nil ((188660 4 "- " nil nil nil 188691)) (section (:standard-properties [188660 188660 188660 188691 188691 0 nil section element t nil 188660 188691 nil #<buffer work.org> nil nil (headline ...)]))] :type unordered)))
  (org-element--cache-key-less-p (org-element--cache-key a) (org-element--cache-key b))
  org-element--cache-compare((plain-list (:standard-properties [188660 188660 188660 188691 188691 0 nil planning element t nil nil nil nil #<buffer work.org> nil ((188660 4 "- " nil nil nil 188691)) (section (:standard-properties [188660 188660 188660 188691 188691 0 nil section element t nil 188660 188691 nil #<buffer work.org> nil nil (headline ...)]))] :type unordered)) (headline (:standard-properties [190193 190193 190208 190600 190600 0 (:title) section element t nil 190210 190600 2 #<buffer work.org> [org-element-deferred org-element--headline-deferred nil t] nil nil] :pre-blank 0 :raw-value [org-element-deferred org-element--headline-parse-title (t) t] :title [org-element-deferred org-element--headline-parse-title (t) t] :level [org-element-deferred org-element--headline-parse-title (t) t] :priority [org-element-deferred org-element--headline-parse-title (t) t] :tags [org-element-deferred org-element--headline-parse-title (t) t] :todo-keyword [org-element-deferred org-element--headline-parse-title (t) t] :todo-type [org-element-deferred org-element--headline-parse-title (t) t] :footnote-section-p [org-element-deferred org-element--headline-parse-title (t) t] :archivedp [org-element-deferred org-element--headline-parse-title (t) t] :commentedp [org-element-deferred org-element--headline-parse-title (t) t])))
  avl-tree--do-enter(org-element--cache-compare [[[[[[... ... ... -1] [... ... ... -1] (plain-list ...) 0] [[... ... ... 0] [nil nil ... 0] (headline ...) -1] (headline (:standard-properties ... :pre-blank 0 :raw-value ... :title ... :level 4 :priority nil :tags nil :todo-keyword "DONE" :todo-type done :footnote-section-p ... :archivedp ... :commentedp nil)) -1] [[[... ... ... -1] [... ... ... -1] (plain-list ...) 0] [[... ... ... 0] [nil nil ... 0] (headline ...) -1] (headline (:standard-properties ... :pre-blank 0 :raw-value ... :title ... :level 4 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p ... :archivedp ... :commentedp nil)) -1] (plain-list (:standard-properties [188318 188318 188318 188382 188382 0 nil planning element t nil nil nil nil #<buffer work.org> nil ... ...] :type ordered)) 0] [[[[... ... ... 0] [... ... ... -1] (headline ...) -1] [[... ... ... 0] [... ... ... -1] (headline ...) -1] (headline (:standard-properties ... :pre-blank 0 :raw-value ... :title ... :level 3 :priority nil :tags nil :todo-keyword "TODO" :todo-type todo :footnote-section-p ... :archivedp ... :commentedp nil)) 0] [[[... ... ... -1] [... ... ... 0] (headline ...) 1] [[... ... ... 0] [... ... ... 0] (table-row ...) 0] (table-row (:standard-properties ... :type rule)) -1] (headline (:standard-properties [189688 189688 189719 189757 189757 0 ... nil element t nil 189721 189757 4 #<buffer work.org> ... nil ...] :pre-blank 0 :raw-value [org-element-deferred org-element--headline-raw-value ... t] :title [org-element-deferred org-element-property-2 ... nil] :level 4 :priority nil :tags nil :todo-keyword "TODO" :todo-type todo :footnote-section-p ... :archivedp ... :commentedp nil)) 0] (plain-list (:standard-properties [188660 188660 188660 188691 188691 0 nil planning element t nil nil nil nil #<buffer work.org> nil (...) (section ...)] :type unordered)) 1] [[[[[... ... ... 0] [... ... ... 0] (table-row ...) 0] [[... ... ... 0] [... ... ... 0] (table-row ...) 0] (table-row (:standard-properties ... :type standard)) 0] [[[... ... ... 0] [... ... ... 0] (table-row ...) 0] [[... ... ... 0] [... ... ... 0] (table-row ...) 0] (table-row (:standard-properties ... :type standard)) 0] (table-row (:standard-properties [350976 350976 350979 351057 351058 0 nil table-row element t nil nil nil nil #<buffer work.org> nil nil ...] :type standard)) 0] [[[[... ... ... 0] [... ... ... 0] (table-row ...) 0] [[... ... ... 0] [... ... ... 0] (table-row ...) 0] (table-row (:standard-properties ... :type standard)) 0] [[[... ... ... 0] [... ... ... 0] (table-row ...) 0] [[... ... ... 0] [... ... ... 0] (table-row ...) 0] (table-row (:standard-properties ... :type standard)) 0] (table-row (:standard-properties [353600 353600 353603 353681 353682 0 nil table-row element t nil nil nil nil #<buffer work.org> nil nil ...] :type standard)) 1] (table-row (:standard-properties [352288 352288 352291 352369 352370 0 nil table-row element t nil nil nil nil #<buffer work.org> nil nil (table ...)] :type standard)) 1] (table-row (:standard-properties [349660 349660 349663 349741 349742 0 nil table-row element t nil nil nil nil #<buffer work.org> nil nil (table (:standard-properties ... :type org :tblfm nil :value nil))] :type standard)) -1] 0 (headline (:standard-properties [190193 190193 190208 190600 190600 0 (:title) section element t nil 190210 190600 2 #<buffer work.org> [org-element-deferred org-element--headline-deferred nil t] nil nil] :pre-blank 0 :raw-value [org-element-deferred org-element--headline-parse-title (t) t] :title [org-element-deferred org-element--headline-parse-title (t) t] :level [org-element-deferred org-element--headline-parse-title (t) t] :priority [org-element-deferred org-element--headline-parse-title (t) t] :tags [org-element-deferred org-element--headline-parse-title (t) t] :todo-keyword [org-element-deferred org-element--headline-parse-title (t) t] :todo-type [org-element-deferred org-element--headline-parse-title (t) t] :footnote-section-p [org-element-deferred org-element--headline-parse-title (t) t] :archivedp [org-element-deferred org-element--headline-parse-title (t) t] :commentedp [org-element-deferred org-element--headline-parse-title (t) t])))
  avl-tree--do-enter(org-element--cache-compare [[[[[... ... ... 0] [... ... ... 0] (plain-list ...) 0] [[... ... ... -1] [... ... ... -1] (headline ...) 0] (plain-list (:standard-properties ... :type unordered)) -1] [[[... ... ... 0] [... ... ... 0] (section ...) 0] [[... ... ... -1] [... ... ... -1] (headline ...) 0] (headline (:standard-properties ... :pre-blank 0 :raw-value ... :title ... :level 4 :priority nil :tags nil :todo-keyword "CLOSED" :todo-type done :footnote-section-p ... :archivedp ... :commentedp nil)) -1] (section (:standard-properties [184237 184237 184237 184264 184264 0 nil section element t nil 184237 184264 nil #<buffer work.org> nil nil ...])) 0] [[[[... ... ... -1] [... ... ... -1] (plain-list ...) 0] [[... ... ... 0] [... ... ... -1] (headline ...) 0] (plain-list (:standard-properties ... :type unordered)) 1] [[[... ... ... 0] [... ... ... 0] (table-row ...) 0] [[... ... ... 0] [... ... ... 0] (table-row ...) 1] (table-row (:standard-properties ... :type standard)) 1] (table-row (:standard-properties [349660 349660 349663 349741 349742 0 nil table-row element t nil nil nil nil #<buffer work.org> nil nil ...] :type standard)) -1] (headline (:standard-properties [187244 187244 187259 187465 187465 0 (:title) section element t nil 187261 187465 2 #<buffer work.org> [org-element-deferred org-element--headline-deferred nil t] nil (headline ...)] :pre-blank 0 :raw-value [org-element-deferred org-element--headline-raw-value (3 14) t] :title [org-element-deferred org-element-property-2 (:raw-value) nil] :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil)) 0] 1 (headline (:standard-properties [190193 190193 190208 190600 190600 0 (:title) section element t nil 190210 190600 2 #<buffer work.org> [org-element-deferred org-element--headline-deferred nil t] nil nil] :pre-blank 0 :raw-value [org-element-deferred org-element--headline-parse-title (t) t] :title [org-element-deferred org-element--headline-parse-title (t) t] :level [org-element-deferred org-element--headline-parse-title (t) t] :priority [org-element-deferred org-element--headline-parse-title (t) t] :tags [org-element-deferred org-element--headline-parse-title (t) t] :todo-keyword [org-element-deferred org-element--headline-parse-title (t) t] :todo-type [org-element-deferred org-element--headline-parse-title (t) t] :footnote-section-p [org-element-deferred org-element--headline-parse-title (t) t] :archivedp [org-element-deferred org-element--headline-parse-title (t) t] :commentedp [org-element-deferred org-element--headline-parse-title (t) t])) nil)
  avl-tree--do-enter(org-element--cache-compare [[[[[... ... ... 0] [... ... ... 0] (headline ...) -1] [[... ... ... 0] [... ... ... 0] (plain-list ...) -1] (headline (:standard-properties ... :pre-blank 0 :raw-value ... :title ... :level 3 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p ... :archivedp ... :commentedp nil)) 0] [[[... ... ... 0] [... ... ... 0] (plain-list ...) -1] [[... ... ... 0] [... ... ... 0] (headline ...) -1] (headline (:standard-properties ... :pre-blank 0 :raw-value ... :title ... :level 4 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p ... :archivedp ... :commentedp nil)) 0] (headline (:standard-properties [169689 169689 169704 169772 169772 0 ... nil element t nil 169706 169772 4 #<buffer work.org> ... nil ...] :pre-blank 0 :raw-value [org-element-deferred org-element--headline-raw-value ... t] :title [org-element-deferred org-element-property-2 ... nil] :level 4 :priority nil :tags nil :todo-keyword "TODO" :todo-type todo :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil)) 0] [[[[... ... ... 0] [... ... ... 0] (plain-list ...) -1] [[... ... ... 0] [... ... ... 0] (headline ...) -1] (section (:standard-properties ...)) 0] [[[... ... ... 0] [... ... ... 0] (plain-list ...) 1] [[... ... ... 0] [... ... ... 1] (table-row ...) 1] (table-row (:standard-properties ... :type standard)) -1] (headline (:standard-properties [187244 187244 187259 187465 187465 0 ... section element t nil 187261 187465 2 #<buffer work.org> ... nil ...] :pre-blank 0 :raw-value [org-element-deferred org-element--headline-raw-value ... t] :title [org-element-deferred org-element-property-2 ... nil] :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil)) 0] (section (:standard-properties [181301 181301 181301 181337 181337 0 nil section element t nil 181301 181337 nil #<buffer work.org> nil nil (headline ...)])) 0] 1 (headline (:standard-properties [190193 190193 190208 190600 190600 0 (:title) section element t nil 190210 190600 2 #<buffer work.org> [org-element-deferred org-element--headline-deferred nil t] nil nil] :pre-blank 0 :raw-value [org-element-deferred org-element--headline-parse-title (t) t] :title [org-element-deferred org-element--headline-parse-title (t) t] :level [org-element-deferred org-element--headline-parse-title (t) t] :priority [org-element-deferred org-element--headline-parse-title (t) t] :tags [org-element-deferred org-element--headline-parse-title (t) t] :todo-keyword [org-element-deferred org-element--headline-parse-title (t) t] :todo-type [org-element-deferred org-element--headline-parse-title (t) t] :footnote-section-p [org-element-deferred org-element--headline-parse-title (t) t] :archivedp [org-element-deferred org-element--headline-parse-title (t) t] :commentedp [org-element-deferred org-element--headline-parse-title (t) t])) nil)
  avl-tree--do-enter(org-element--cache-compare [[[[[... ... ... -1] [... ... ... -1] (headline ...) 0] [[... ... ... 0] [... ... ... 0] (section ...) 0] (headline (:standard-properties ... :pre-blank 0 :raw-value ... :title ... :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p ... :archivedp ... :commentedp nil)) 0] [[[... ... ... -1] [... ... ... 1] (plain-list ...) 0] [[... ... ... -1] [... ... ... -1] (plain-list ...) 0] (section (:standard-properties ...)) 0] (headline (:standard-properties [144383 144383 nil nil 144440 1 ... section element t nil nil nil 4 #<buffer work.org> ... nil ...] :pre-blank 0 :raw-value [org-element-deferred org-element--headline-raw-value ... t] :title [org-element-deferred org-element-property-2 ... nil] :level 4 :priority nil :tags nil :todo-keyword "DONE" :todo-type done :footnote-section-p [org-element-deferred org-element--headline-footnote-section-p nil nil] :archivedp [org-element-deferred org-element--headline-archivedp nil nil] :commentedp nil)) 0] [[[[... ... ... -1] [... ... ... -1] (headline ...) 0] [[... ... ... -1] [... ... ... -1] (headline ...) 0] (headline (:standard-properties ... :pre-blank 0 :raw-value ... :title ... :level 4 :priority nil :tags nil :todo-keyword "TODO" :todo-type todo :footnote-section-p ... :archivedp ... :commentedp nil)) 0] [[[... ... ... -1] [... ... ... -1] (section ...) 0] [[... ... ... 1] [... ... ... 1] (table-row ...) -1] (headline (:standard-properties ... :pre-blank 0 :raw-value ... :title ... :level 2 :priority nil :tags nil :todo-keyword nil :todo-type nil :footnote-section-p ... :archivedp ... :commentedp nil)) 0] (section (:standard-properties [181301 181301 181301 181337 181337 0 nil section element t nil 181301 181337 nil #<buffer work.org> nil nil ...])) 0] (plain-list (:standard-properties [161895 161895 161895 162016 162016 0 nil planning element t nil nil nil nil #<buffer work.org> nil (... ... ...) (section ...)] :type ordered)) 0] 1 (headline (:standard-properties [190193 190193 190208 190600 190600 0 (:title) section element t nil 190210 190600 2 #<buffer work.org> [org-element-deferred org-element--headline-deferred nil t] nil nil] :pre-blank 0 :raw-value [org-element-deferred org-element--headline-parse-title (t) t] :title [org-element-deferred org-element--headline-parse-title (t) t] :level [org-element-deferred org-element--headline-parse-title (t) t] :priority [org-element-deferred org-element--headline-parse-title (t) t] :tags [org-element-deferred org-element--headline-parse-title (t) t] :todo-keyword [org-element-deferred org-element--headline-parse-title (t) t] :todo-type [org-element-deferred org-element--headline-parse-title (t) t] :footnote-section-p [org-element-deferred org-element--headline-parse-title (t) t] :archivedp [org-element-deferred org-element--headline-parse-title (t) t] :commentedp [org-element-deferred org-element--headline-parse-title (t) t])) nil)
  -mapc #'(lambda ... ...) org-element--cache-variables --old-state))))))
  org-element-cache-map(#f(compiled-function (el) #<bytecode 0x16742eae3ba9dca1>))
  org-get-buffer-tags()
  org-make-tags-matcher(nil)
  org-tags-view(nil)
  funcall-interactively(org-tags-view nil)
  call-interactively(org-tags-view)
  org-agenda(nil)
  funcall-interactively(org-agenda nil)
  call-interactively(org-agenda nil nil)
  command-execute(org-agenda)

.

Ответ или решение

Решение проблемы с зависанием Org Agenda в Emacs

Проблема зависания Org Agenda в Emacs, которую вы описали, может быть связана с несколькими факторами: совместимостью версий, настройками конфигурации и спецификой вашего оборудования. Давайте подробно рассмотрим возможные причины и решения.

1. Проверка совместимости версий

На вашем Mac M3 Pro установлены версии Emacs 29.4 и org-mode 9.7.11, которые, по всей видимости, ранее работали без проблем на Intel. Тем не менее, архитектура M3 может обрабатывать код иначе, чем Intel. Чтобы убедиться, что именно это вызывает проблему, рекомендуется:

  • Обновление: Убедитесь, что у вас установлены последние версии Emacs и org-mode. Проверьте обновления и совместимость с вашей системой.
  • Переключение на другие версии: Попробуйте установить более ранние версии пакетов или вернуться к versii, работавшей на Intel, чтобы узнать, решит ли это проблему. Например, используйте пакетный менеджер, такой как elpa или straight.el, для установки конкретной версии org-mode.

2. Настройка Emacs

Ваши настройки Emacs могут быть причиной зависания. В частности, если у вас есть специфические конфигурации или пакеты, влияющие на работу Org Agenda, это может вызвать проблемы. Попробуйте следующее:

  • Минимальная конфигурация: Запустите Emacs без дополнительных пакетов (используйте emacs -Q), а затем попробуйте открыть Org Agenda. Если проблему не удается воспроизвести, это может указывать на источник проблемы в вашем конфигурационном файле.
  • Очистка кэша: Попробуйте очистить кэш Org, так как кэш может повредиться. Для этого откройте Emacs и выполните команду M-x org-element--cache-clear.

3. Оптимизация работы системы

Некоторые проблемы могут быть вызваны недостатком ресурсов или конфликтами в системе:

  • Проверка ресурсов: Используйте инструменты мониторинга системы, чтобы убедиться, что у вас достаточно ресурсов, таких как ОЗУ и процессорное время. Org Agenda может зависать, если системе не хватает ресурсов для обработки задач.
  • Отключение ненужных автозапусков: Если у вас есть много запущенных приложений, временно закройте их, чтобы освободить ресурсы.

4. Анализ ошибок

Вы указали, что включили отладчик и получили трассировку ошибок. Это важно для выявления корневой причины проблемы. По вашему лог-файлу можно заметить:

  • Значительное время тратится на выполнение функций внутри кэша Org, особенно org-element--cache-key и org-tags-view.
  • Попробуйте проанализировать, какие именно данные вызывают задержку. Часто это может быть связано с большими или сложными файлами Org, содержащими большое количество данных.

5. Установка пакетов для повышения производительности

Существуют специальные пакеты, которые могут помочь оптимизировать работу Org Mode:

  • Org-Persist: Этот пакет может помочь сохранять состояние Org файлов между сессиями, что может уменьшить время загрузки.
  • Org Super Agenda: Для более быстрой обработки задач и их категорий.

Заключение

Ваша проблема с зависанием Org Agenda в Emacs может быть результатом множества факторов, включая проблемы с совместимостью версий, специфические настройки, а также недостаток системных ресурсов. Следуя вышеописанным рекомендациям, вы сможете диагностировать и, возможно, устранить данную проблему. Если проблема остается нерешенной, возможно, стоит обратиться к сообществу Emacs или на специализированные форумы для более глубокой помощи.

Оцените материал
Добавить комментарий

Капча загружается...