Subject: bug#2106 closed by Chong Yidong <[email-masked]> (Re: bug#2106: 23.0.60; which-function-mode locks up emacs 23 with 100% cpu)

From: [email-masked] (Emacs bug Tracking System)
Date: Sat, 31 Jan 2009 16:30:05 +0000

This is an automatic notification regarding your bug report
which was filed against the emacs,python package:

#2106: end-of-defun loops on malformed python code

It has been closed by Chong Yidong <[email-masked]>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Chong Yidong <[email-masked]> by
replying to this email.

-- 
2106: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=2106
Emacs Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#2106: 23.0.60; which-function-mode locks up emacs 23 with 100% cpu
From: Chong Yidong <[email-masked]>
To: Sid <[email-masked]>
Cc: Juanma Barranquero <[email-masked]>, [email-masked]
Date: Sat, 31 Jan 2009 11:22:01 -0500

This was not a bug in Python; it was a bug in end-of-defun, which was
"cleaned up" in Emacs 23.  I've checked in a fix.

Subject: 23.0.60; which-function-mode locks up emacs 23 with 100% cpu
From: Sid <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Thu, 29 Jan 2009 20:18:20 +0530

hi,

I noticed that if i have which-function-mode enabled in my init script
(~/.emacs) and i open any malformed python file it locks up the emacs
window with 100% cpu utilization.  Python file doesn't show up on the
window and I have to cancel it by pressing C-g.

If i had desktop-save-mode enabled too and i start emacs in daemon
mode, I noticied that parent process simply waits for the child to
complete (because desktop session had this malformed python file
listed.)  What is worse is, if i kill parent process using C-c, i get
my terminal back, but the child continues to eat 100% cpu in the
background :-(

I found this with couple of days old CVS tree and also with
emacs-snapshot package from http://emacs.orebokech.com/.

Malformed python file content is:

    #!/usr/bin/env python
    
    from sqlalchemy import *
    from sqlalchemy.schema import *
    from sqlalchemy.orm import *
    
    class Person:
        pass
    
    mapper(Person, person_table, 
                         
    class Employee:
        pass

thanks,
bvk-chaitanya

In GNU Emacs 23.0.60.1 (i486-pc-linux-gnu, GTK+ Version 2.12.11)
 of 2009-01-27 on elegiac, modified by Debian
 (emacs-snapshot package, version 1:20090126-1)
configured using `configure  '--build' 'i486-linux-gnu' '--host' 'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/23.0.60/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.0.60/site-lisp:/usr/share/emacs/site-lisp' '--with-x=yes' '--with-x-toolkit=gtk' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' 'LDFLAGS=-g -Wl,--as-needed' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_IN
  value of $XMODIFIERS: nil
  locale-coding-system: iso-latin-1-unix
  default-enable-multibyte-characters: t

Major mode: Fundamental

Minor modes in effect:
  which-function-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  global-auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
ESC [ > 0 ; 2 3 5 ; 0 c C-x b C-g C-x C-f d b . TAB 
RET ESC O B ESC x r e c DEL p o TAB r t - e m TAB 
RET

Recent messages:
Skipping dictionaries-common setup for emacs-snapshot
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...done
Loading /etc/emacs/site-start.d/50festival.el (source)...done
Loading /etc/emacs/site-start.d/50psvn.el (source)...done
Loading /etc/emacs/site-start.d/50python-docutils.el (source)...done
Loading /etc/emacs/site-start.d/50ruby1.8-elisp.el (source)...done
Loading /etc/emacs/site-start.d/50yaml-mode.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
Quit [2 times]
Making completion list...