[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs crashes accidentally

From: Herbert Euler
Subject: Re: Emacs crashes accidentally
Date: Fri, 08 Sep 2006 10:50:27 +0800

Having found the followings:

(gdb) bt
#0  0x211c8104 in kill () from /usr/lib/libc.so.4
#1  0x01059900 in fatal_error_signal (sig=11) at emacs.c:430
#2  <signal handler called>

[ Please pay attention to these two frames ]
#3 0x010c10b3 in strout (ptr=0x2469648 <Address 0x2469648 out of bounds>, size=27, size_byte=27, printcharfun=19413041,
  multibyte=0) at print.c:417
#4 0x010c1385 in print_string (string=37526819, printcharfun=19413041) at print.c:506

#5 0x010c552d in print_object (obj=37526819, printcharfun=19413041, escapeflag=0) at print.c:2050 #6 0x010c3c4a in print (obj=37526819, printcharfun=19413041, escapeflag=0) at print.c:1301 #7 0x010c3059 in Fprinc (object=37526819, printcharfun=19413041) at print.c:847 #8 0x010c3870 in print_error_message (data=36753309, stream=19413041, context=0x9fbff70c "", caller=19764345) at print.c:1090 #9 0x0105bd82 in cmd_error_internal (data=36753309, context=0x9fbff70c "") at keyboard.c:1268
#10 0x0105bc80 in cmd_error (data=36753309) at keyboard.c:1205
#11 0x010b3dfb in internal_condition_case (bfun=0x105bfe0 <command_loop_1>, handlers=19471817, hfun=0x105bbd8 <cmd_error>)
  at eval.c:1465
#12 0x0105be78 in command_loop_2 () at keyboard.c:1328
#13 0x010b399c in internal_catch (tag=19460913, func=0x105be54 <command_loop_2>, arg=19412993) at eval.c:1213
#14 0x0105be28 in command_loop () at keyboard.c:1307
#15 0x0105ba0f in recursive_edit_1 () at keyboard.c:1000
#16 0x0105bb2a in Frecursive_edit () at keyboard.c:1061
#17 0x0105a9f6 in main (argc=1, argv=0x9fbff9ec) at emacs.c:1814
(gdb) p string
$10 = 37526819
(gdb) xstring
$11 = (struct Lisp_String *) 0x23c9d20
"No further undo information"
(gdb) p *$
$12 = {
size = 27,
size_byte = -1,
intervals = 0x0,
data = 0x243d8ac "No further undo information"

PRINT_STRING calls STROUT in this way:

(print.c, version, line 505-508)

/* strout is safe for output to a frame (echo area) or to print_buffer. */
    strout (SDATA (string),
            chars, SBYTES (string),
            printcharfun, STRING_MULTIBYTE (string));

"SDATA (string)" shall be 0x243d8ac (see also result of P *$ in gdb),
but value of the first argument (PTR) of STROUT is 0x2469648.
This is the reason why Emacs crashed.

But, why did this happen?  Memory leak?

Guanpeng Xu

Express yourself instantly with MSN Messenger! Download today it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/

reply via email to

[Prev in Thread] Current Thread [Next in Thread]