[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: |
Wed, 06 Sep 2006 20:50:49 +0800 |
From: Richard Stallman <address@hidden>
Reply-To: address@hidden
To: "Herbert Euler" <address@hidden>
CC: address@hidden
Subject: Re: Emacs crashes accidentally
Date: Thu, 10 Aug 2006 12:27:42 -0400
I'm so sorry I was required to have some training
these days and I could not read mails. Please
forgive me.
Before crashing, I wanted to undo some deletion
so I typed C-x u C-x z z z ... When some `z' was pressed,
Emacs suddenly crashed.
The term "to crash" is often synonymous with "getting some z's" ;-).
#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
It looks like STRING is invalid Lisp data. Please look inside it
and see precisely what is wrong with it.
(gdb) up
#4 0x010c1385 in print_string (string=37526819, printcharfun=19413041) at
print.c:506
506 strout (SDATA (string),
(gdb) p string
$1 = 37526819
(gdb) xpr
Lisp_String
$2 = (struct Lisp_String *) 0x23c9d20
"No further undo information"
(gdb) p *$
$3 = {
size = 27,
size_byte = -1,
intervals = 0x0,
data = 0x243d8ac "No further undo information"
}
(gdb)
I don't know whether it's wrong with STRING.
#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
Where did print_error_message get the string? Where did it come from?
If it came from DATA, then please try to trace it back.
What are the elements of DATA?
#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
Having seen this, I traced into INTERNAL_CONDITION_CASE.
It's version 1.210.4.35 of EVAL.C, line 1465. Lines near that
are:
if (_setjmp (c.jmp))
{
return (*hfun) (c.val);
}
I don't know how INTERNAL_CONDITION_CASE is invoked here,
is it invoked by jumping? Now please take a look at what DATA
is inside CMD_ERROR, which is the same as those in
CMD_ERROR_INTERNAL and PRINT_ERROR_MESSAGE:
(gdb) up
#10 0x0105bc80 in cmd_error (data=36753309) at keyboard.c:1205
1205 cmd_error_internal (data, macroerror);
(gdb) p data
$25 = 36753309
(gdb) xpr
Lisp_Cons
$26 = (struct Lisp_Cons *) 0x230cf98
{
car = 0x1291dc9,
u = {
cdr = 0x230cfad,
chain = 0x230cfad
}
}
(gdb) p $26->car
$27 = 19471817
(gdb) xpr
Lisp_Symbol
$28 = (struct Lisp_Symbol *) 0x1291dc8
"error"
(gdb) p $26->u->cdr
$29 = 36753325
(gdb) xpr
Lisp_Cons
$30 = (struct Lisp_Cons *) 0x230cfa8
{
car = 0x23c9d23,
u = {
cdr = 0x1283801,
chain = 0x1283801
}
}
(gdb) p $30->car
$31 = 37526819
(gdb) xpr
Lisp_String
$32 = (struct Lisp_String *) 0x23c9d20
"No further undo information"
(gdb) p $30->u->cdr
$33 = 19412993
(gdb) xpr
Lisp_Symbol
$34 = (struct Lisp_Symbol *) 0x1283800
"nil"
(gdb)
Hope the information can help.
Beg your pardon for my late reply again. I'm so sorry.
Regards,
Guanpeng Xu
_________________________________________________________________
FREE pop-up blocking with the new MSN Toolbar - get it now!
http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/
- Re: Emacs crashes accidentally,
Herbert Euler <=
Re: Emacs crashes accidentally, Richard Stallman, 2006/09/07