GNU bug report logs - #15778
24.3; cperl-mode causes emacs to lock up

Previous Next

Package: emacs;

Reported by: Nathan Trapuzzano <nbtrap <at> nbtrap.com>

Date: Fri, 1 Nov 2013 11:21:02 UTC

Severity: normal

Found in version 24.3

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Nathan Trapuzzano <nbtrap <at> nbtrap.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 15778 <at> debbugs.gnu.org
Subject: bug#15778: 24.3; cperl-mode causes emacs to lock up
Date: Fri, 01 Nov 2013 08:16:24 -0400
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:

> Please attach a debugger and show the backtrace.  The file etc/DEBUG
> explains how to look for a place that infloops, perhaps you could
> follow that and provide a more detailed information.

There's an infinite loop somewhere in exec_byte_code.  I've attached the
backtrace at the point.  Moreover, sending emacs a SIGUSR2 does invoke
the lisp debugger with the following message:

Debugger entered--entering a function:
* #[0 "\301\300\302\"\207" [(0 1) set-match-data evaporate] 3 "\n\n(fn)"]()
* funcall(#[0 "\301\300\302\"\207" [(0 1) set-match-data evaporate] 3 "\n\n(fn)"])
  jit-lock-fontify-now(1111 1611)
  jit-lock-function(1111)
  redisplay_internal\ \(C\ function\)()

If this is not enough, I can try to look into it more later.

[gdb.txt (text/plain, inline)]
#0  0x00000000005555e1 in exec_byte_code (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, 
    args_template=11780242, nargs=nargs <at> entry=0, args=<optimized out>, args <at> entry=0x0) at bytecode.c:919
#1  0x0000000000526532 in funcall_lambda (fun=9582789, nargs=nargs <at> entry=2, 
    arg_vector=arg_vector <at> entry=0x7fff22a126a8) at eval.c:3023
#2  0x00000000005268d9 in Ffuncall (nargs=<optimized out>, args=<optimized out>) at eval.c:2838
#3  0x00000000005269ce in funcall_nil (nargs=<optimized out>, args=<optimized out>) at eval.c:2340
#4  0x00000000005255a9 in run_hook_with_args (nargs=3, args=0x7fff22a126a0, 
    funcall=funcall <at> entry=0x5269c5 <funcall_nil>) at eval.c:2525
#5  0x000000000052563e in Frun_hook_with_args (nargs=<optimized out>, args=<optimized out>) at eval.c:2386
#6  0x000000000052670a in Ffuncall (nargs=nargs <at> entry=4, args=args <at> entry=0x7fff22a12698) at eval.c:2770
#7  0x00000000005555e1 in exec_byte_code (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, 
    args_template=args_template <at> entry=0, nargs=nargs <at> entry=0, args=<optimized out>, args <at> entry=0x7fff22a12878)
    at bytecode.c:919
#8  0x0000000000526328 in funcall_lambda (fun=52111949, nargs=nargs <at> entry=0, 
    arg_vector=arg_vector <at> entry=0x7fff22a12878) at eval.c:2957
#9  0x00000000005268d9 in Ffuncall (nargs=<optimized out>, args=<optimized out>) at eval.c:2838
#10 0x0000000000525e43 in eval_sub (form=form <at> entry=51776198) at eval.c:2131
#11 0x0000000000528a29 in internal_lisp_condition_case (var=<optimized out>, bodyform=51776198, 
    handlers=<optimized out>) at eval.c:1300
#12 0x000000000055626b in exec_byte_code (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, 
    args_template=args_template <at> entry=2048, nargs=nargs <at> entry=2, args=<optimized out>, args <at> entry=0x7fff22a12c28)
    at bytecode.c:1169
#13 0x0000000000526328 in funcall_lambda (fun=9604621, nargs=nargs <at> entry=2, 
    arg_vector=arg_vector <at> entry=0x7fff22a12c28) at eval.c:2957
#14 0x00000000005268d9 in Ffuncall (nargs=nargs <at> entry=3, args=args <at> entry=0x7fff22a12c20) at eval.c:2838
#15 0x00000000005555e1 in exec_byte_code (bytestr=<optimized out>, vector=<optimized out>, maxdepth=<optimized out>, 
    args_template=args_template <at> entry=1028, nargs=nargs <at> entry=1, args=<optimized out>, args <at> entry=0x7fff22a12e58)
    at bytecode.c:919
#16 0x0000000000526328 in funcall_lambda (fun=9604205, nargs=nargs <at> entry=1, 
    arg_vector=arg_vector <at> entry=0x7fff22a12e58) at eval.c:2957
