Hi Nicolas,

On Tue, Jun 02, 2015 at 10:26:54PM +0200, Nicolas Goaziou wrote:
> Hello,
> Suvayu Ali <fatkasuvayu+li...@gmail.com> writes:
> > I have been noticing a strange heisenbug.  From time to time, Org starts
> > eating CPU for certain specific tasks: org-end-of-line, fill-paragraph,
> > folding or unfolding trees, or adding/changing properties with
> > org-set-property.  However these happen only after I have been using Org
> > for a while.
> This is typical for cache breakage.

Okay, good that it is not as mysterious as I was thinking :).

> > I think I also see similar CPU eating symptoms when I have buffers
> > editing version controlled files.  I have auto-revert-mode enabled for
> > files under version control, I think that is related.  I'm not entirely
> > sure though, I don't know how to narrow it down either.
> >
> > I say it is cache related since all this magically goes away, once I go
> > to the top of my current tree, and call org-element-cache-reset.
> > However, once the symptoms start showing, it happens more frequently
> > despite my cache resets.
> Usually, a cache breakage is a specific action applied to some specific
> document structure that induces an incorrect computation of the parts of
> the cache to clear and to update.
> If you encountered the problem, it means the problematic document
> structure is already in the current buffer. So, the chances are high
> that you will repeat the problematic editing action on it again, even
> after resetting the cache. IOW, all the ingredients are there for the
> problem to repeat again and again.
> Finding the problematic action is not easy. I wrote a basic minor mode
> (element-debug-mode) for that: after each change to the buffer, it
> checks if the cache and pending updates match the parse tree. It sends
> a message anytime they differ, which happens as soon as a problematic
> action was triggered.

I have enabled the mode on my document.  Let's see how this goes.  Btw,
since you warn against large documents, would it help if I narrowed a
large document before enabling the mode?

Thanks a lot :).


Open source is the future. It sets us free.

Reply via email to