While composing an email in mu4e, I get the following backtrace. It looks like this is because mu4e switches buffers between the time org-element-cache-reset is called and the time that org-element--cache-sync is called.
Debugger entered--Lisp error: (wrong-type-argument hash-table-p nil) clrhash(nil) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration)) future-change) (if next (progn (let* ((v next)) (aset v 3 (+ ... ...))) (aset next 2 (aref request 2)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))) (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration)) future-change) (if next (progn (let* (...) (aset v 3 ...)) (aset next 2 (aref request 2)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add ... org-element-cache-sync-duration)) future-change) (if next (progn (let* ... ...) (aset next 2 ...))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))) (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next ...) threshold (and ... ...) future-change) (if next (progn ... ...)) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))))) org-element--cache-sync(#<buffer *draft*>) apply(org-element--cache-sync #<buffer *draft*>) byte-code("r\301\302H\303H\"\210)\301\207" [timer apply 5 6] 4) timer-event-handler([t 0 0 600000 nil org-element--cache-sync (#<buffer *draft*>) idle 0]) read-from-minibuffer("Identity: " nil (keymap (10 . minibuffer-complete-and-exit) (13 . minibuffer-complete-and-exit) keymap (menu-bar keymap (minibuf "Minibuf" keymap (tab menu-item "Complete" minibuffer-complete :help "Complete as far as possible") (space menu-item "Complete Word" minibuffer-complete-word :help "Complete at most one word") (63 menu-item "List Completions" minibuffer-completion-help :help "Display all possible completions") "Minibuf")) (27 keymap (118 . switch-to-completions)) (prior . switch-to-completions) (63 . minibuffer-completion-help) (32 . minibuffer-complete-word) (9 . minibuffer-complete) keymap (menu-bar keymap (minibuf "Minibuf" keymap (previous menu-item "Previous History Item" previous-history-element :help "Put previous minibuffer history element in the minibuffer") (next menu-item "Next History Item" next-history-element :help "Put next minibuffer history element in the minibuffer") (isearch-backward menu-item "Isearch History Backward" isearch-backward :help "Incrementally search minibuffer history backward") (isearch-forward menu-item "Isearch History Forward" isearch-forward :help "Incrementally search minibuffer history forward") (return menu-item "Enter" exit-minibuffer :key-sequence "." :help "Terminate input and exit minibuffer") (quit menu-item "Quit" abort-recursive-edit :help "Abort input and exit minibuffer") "Minibuf")) (10 . exit-minibuffer) (13 . exit-minibuffer) (7 . abort-recursive-edit) (C-tab . file-cache-minibuffer-complete) (9 . self-insert-command) (XF86Back . previous-history-element) (up . previous-history-element) (prior . previous-history-element) (XF86Forward . next-history-element) (down . next-history-element) (next . next-history-element) (27 keymap (114 . previous-matching-history-element) (115 . next-matching-history-element) (112 . previous-history-element) (110 . next-history-element))) nil nil nil nil) completing-read-default("Identity: " (("Personal" "" "\"Mark A. Hershberger\" <m...@everybody.org>" "" nil "" "~/.signatures/personal.txt") ("Nichework" "" "\"Mark A. Hershberger\" <m...@nichework.com>" "NicheWork LLC" nil "" "~/.signatures/nichework.txt")) nil t nil nil nil nil) completing-read("Identity: " (("Personal" "" "\"Mark A. Hershberger\" <m...@everybody.org>" "" nil "" "~/.signatures/personal.txt") ("Nichework" "" "\"Mark A. Hershberger\" <m...@nichework.com>" "NicheWork LLC" nil "" "~/.signatures/nichework.txt")) nil t) gnus-alias-identity-prompt() #[nil "\301\302!\210\303\304!\205. \304 .\305!)\207" [identity visual-line-mode -1 fboundp gnus-alias-identity-prompt gnus-alias-use-identity] 2]() run-hooks(change-major-mode-after-body-hook text-mode-hook message-mode-hook mu4e-compose-mode-hook) apply(run-hooks (change-major-mode-after-body-hook text-mode-hook message-mode-hook mu4e-compose-mode-hook)) run-mode-hooks(mu4e-compose-mode-hook) mu4e-compose-mode() (catch (quote --cl-block-mu4e~compose-handler--) (set (make-local-variable (quote mu4e-compose-parent-message)) original-msg) (put (quote mu4e-compose-parent-message) (quote permanent-local) t) (run-hooks (quote mu4e-compose-pre-hook)) (condition-case nil (mu4e-draft-open compose-type original-msg) (quit (kill-buffer) (message "[mu4e] Operation aborted") (throw (quote --cl-block-mu4e~compose-handler--) nil))) (mu4e~draft-insert-mail-header-separator) (save-excursion (goto-char (point-max)) (let ((--dolist-tail-- includes) att) (while --dolist-tail-- (setq att (car --dolist-tail--)) (mml-attach-file (plist-get att :file-name) (plist-get att :mime-type)) (setq --dolist-tail-- (cdr --dolist-tail--))))) (mu4e~compose-set-friendly-buffer-name compose-type) (set-buffer-modified-p nil) (if (member compose-type (quote (new forward))) (message-goto-to) (message-goto-body)) (set (make-local-variable (quote mu4e-compose-parent-message)) original-msg) (put (quote mu4e-compose-parent-message) (quote permanent-local) t) (mu4e~compose-hide-headers) (mu4e-compose-mode)) mu4e~compose-handler(new) (if (eq compose-type (quote new)) (mu4e~compose-handler (quote new)) (let* ((docid (mu4e-message-field msg :docid)) (decrypt (and (member (quote encrypted) (mu4e-message-field msg :flags)) (if (eq mu4e-decryption-policy (quote ask)) (yes-or-no-p (mu4e-format "Decrypt message?")) mu4e-decryption-policy)))) (let ((viewwin (get-buffer-window mu4e~view-buffer))) (if (window-live-p viewwin) (progn (select-window viewwin)))) (mu4e~proc-compose compose-type decrypt docid))) (let ((msg (mu4e-message-at-point (quote noerror)))) (if (or msg (eq compose-type (quote new))) nil (mu4e-warn "No message at point")) (if (member compose-type (quote (reply forward edit new))) nil (mu4e-error "Invalid compose type '%S'" compose-type)) (if (and (eq compose-type (quote edit)) (not (member (quote draft) (mu4e-message-field msg :flags)))) (progn (mu4e-warn "Editing is only allowed for draft messages"))) (if (eq compose-type (quote new)) (mu4e~compose-handler (quote new)) (let* ((docid (mu4e-message-field msg :docid)) (decrypt (and (member (quote encrypted) (mu4e-message-field msg :flags)) (if (eq mu4e-decryption-policy ...) (yes-or-no-p ...) mu4e-decryption-policy)))) (let ((viewwin (get-buffer-window mu4e~view-buffer))) (if (window-live-p viewwin) (progn (select-window viewwin)))) (mu4e~proc-compose compose-type decrypt docid)))) mu4e-compose(new) mu4e-compose-new() call-interactively(mu4e-compose-new nil nil) command-execute(mu4e-compose-new) Emacs : GNU Emacs 24.5.1 (x86_64-pc-linux-gnu, GTK+ Version 3.16.4) of 2015-06-28 on trouble, modified by Debian Package: Org-mode version 8.3.1 (8.3.1-16-gf6aa53-elpa @ /home/mah/.emacs.d/elpa/org-20150810/) current state: ============== (setq org-hide-leading-stars t org-tab-first-hook '(org-hide-block-toggle-maybe org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-follow-link-hook '((lambda nil (when (eq major-mode (quote gnus-summary-mode)) (gnus-summary-insert-dormant-articles)) ) ) org-speed-command-hook '(org-speed-command-default-hook org-babel-speed-command-hook) org-gnus-prefer-web-links t org-reverse-note-order t org-occur-hook '(org-first-headline-recenter) org-metaup-hook '(org-babel-load-in-session-maybe) org-agenda-start-on-weekday nil org-clock-into-drawer 3 org-confirm-shell-link-function 'yes-or-no-p org-clock-out-switch-to-state "WAIT" org-startup-folded 'content org-special-ctrl-a/e t org-agenda-skip-scheduled-if-done t org-agenda-custom-commands '(("a" "My custom agenda" ((org-agenda-list nil nil 1) (sacha/org-agenda-load) (sacha/org-agenda-clock) (tags "PROJECT-WAITING") (tags-todo "WAITING") (tags-todo "-MAYBE")) ) ("c" todo #("DONE|DEFERRED|CANCELLED" 0 23 (face org-warning)) nil) ("w" todo #("WAITING" 0 7 (face org-warning)) nil) ("W" agenda "" ((org-agenda-ndays 21))) ("A" agenda "" ((org-agenda-skip-function (lambda nil (org-agenda-skip-entry-if (quote notregexp) "\\=.*\\[#A\\]")) ) (org-agenda-ndays 1) (org-agenda-overriding-header "Today's Priority #A tasks: ")) ) ("u" alltodo "" ((org-agenda-skip-function (lambda nil (org-agenda-skip-entry-if (quote scheduled) (quote deadline) (quote regexp) "<[^>\n]+>") ) ) (org-agenda-overriding-header "Unscheduled TODO entries: ")) ) ) org-default-notes-file "~/org/notes.org" org-todo-keyword-faces '(("TODO" :foreground "blue" :weight bold)) org-capture-templates '(("t" "Task" entry (file+headline "~/org/notes.org" "Tasks") "* TODO %?\n %u\n %a" :prepend t) ("j" "Journal Entry" entry (file "~/org/journal.org") "* Journal Entry at %U %^{Title}p\n:PROPERTIES:\n:Timestamp: %T\n:END:" :prepend t) ) org-agenda-include-diary t org-startup-indented t org-after-todo-state-change-hook '(org-clock-out-if-current) org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-tags-column -132 org-agenda-before-write-hook '(org-agenda-add-entry-text) org-babel-pre-tangle-hook '(save-buffer) org-mode-hook '(org-clock-load #[nil "\300\301\302\303\304$\207" [org-add-hook change-major-mode-hook org-show-block-all append local] 5] #[nil "\300\301\302\303\304$\207" [org-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-bullets-mode) org-fontify-done-headline t org-archive-hook '(org-attach-archive-delete-maybe) org-clock-persist t org-ctrl-c-ctrl-c-hook '(org-babel-hash-at-point org-babel-execute-safely-maybe) org-clock-auto-clock-resolution t org-clock-in-switch-to-state "INPROGRESS" org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-archive-location "archive/%s_archive::" org-todo-keywords '((sequence "TODO" "INPROGRESS(i!/!)" "WAIT(w)" "|" "CANCELED(@)" "DONE(@)")) org-agenda-ndays 7 org-fast-tag-selection-single-key 'expert org-confirm-elisp-link-function 'yes-or-no-p org-metadown-hook '(org-babel-pop-to-session-maybe) org-agenda-skip-deadline-if-done t org-babel-load-languages '((dot . t)) org-clock-sound t org-agenda-files '("~/home-files/org") org-clock-out-hook '(org-clock-remove-empty-clock-drawer) org-confirm-babel-evaluate nil org-clock-out-remove-zero-time-clocks t )