#17 0x00000000005268d9 in Ffuncall (nargs=nargs <at> entry=2, args=args <at> entry=0x7fff22a12e50) at eval.c:2838
#18 0x0000000000525367 in internal_condition_case_n (bfun=0x52654e <Ffuncall>, nargs=nargs <at> entry=2, 
    args=args <at> entry=0x7fff22a12e50, handlers=11780290, hfun=hfun <at> entry=0x4302f0 <safe_eval_handler>) at eval.c:1413
#19 0x000000000042db6a in safe_call (nargs=nargs <at> entry=2, func=<optimized out>) at xdisp.c:2498
#20 0x000000000042db99 in safe_call1 (fn=<optimized out>, arg=<optimized out>) at xdisp.c:2514
#21 0x000000000042dd26 in handle_fontified_prop (it=0x7fff22a13e90) at xdisp.c:3701
#22 0x00000000004319df in handle_stop (it=it <at> entry=0x7fff22a13e90) at xdisp.c:3265
#23 0x0000000000438b1a in next_element_from_buffer (it=0x7fff22a13e90) at xdisp.c:8021
#24 0x000000000043528a in get_next_display_element (it=it <at> entry=0x7fff22a13e90) at xdisp.c:6676
#25 0x00000000004395f4 in display_line (it=it <at> entry=0x7fff22a13e90) at xdisp.c:19296
#26 0x000000000043bb30 in try_window (window=window <at> entry=11869221, pos=..., flags=flags <at> entry=1) at xdisp.c:16208
#27 0x000000000044bc68 in redisplay_window (window=window <at> entry=11869221, just_this_one_p=just_this_one_p <at> entry=1)
    at xdisp.c:15734
#28 0x000000000044d024 in redisplay_window_1 (window=window <at> entry=11869221) at xdisp.c:13756
#29 0x0000000000525114 in internal_condition_case_1 (bfun=bfun <at> entry=0x44cffb <redisplay_window_1>, arg=11869221, 
    handlers=11995558, hfun=hfun <at> entry=0x41f157 <redisplay_window_error>) at eval.c:1355
#30 0x0000000000440bfb in redisplay_internal () at xdisp.c:13412
#31 0x00000000004418e3 in redisplay () at xdisp.c:12647
#32 0x00000000004ca1fa in read_char (commandflag=1, map=map <at> entry=53179974, prev_event=11780242, 
    used_mouse_menu=used_mouse_menu <at> entry=0x7fff22a177fb, end_time=end_time <at> entry=0x0) at keyboard.c:2557
#33 0x00000000004cb810 in read_key_sequence (keybuf=keybuf <at> entry=0x7fff22a178c0, bufsize=bufsize <at> entry=30, 
    prompt=<optimized out>, dont_downcase_last=dont_downcase_last <at> entry=false, 
    can_return_switch_frame=can_return_switch_frame <at> entry=true, fix_current_buffer=fix_current_buffer <at> entry=true, 
    prevent_redisplay=prevent_redisplay <at> entry=false) at keyboard.c:9057
#34 0x00000000004cce4b in command_loop_1 () at keyboard.c:1431
#35 0x0000000000524ff7 in internal_condition_case (bfun=bfun <at> entry=0x4ccb53 <command_loop_1>, handlers=11839970, 
    hfun=hfun <at> entry=0x4c51b1 <cmd_error>) at eval.c:1331
#36 0x00000000004c0a1f in command_loop_2 (ignore=ignore <at> entry=11780242) at keyboard.c:1158
#37 0x0000000000524ece in internal_catch (tag=11835698, func=func <at> entry=0x4c0a05 <command_loop_2>, arg=11780242)
    at eval.c:1097
#38 0x00000000004c09b7 in command_loop () at keyboard.c:1137
#39 0x00000000004c4d3d in recursive_edit_1 () at keyboard.c:776
#40 0x00000000004c5017 in Frecursive_edit () at keyboard.c:840
#41 0x00000000004c0464 in main (argc=<optimized out>, argv=0x7fff22a17be8) at emacs.c:1590

Lisp Backtrace:
"font-lock-fontify-region" (0x22a126a8)
"run-hook-with-args" (0x22a126a0)
0x31b2a48 PVEC_COMPILED
"funcall" (0x22a12870)
"jit-lock-fontify-now" (0x22a12c28)
"jit-lock-function" (0x22a12e58)
"redisplay_internal (C function)" (0xb22638)
A debugging session is active.

	Inferior 1 [process 9463] will be detached.

Quit anyway? (y or n) Not confirmed.

This bug report was last modified 11 years and 202 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.