[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] still seeing semi-regular lockups
From: |
Matt Lundin |
Subject: |
Re: [O] still seeing semi-regular lockups |
Date: |
Wed, 25 Jun 2014 21:58:02 -0500 |
User-agent: |
Gnus/5.130012 (Ma Gnus v0.12) Emacs/24.4.50 (gnu/linux) |
Daimrod <address@hidden> writes:
> Matt Lundin <address@hidden> writes:
>>
>> With the latest git, I've experienced three lock-ups/freezes this
>> evening when a) archiving a subtree to a file, b) changing a todo state
>> with repeating timestamp, and 3) calling C-c C-c in an org-capture
>> buffer. (I don't think this is due to a recent change - I've been
>> running into these lockups sporadically for several months.)
>>
>> The freezes are very difficult to replicate reliably. When they happen,
>> emacs is unresponsive and can only be killed from the outside. Any tips
>> on how to debug this would be greatly appreciated.
>
> See my previous post:
> http://thread.gmane.org/gmane.emacs.orgmode/86255/focus=86263
>
> You can wrap `jit-lock--debug-fontify' with:
>
> (advice-add 'jit-lock--debug-fontify :around
> (lambda (fun &rest args)
> (with-local-quit (apply fun args))))
>
> and then force emacs to break and display a backtrace by sending the
> SIGUSR2 to the emacs process.
O.K., I built the most emacs development from bzr and used the advice
above.
With "killall -USR2 emacs", the following backtrace popped up, which
highlights flyspell as the culrpit. Note: I have flyspell turned on in
all text buffers, but I have (for several months) only experienced
lockups when using org-mode. I spend more time in TeX buffers than in
org-mode, and I have never had a lockup with AUCTeX.
--8<---------------cut here---------------start------------->8---
* (setq quit-flag t)
(condition-case nil (let ((inhibit-quit nil)) (let ((command
this-command) deactivate-mark) (if (flyspell-check-pre-word-p)
(save-excursion (quote (flyspell-debug-signal-pre-word-checked))
(goto-char flyspell-pre-point) (flyspell-word))) (if
(flyspell-check-word-p) (progn (quote
(flyspell-debug-signal-word-checked)) (flyspell-word) (setq
flyspell-pre-pre-buffer (current-buffer)) (setq flyspell-pre-pre-point
(point))) (setq flyspell-pre-pre-buffer nil) (setq
flyspell-pre-pre-point nil) (if (and (symbolp this-command) (get
this-command (quote flyspell-delayed))) (progn (setq
flyspell-word-cache-end -1) (setq flyspell-word-cache-result (quote
_))))) (while (and (not (input-pending-p)) (consp flyspell-changes))
(let ((start (car ...)) (stop (cdr ...))) (if
(flyspell-check-changed-word-p start stop) (save-excursion (quote ...)
(goto-char start) (flyspell-word))) (setq flyspell-changes (cdr
flyspell-changes)))) (setq flyspell-previous-command command))) (quit
(setq quit-flag t) (eval (quote (ignore nil)))))
(progn (condition-case nil (let ((inhibit-quit nil)) (let ((command
this-command) deactivate-mark) (if (flyspell-check-pre-word-p)
(save-excursion (quote (flyspell-debug-signal-pre-word-checked))
(goto-char flyspell-pre-point) (flyspell-word))) (if
(flyspell-check-word-p) (progn (quote
(flyspell-debug-signal-word-checked)) (flyspell-word) (setq
flyspell-pre-pre-buffer (current-buffer)) (setq
flyspell-pre-pre-point (point))) (setq flyspell-pre-pre-buffer nil)
(setq flyspell-pre-pre-point nil) (if (and (symbolp this-command)
(get this-command ...)) (progn (setq flyspell-word-cache-end -1)
(setq flyspell-word-cache-result ...)))) (while (and (not
(input-pending-p)) (consp flyspell-changes)) (let ((start ...) (stop
...)) (if (flyspell-check-changed-word-p start stop) (save-excursion
... ... ...)) (setq flyspell-changes (cdr flyspell-changes)))) (setq
flyspell-previous-command command))) (quit (setq quit-flag t) (eval
(quote (ignore nil))))))
(if flyspell-mode (progn (condition-case nil (let ((inhibit-quit
nil)) (let ((command this-command) deactivate-mark) (if
(flyspell-check-pre-word-p) (save-excursion (quote ...) (goto-char
flyspell-pre-point) (flyspell-word))) (if (flyspell-check-word-p)
(progn (quote ...) (flyspell-word) (setq flyspell-pre-pre-buffer
...) (setq flyspell-pre-pre-point ...)) (setq
flyspell-pre-pre-buffer nil) (setq flyspell-pre-pre-point nil) (if
(and ... ...) (progn ... ...))) (while (and (not ...) (consp
flyspell-changes)) (let (... ...) (if ... ...) (setq
flyspell-changes ...))) (setq flyspell-previous-command command)))
(quit (setq quit-flag t) (eval (quote (ignore nil)))))))
flyspell-post-command-hook()
recursive-edit()
--8<---------------cut here---------------end--------------->8---
Matt
- Re: [O] still seeing semi-regular lockups, (continued)
- Re: [O] still seeing semi-regular lockups, Eric Abrahamsen, 2014/06/24
- Re: [O] still seeing semi-regular lockups, Matt Lundin, 2014/06/25
- Re: [O] still seeing semi-regular lockups, Matt Lundin, 2014/06/25
- Re: [O] still seeing semi-regular lockups, Sebastien Vauban, 2014/06/25
- Re: [O] still seeing semi-regular lockups, Nicolas Goaziou, 2014/06/27
- Re: [O] still seeing semi-regular lockups, Daimrod, 2014/06/25
- Re: [O] still seeing semi-regular lockups, Eric Abrahamsen, 2014/06/25
- Re: [O] still seeing semi-regular lockups, Bastien, 2014/06/25
- Re: [O] still seeing semi-regular lockups, Eric Abrahamsen, 2014/06/25
- Re: [O] still seeing semi-regular lockups, Matt Lundin, 2014/06/25
- Re: [O] still seeing semi-regular lockups,
Matt Lundin <=
- Re: [O] still seeing semi-regular lockups, Matt Lundin, 2014/06/25
- Re: [O] still seeing semi-regular lockups, Nicolas Goaziou, 2014/06/27
- Re: [O] still seeing semi-regular lockups, Alan Schmitt, 2014/06/27
- Re: [O] still seeing semi-regular lockups, Nicolas Goaziou, 2014/06/27
- Re: [O] still seeing semi-regular lockups, Eric Abrahamsen, 2014/06/28
- Re: [O] still seeing semi-regular lockups, York Zhao, 2014/06/28
- Re: [O] still seeing semi-regular lockups, Eric Abrahamsen, 2014/06/28
- Re: [O] still seeing semi-regular lockups, York Zhao, 2014/06/29
- Re: [O] still seeing semi-regular lockups, York Zhao, 2014/06/29
- Re: [O] still seeing semi-regular lockups, Alan Schmitt, 2014/06/30