[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [O] Emacs hangs while loading org file with python blocks
From: |
Clément Pit--Claudel |
Subject: |
Re: [O] Emacs hangs while loading org file with python blocks |
Date: |
Tue, 6 Dec 2016 22:41:04 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 |
Hi David,
It might be good to open a bug report on the Emacs side; a Python font-locking
freeze was fixed on master recently, but there may be other ones (your example
hangs Emacs for me too), and your profile doesn't seem very Org-specific.
The following backtrace might be useful too:
Debugger entered--Lisp error: (quit)
python-nav-end-of-statement()
python-info-end-of-statement-p()
python-info-end-of-block-p()
python-nav--forward-sexp(-1 nil nil)
python-nav-forward-sexp(-1 nil nil)
python-nav-backward-sexp()
python-info-docstring-p((0 nil 24 34 nil nil 0 nil 42 nil nil))
python-font-lock-syntactic-face-function((0 nil 24 34 nil nil 0 nil 42 nil
nil))
font-lock-fontify-syntactically-region(1 72 nil)
font-lock-default-fontify-region(1 72 nil)
font-lock-fontify-region(1 72 nil)
font-lock-default-fontify-buffer()
#[(_beg _end) … [font-lock-fontified font-lock-mode
font-lock-default-fontify-buffer nil] 2](1 72)
org-font-lock-ensure()
org-src-font-lock-fontify-block(#("python" 0 6 (fontified t)) 93 163)
org-fontify-meta-lines-and-blocks-1(173)
org-fontify-meta-lines-and-blocks(173)
font-lock-fontify-keywords-region(1 173 nil)
font-lock-default-fontify-region(1 173 nil)
font-lock-fontify-region(1 173)
#[…](font-lock-fontify-region)
run-hook-wrapped(#[…] font-lock-fontify-region)
jit-lock--run-functions(1 173)
jit-lock-fontify-now(1 501)
jit-lock-function(1)
redisplay_internal\ \(C\ function\)()
Cheers,
Clément.
On 2016-12-06 20:41, David Dynerman wrote:
> Dear list,
>
> For several months I've been encountering a frustrating bug. My emacs hangs
> while initially loading an org file with ~3000 lines and around two dozen
> python blocks. If I press C-g during the lockup, emacs wakes up and the file
> is loaded. The hang does not re-occur after happening on initial load - the
> bug will reoccur only if I restart emacs and load the file again. The hang
> seems to be related to fontifying the python blocks: after I abort with C-g,
> some blocks will be unfontified.
>
> I previously emailed the list about this bug (Wed, 17 Aug 2016, subject
> 'Emacs hangs while loading .org file'), but didn't have an easy way to
> reproduce the problem.
>
> I've now managed to extract a minimal org file that reproduces the hang:
>
> #+BEGIN_SRC python
> """xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"""
> #+END_SRC
> #+BEGIN_SRC python
> class x:
> def x(self):
> """
> """
> pass
> #+END_SRC
>
> To reproduce:
>
> 1) Save above as bug.org
> 2) Open a fresh emacs process, and C-x f bug.org <RET>
> 3) Observe emacs is unresponsive. I've let it run as long as 30 mins without
> any change.
>
> I am able to reproduce with emacs -Q, only executing the following in
> *scratch*:
>
> (add-to-list 'load-path "/usr/local/share/emacs/site-lisp/org") ;; org from
> git installed here
> (require 'org)
>
> This is with the latest org code from git (release_9.0-132-gd65aa3). The bug
> does NOT occur with org 8.2.10. I've been encountering this bug for several
> months, but unfortunately I don't remember exactly when I first saw it.
>
> I'm running GNU Emacs 25.1.1 (x86_64-apple-darwin15.6.0, Carbon Version 157
> AppKit 1404.47) of 2016-11-24.
>
> I'm mystified as to what's going on here. It seems that removing any of the
> python code in the example above causes the bug to disappear, but I have no
> clue what the problem might be.
>
> I've attached a profiler report captured during the hang. Here is the
> relevant part:
>
> - org-src-font-lock-fontify-block 17419 46%
> - org-font-lock-ensure 17240 45%
> - #<compiled 0x41086c73> 17240 45%
> - font-lock-default-fontify-buffer 17240 45%
> - font-lock-fontify-region 17240 45%
> - font-lock-default-fontify-region 17240 45%
> - font-lock-fontify-syntactically-region 17240
> 45%
> - python-font-lock-syntactic-face-function
> 17240 45%
> - python-info-docstring-p 17240 45%
> - python-nav-backward-sexp 17240 45%
> - python-nav-forward-sexp 17240 45%
> - python-nav--forward-sexp 17240 45%
> - python-info-end-of-block-p 17240 45%
> - python-info-end-of-statement-p 17240
> 45%
> - python-nav-end-of-statement 15444 41%
> syntax-ppss 8641 22%
>
> It looks like emacs is getting stuck navigating the python blocks during
> fontification. The last org-mode call appears to be (org-font-lock-ensure).
>
> If anyone has any suggestions on how to fix this, I'd be very interested to
> hearthem - I'm working with larger and larger org files containing python
> code, so I'm encountering this bug frequently.
>
> Thank you very much,
> David
>
signature.asc
Description: OpenPGP digital signature