Subject: bug#1243: Verilog mode hanging emacs 22.2

From: "Mitchell, Paul" <[email-masked]>
Date: Fri, 24 Oct 2008 16:38:08 -0400

Hi,

We recently switched from emacs 21.3 to 22.2, and have started seeing
this hang.  I've tried updating verilog-mode.el, but it behaves the same
way.  Emacs 21.3 does not exhibit this.

The symptoms:

Bring a verilog file (*.v) into the editor, and either search for
something or simply page down thru it.  After a few searches or pages,
the clock symbol is displayed on the mouse cursor, and emacs is
completely unresponsive.  A "top" shows that emacs is using most of the
cpu.  Nothing I've tried from within emacs has been able to break out of
this - the emacs process is hung.  This seems to happen more with
font-lock mode enabled, but it also occurs w/o it.

I've contacted the maintainer of verilog-mode, and he has been able to
reproduce this, but is unsure how to debug it.  His stack trace:

(gdb) where
#0  0x08171d01 in Fbyte_code (bytestr=136448595, vector=136448620, 
maxdepth=56) at bytecode.c:508
#1  0x081485e4 in Feval (form=136448581) at eval.c:2334
#2  0x0814a709 in internal_lisp_condition_case (var=137418953, 
bodyform=136448581, handlers=136448805) at eval.c:1426
#3  0x081722e3 in Fbyte_code (bytestr=136448515, vector=136448532, 
maxdepth=32) at bytecode.c:869
#4  0x081489d5 in funcall_lambda (fun=Variable "fun" is not available.
) at eval.c:3184
#5  0x08148e4b in Ffuncall (nargs=1, args=0xbface160) at eval.c:3043
#6  0x081730b9 in Fbyte_code (bytestr=156662779, vector=156663996, 
maxdepth=16) at bytecode.c:679
#7  0x081489d5 in funcall_lambda (fun=Variable "fun" is not available.
) at eval.c:3184
#8  0x08148e4b in Ffuncall (nargs=1, args=0xbface260) at eval.c:3043
#9  0x081730b9 in Fbyte_code (bytestr=156624227, vector=156689996, 
maxdepth=32) at bytecode.c:679
#10 0x081489d5 in funcall_lambda (fun=Variable "fun" is not available.
) at eval.c:3184
#11 0x08148e4b in Ffuncall (nargs=1, args=0xbface360) at eval.c:3043
#12 0x081730b9 in Fbyte_code (bytestr=136448595, vector=136448620, 
maxdepth=56) at bytecode.c:679
#13 0x081485e4 in Feval (form=136448581) at eval.c:2334
#14 0x0814a709 in internal_lisp_condition_case (var=137418953, 
bodyform=136448581, handlers=136448805) at eval.c:1426
#15 0x081722e3 in Fbyte_code (bytestr=136448515, vector=136448532, 
maxdepth=32) at bytecode.c:869
#16 0x081489d5 in funcall_lambda (fun=Variable "fun" is not available.
) at eval.c:3184
#17 0x08148e4b in Ffuncall (nargs=1, args=0xbface660) at eval.c:3043
#18 0x081730b9 in Fbyte_code (bytestr=156662779, vector=156663996, 
maxdepth=16) at bytecode.c:679
#19 0x081489d5 in funcall_lambda (fun=Variable "fun" is not available.
) at eval.c:3184
#20 0x08148e4b in Ffuncall (nargs=1, args=0xbface760) at eval.c:3043
#21 0x081730b9 in Fbyte_code (bytestr=156624227, vector=156689996, 
maxdepth=32) at bytecode.c:679
#22 0x081489d5 in funcall_lambda (fun=Variable "fun" is not available.
) at eval.c:3184
#23 0x08148e4b in Ffuncall (nargs=1, args=0xbface860) at eval.c:3043
#24 0x081730b9 in Fbyte_code (bytestr=136448595, vector=136448620, 
maxdepth=56) at bytecode.c:679
#25 0x081485e4 in Feval (form=136448581) at eval.c:2334
#26 0x0814a709 in internal_lisp_condition_case (var=137418953, 
bodyform=136448581, handlers=136448805) at eval.c:1426
#27 0x081722e3 in Fbyte_code (bytestr=136448515, vector=136448532, 
maxdepth=32) at bytecode.c:869
#28 0x081489d5 in funcall_lambda (fun=Variable "fun" is not available.
) at eval.c:3184

The details of my system configuration:

In GNU Emacs 22.2.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2008-04-17 on madccat02
Windowing system distributor `Hummingbird Ltd.', version 11.0.10000
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: C
  locale-coding-system: nil
  default-enable-multibyte-characters: t

Major mode: Text

Minor modes in effect:
  shell-dirtrack-mode: t
  display-time-mode: t
  show-paren-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Any suggestions for how to proceed with this?  We'd like to stay
reasonably up-to-date with emacs releases, but as we edit verilog all
the time, this is a bit of a showstopper for us.

Thanks,
Paul Mitchell
HW Design Engineer
AMD, Inc.
(508) 303-3932