emacs-devel
[Top][All Lists]
Advanced

[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"
}
(gdb)

PRINT_STRING calls STROUT in this way:

(print.c, version 1.190.2.21, 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?

Regards,
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]