Subject: bug#21629: 25.0.50; python.el freezes up around docstrings.

From: Jacob MacDonald <[email-masked]>
Date: Tue, 06 Oct 2015 04:48:50 +0000

Begin from a fresh 'emacs -Q'. Create a Python file. Insert a long
docstring which contains a header line and then a long body which
includes a few line breaks and spaces in it. The docstring should look
something like this:

"""test header

lorem ipsum... more text more text more text
x10 lines
...
...
"""

Save the file and close emacs. Start a fresh 'emacs -Q'. Open dired in
the directory which contains the Python file you created. Navigate to
the file and try to open in from dired. Emacs will freeze indefinitely
and eat all the system resources it can. You can break the cycle by
pressing C-q many times, but the freeze happens again on every single
redisplay. If you wait awhile before cancelling the redisplay, you may
see that fontification has frozen somewhere in the middle of the docstring.

In GNU Emacs 25.0.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.16.7)
 of 2015-10-05
Repository revision: 25b4572073179c8d6dc980ce2df3db4d96cd692f
Windowing system distributor 'The X.Org Foundation', version 11.0.11702000
System Description: Ubuntu Wily Werewolf (development branch)

Configured using:
 'configure --prefix=/home/jaccarmac/local/emacs'

Configured features:
XPM JPEG TIFF GIF PNG SOUND DBUS GSETTINGS NOTIFY LIBXML2 FREETYPE XFT
ZLIB TOOLKIT_SCROLL_BARS GTK3 X11

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Python

Minor modes in effect:
  shell-dirtrack-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
Error during redisplay: (jit-lock-function 201) signaled (quit)
Error during redisplay: (jit-lock-function 301) signaled (quit)
Error during redisplay: (jit-lock-function 1) signaled (quit)
Error during redisplay: (jit-lock-function 101) signaled (quit)
Error during redisplay: (jit-lock-function 201) signaled (quit)
Error during redisplay: (jit-lock-function 301) signaled (quit)
QuitError during redisplay: (jit-lock-function 1) signaled (quit)
Error during redisplay: (jit-lock-function 101) signaled (quit)
Error during redisplay: (jit-lock-function 201) signaled (quit)
Error during redisplay: (jit-lock-function 301) signaled (quit)
Quit [2 times]

Load-path shadows:
None found.

(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mail-utils python tramp-sh tramp
tramp-compat auth-source cl-seq eieio byte-opt bytecomp byte-compile
cl-extra cconv eieio-core cl-macs gv gnus-util mm-util help-fns
help-mode easymenu mail-prsvr password-cache tramp-loaddefs trampver
shell pcomplete format-spec advice json comint ring cl-loaddefs pcase
cl-lib ansi-color dired time-date mule-util tooltip eldoc electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
dbusbind inotify dynamic-setting system-font-setting font-render-setting
move-toolbar gtk x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 103996 4041)
 (symbols 48 21982 0)
 (miscs 40 288 118)
 (strings 32 22819 5081)
 (string-bytes 1 758868)
 (vectors 16 15247)
 (vector-slots 8 457945 4629)
 (floats 8 185 420)
 (intervals 56 237 0)
 (buffers 976 14)
 (heap 1024 22367 1150))