* Failed assertion on make-frame-on-display
@ 2006-11-19 12:48 Richard Stallman
2006-11-20 20:16 ` Chong Yidong
0 siblings, 1 reply; 4+ messages in thread
From: Richard Stallman @ 2006-11-19 12:48 UTC (permalink / raw)
Would someone please DTRT and ack?
From: Andreas Seltenreich <seltenreich@gmx.de>
To: emacs-pretest-bug@gnu.org
Date: Sun, 19 Nov 2006 01:30:51 +0100
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Subject: Failed assertion on make-frame-on-display
X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=failed
version=3.0.4
I can trigger the following assertion by running
emacs -Q -fn "-*-terminus-medium-r-*-*-16-*-*-*-*-*-*-1"
and M-x make-frame-on-display to a display that doesn't have that font
installed. When compiled without assertions, emacs dies when
dereferencing the NULL returned by choose_face_font.
--8<---------------cut here---------------start------------->8---
Breakpoint 1, abort () at emacs.c:464
(gdb) up
#1 0x080e99e2 in choose_face_font (f=0x873a3f8, attrs=0x874c2f8, fontset=19, c=0, needs_overstrike=0xbfa7c518) at xfaces.c:6890
(gdb) list
6885 /* Get (foundry and) family name and registry (and encoding) name of
6886 a font for C. */
6887 pattern = fontset_font_pattern (f, fontset, c);
6888 if (NILP (pattern))
6889 {
6890 xassert (!SINGLE_BYTE_CHAR_P (c));
6891 return NULL;
6892 }
6893
6894 /* If what we got is a name pattern, return it. */
(gdb) bt
#0 abort () at emacs.c:464
#1 0x080e99e2 in choose_face_font (f=0x873a3f8, attrs=0x874c2f8, fontset=19, c=0, needs_overstrike=0xbfa7c518) at xfaces.c:6890
#2 0x080e077a in load_face_font (f=0x873a3f8, face=0x874c2b0, c=0) at xfaces.c:1242
#3 0x080ea5b5 in realize_face (cache=0x873a878, attrs=0xbfa7c584, c=0, base_face=0x0, former_face_id=0) at xfaces.c:7162
#4 0x080ea317 in realize_default_face (f=0x873a3f8) at xfaces.c:7069
#5 0x080e9d11 in realize_basic_faces (f=0x873a3f8) at xfaces.c:6935
#6 0x080e88bf in Fdisplay_supports_face_attributes_p (attributes=138486229, display=141796348) at xfaces.c:6223
#7 0x081aaba5 in Ffuncall (nargs=3, args=0xbfa7c750) at eval.c:3000
#8 0x081e2a2f in Fbyte_code (bytestr=136697651, vector=136697668, maxdepth=40) at bytecode.c:679
#9 0x081ab34f in funcall_lambda (fun=136697604, nargs=2, arg_vector=0xbfa7ca64) at eval.c:3184
#10 0x081aae0d in Ffuncall (nargs=3, args=0xbfa7ca60) at eval.c:3043
#11 0x081e2a2f in Fbyte_code (bytestr=136697907, vector=136697924, maxdepth=32) at bytecode.c:679
#12 0x081ab34f in funcall_lambda (fun=136697852, nargs=2, arg_vector=0xbfa7cd64) at eval.c:3184
#13 0x081aae0d in Ffuncall (nargs=3, args=0xbfa7cd60) at eval.c:3043
#14 0x081e2a2f in Fbyte_code (bytestr=136698195, vector=136698212, maxdepth=48) at bytecode.c:679
#15 0x081ab34f in funcall_lambda (fun=136698132, nargs=3, arg_vector=0xbfa7d074) at eval.c:3184
#16 0x081aae0d in Ffuncall (nargs=4, args=0xbfa7d070) at eval.c:3043
#17 0x081e2a2f in Fbyte_code (bytestr=136700259, vector=136700276, maxdepth=48) at bytecode.c:679
#18 0x081ab34f in funcall_lambda (fun=136700220, nargs=1, arg_vector=0xbfa7d384) at eval.c:3184
#19 0x081aae0d in Ffuncall (nargs=2, args=0xbfa7d380) at eval.c:3043
#20 0x081e2a2f in Fbyte_code (bytestr=136701131, vector=136701148, maxdepth=40) at bytecode.c:679
#21 0x081ab34f in funcall_lambda (fun=136701084, nargs=1, arg_vector=0xbfa7d694) at eval.c:3184
#22 0x081aae0d in Ffuncall (nargs=2, args=0xbfa7d690) at eval.c:3043
#23 0x081e2a2f in Fbyte_code (bytestr=136945715, vector=136945732, maxdepth=24) at bytecode.c:679
#24 0x081ab34f in funcall_lambda (fun=136945668, nargs=1, arg_vector=0xbfa7d994) at eval.c:3184
#25 0x081aae0d in Ffuncall (nargs=2, args=0xbfa7d990) at eval.c:3043
#26 0x081e2a2f in Fbyte_code (bytestr=136945427, vector=136945444, maxdepth=24) at bytecode.c:679
#27 0x081ab34f in funcall_lambda (fun=136945372, nargs=1, arg_vector=0xbfa7dce4) at eval.c:3184
#28 0x081aae0d in Ffuncall (nargs=2, args=0xbfa7dce0) at eval.c:3043
#29 0x081a66bc in Fcall_interactively (function=139630145, record_flag=137939193, keys=137979660) at callint.c:860
#30 0x0813421e in Fcommand_execute (cmd=139630145, record_flag=137939193, keys=137939145, special=137939145) at keyboard.c:9867
#31 0x08134591 in Fexecute_extended_command (prefixarg=137939145) at keyboard.c:9983
#32 0x081aab7e in Ffuncall (nargs=2, args=0xbfa7e140) at eval.c:2997
#33 0x081a66bc in Fcall_interactively (function=137980177, record_flag=137939145, keys=137979660) at callint.c:860
#34 0x0813421e in Fcommand_execute (cmd=137980177, record_flag=137939145, keys=137939145, special=137939145) at keyboard.c:9867
#35 0x08126497 in command_loop_1 () at keyboard.c:1858
#36 0x081a87a2 in internal_condition_case (bfun=0x81250a1 <command_loop_1>, handlers=137983849, hfun=0x8124a63 <cmd_error>) at eval.c:1481
#37 0x08124e0e in command_loop_2 () at keyboard.c:1326
#38 0x081a825d in internal_catch (tag=137980057, func=0x8124deb <command_loop_2>, arg=137939145) at eval.c:1222
#39 0x08124dc4 in command_loop () at keyboard.c:1305
#40 0x081247e0 in recursive_edit_1 () at keyboard.c:1003
#41 0x08124923 in Frecursive_edit () at keyboard.c:1064
#42 0x0812321d in main (argc=4, argv=0xbfa7ec04) at emacs.c:1794
Lisp Backtrace:
"display-supports-face-attributes-p" (0x84121d5)
"face-spec-set-match-display" (0x84121e5)
"face-spec-choose" (0x8412205)
"face-spec-set" (0x83b3b69)
"frame-set-background-mode" (0x873a3fc)
"x-create-frame-with-faces" (0x84fd15d)
"make-frame" (0x84fd15d)
"make-frame-on-display" (0x869fed3)
"call-interactively" (0x8529641)
"execute-extended-command" (0x838c8c9)
"call-interactively" (0x8396911)
(gdb) bt full
#0 abort () at emacs.c:464
No locals.
#1 0x080e99e2 in choose_face_font (f=0x873a3f8, attrs=0x874c2f8, fontset=19, c=0, needs_overstrike=0xbfa7c518) at xfaces.c:6890
pattern = 137939145
font_name = 0x0
fonts = (struct font_name *) 0xbfa7c45f
nfonts = 0
width_ratio = -1213597237
#2 0x080e077a in load_face_font (f=0x873a3f8, face=0x874c2b0, c=0) at xfaces.c:1242
font_info = (struct font_info *) 0x0
font_name = 0x86afedb ""
needs_overstrike = 0
#3 0x080ea5b5 in realize_face (cache=0x873a878, attrs=0xbfa7c584, c=0, base_face=0x0, former_face_id=0) at xfaces.c:7162
face = (struct face *) 0x874c2b0
#4 0x080ea317 in realize_default_face (f=0x873a3f8) at xfaces.c:7069
c = (struct face_cache *) 0x873a878
lface = 141876500
attrs = {137939529,
141239299,
137971585,
1216,
137971585,
137971585,
137939145,
137939145,
141229851,
141229787,
137939145,
137939145,
137939145,
137939145,
141230043,
137972137,
800}
frame_font = 141230043
face = (struct face *) 0x83941ba
#5 0x080e9d11 in realize_basic_faces (f=0x873a3f8) at xfaces.c:6935
success_p = 0
count = 43
#6 0x080e88bf in Fdisplay_supports_face_attributes_p (attributes=138486229, display=141796348) at xfaces.c:6223
supports = 138121841
i = 17
frame = 141796348
f = (struct frame *) 0x873a3f8
def_face = (struct face *) 0x0
attrs = {137972137,
137972137,
137972137,
137972137,
137972137,
137972137,
137939193,
137972137,
137972137,
137972137,
137972137,
137972137,
137972137,
137972137,
137972137,
137972137,
137972137}
#7 0x081aaba5 in Ffuncall (nargs=3, args=0xbfa7c750) at eval.c:3000
fun = 136489564
original_fun = 137974089
funcar = -1079523528
numargs = 2
lisp_numargs = 141164387
val = 137939169
backtrace = {
next = 0xbfa7ca0c,
function = 0xbfa7c750,
args = 0xbfa7c754,
nargs = 2,
evalargs = 0 '\0',
debug_on_exit = 0 '\0'
}
internal_args = (Lisp_Object *) 0xbfa7c754
i = 137939169
#8 0x081e2a2f in Fbyte_code (bytestr=136697651, vector=136697668, maxdepth=40) at bytecode.c:679
count = 38
op = 2
vectorp = (Lisp_Object *) 0x825d748
bytestr_length = 197
stack = {
pc = 0x8322409 "\202\276",
top = 0xbfa7c758,
bottom = 0xbfa7c750,
byte_string = 136697651,
byte_string_start = 0x8322353 "\b\031\306\211\032\033\306\034\307\035\t\307=\203\022",
constants = 136697668,
next = 0xbfa7caf8
}
top = (Lisp_Object *) 0xbfa7c750
result = 137939193
#9 0x081ab34f in funcall_lambda (fun=136697604, nargs=2, arg_vector=0xbfa7ca64) at eval.c:3184
val = 4
syms_left = 137939145
next = 137997593
count = 36
i = 2
optional = 0
rest = 0
#10 0x081aae0d in Ffuncall (nargs=3, args=0xbfa7ca60) at eval.c:3043
fun = 136697604
original_fun = 138456385
funcar = -1079522744
numargs = 2
lisp_numargs = 141164387
val = 137939169
backtrace = {
next = 0xbfa7cd0c,
function = 0xbfa7ca60,
args = 0xbfa7ca64,
nargs = 2,
evalargs = 0 '\0',
debug_on_exit = 0 '\0'
}
internal_args = (Lisp_Object *) 0x8408da1
i = 137939169
#11 0x081e2a2f in Fbyte_code (bytestr=136697907, vector=136697924, maxdepth=32) at bytecode.c:679
count = 29
op = 2
vectorp = (Lisp_Object *) 0x825d848
bytestr_length = 94
stack = {
pc = 0x83222fc "\203L",
top = 0xbfa7ca68,
bottom = 0xbfa7ca60,
byte_string = 136697907,
byte_string_start = 0x83222b8 "\b\204\a",
constants = 136697924,
next = 0xbfa7ce08
}
top = (Lisp_Object *) 0xbfa7ca60
result = 137939145
#12 0x081ab34f in funcall_lambda (fun=136697852, nargs=2, arg_vector=0xbfa7cd64) at eval.c:3184
val = 137939145
syms_left = 137939145
next = 137997593
count = 27
i = 2
optional = 1
rest = 0
#13 0x081aae0d in Ffuncall (nargs=3, args=0xbfa7cd60) at eval.c:3043
fun = 136697852
original_fun = 138469609
funcar = 2
numargs = 2
lisp_numargs = 137637908
val = 137939145
backtrace = {
next = 0xbfa7d01c,
function = 0xbfa7cd60,
args = 0xbfa7cd64,
nargs = 2,
evalargs = 0 '\0',
debug_on_exit = 0 '\0'
}
internal_args = (Lisp_Object *) 0x1a7cd64
i = -1079522008
#14 0x081e2a2f in Fbyte_code (bytestr=136698195, vector=136698212, maxdepth=48) at bytecode.c:679
count = 27
op = 2
vectorp = (Lisp_Object *) 0x825d968
bytestr_length = 130
stack = {
pc = 0x83221f9 "\032\b\203\016",
top = 0xbfa7cd68,
bottom = 0xbfa7cd60,
byte_string = 136698195,
byte_string_start = 0x83221f5 "\306\b\t\"\032\b\203\016",
constants = 136698212,
next = 0xbfa7d118
}
top = (Lisp_Object *) 0xbfa7cd60
result = 137939145
#15 0x081ab34f in funcall_lambda (fun=136698132, nargs=3, arg_vector=0xbfa7d074) at eval.c:3184
val = 137939145
syms_left = 137939145
next = 137997593
count = 24
i = 3
optional = 1
rest = 0
#16 0x081aae0d in Ffuncall (nargs=4, args=0xbfa7d070) at eval.c:3043
fun = 136698132
original_fun = 138334185
funcar = -1079521192
numargs = 3
lisp_numargs = 138478085
val = 138477797
backtrace = {
next = 0xbfa7d32c,
function = 0xbfa7d070,
args = 0xbfa7d074,
nargs = 3,
evalargs = 0 '\0',
debug_on_exit = 0 '\0'
}
internal_args = (Lisp_Object *) 0x1a7d074
i = 138035338
#17 0x081e2a2f in Fbyte_code (bytestr=136700259, vector=136700276, maxdepth=48) at bytecode.c:679
count = 15
op = 3
vectorp = (Lisp_Object *) 0x825e178
bytestr_length = 327
stack = {
pc = 0x8321f5e "\210\016,A\211\026,\204\016\001+\335.\006\207",
top = 0xbfa7d07c,
bottom = 0xbfa7d070,
byte_string = 136700259,
byte_string_start = 0x8321e26 "\b\205\b",
constants = 136700276,
next = 0xbfa7d428
}
top = (Lisp_Object *) 0xbfa7d070
result = 137939145
#18 0x081ab34f in funcall_lambda (fun=136700220, nargs=1, arg_vector=0xbfa7d384) at eval.c:3184
val = 137939145
syms_left = 137939145
next = 137997593
count = 14
i = 1
optional = 0
rest = 0
#19 0x081aae0d in Ffuncall (nargs=2, args=0xbfa7d380) at eval.c:3043
fun = 136700220
original_fun = 137939601
funcar = -1079520424
numargs = 1
lisp_numargs = 141765040
val = 137939145
backtrace = {
next = 0xbfa7d63c,
function = 0xbfa7d380,
args = 0xbfa7d384,
nargs = 1,
evalargs = 0 '\0',
debug_on_exit = 0 '\0'
}
internal_args = (Lisp_Object *) 0xbfa7d38c
i = 141765040
#20 0x081e2a2f in Fbyte_code (bytestr=136701131, vector=136701148, maxdepth=40) at bytecode.c:679
count = 9
op = 1
vectorp = (Lisp_Object *) 0x825e4e0
bytestr_length = 61
stack = {
pc = 0x8321cad "\210\315\n!\210\v\203*",
top = 0xbfa7d384,
bottom = 0xbfa7d380,
byte_string = 136701131,
byte_string_start = 0x8321c90 "\305\b!\020\306\b\236\303 \307\310\bB!\311\031\032\033\034\312\216\313\n\b\"\210\314\n!\210\315\n!\210\v\203*",
constants = 136701148,
next = 0xbfa7d728
}
top = (Lisp_Object *) 0xbfa7d380
result = 2
#21 0x081ab34f in funcall_lambda (fun=136701084, nargs=1, arg_vector=0xbfa7d694) at eval.c:3184
val = 0
syms_left = 137939145
next = 138286457
count = 8
i = 1
optional = 1
rest = 0
#22 0x081aae0d in Ffuncall (nargs=2, args=0xbfa7d690) at eval.c:3043
fun = 136701084
original_fun = 138490289
funcar = -1079519416
numargs = 1
lisp_numargs = 29
val = 137939145
backtrace = {
next = 0xbfa7d93c,
function = 0xbfa7d690,
args = 0xbfa7d694,
nargs = 1,
evalargs = 0 '\0',
debug_on_exit = 0 '\0'
}
internal_args = (Lisp_Object *) 0x863d704
i = 137874512
#23 0x081e2a2f in Fbyte_code (bytestr=136945715, vector=136945732, maxdepth=24) at bytecode.c:679
count = 8
op = 1
vectorp = (Lisp_Object *) 0x829a048
bytestr_length = 16
stack = {
pc = 0x82fc432 "\032\305\306\n\"\210\n)\207",
top = 0xbfa7d694,
bottom = 0xbfa7d690,
byte_string = 136945715,
byte_string_start = 0x82fc42b "\303\304!\210\b\t!\032\305\306\n\"\210\n)\207",
constants = 136945732,
next = 0xbfa7da28
}
top = (Lisp_Object *) 0xbfa7d690
result = 3
#24 0x081ab34f in funcall_lambda (fun=136945668, nargs=1, arg_vector=0xbfa7d994) at eval.c:3184
val = -1079518856
syms_left = 137939145
next = 138286457
count = 7
i = 1
optional = 1
rest = 0
#25 0x081aae0d in Ffuncall (nargs=2, args=0xbfa7d990) at eval.c:3043
fun = 136945668
original_fun = 138890833
funcar = 621
numargs = 1
lisp_numargs = 141758800
val = 0
backtrace = {
next = 0xbfa7dc3c,
function = 0xbfa7d990,
args = 0xbfa7d994,
nargs = 1,
evalargs = 0 '\0',
debug_on_exit = 0 '\0'
}
internal_args = (Lisp_Object *) 0xbfa7d8f0
i = 3
#26 0x081e2a2f in Fbyte_code (bytestr=136945427, vector=136945444, maxdepth=24) at bytecode.c:679
count = 7
op = 1
vectorp = (Lisp_Object *) 0x8299f28
bytestr_length = 19
stack = {
pc = 0x82fc52c "\207",
top = 0xbfa7d994,
bottom = 0xbfa7d990,
byte_string = 136945427,
byte_string_start = 0x82fc51a "\302\303\b\"\204\v",
constants = 136945444,
next = 0x0
}
top = (Lisp_Object *) 0xbfa7d990
result = 137971012
#27 0x081ab34f in funcall_lambda (fun=136945372, nargs=1, arg_vector=0xbfa7dce4) at eval.c:3184
val = 139448813
syms_left = 137939145
next = 138286457
count = 5
i = 1
optional = 1
rest = 0
#28 0x081aae0d in Ffuncall (nargs=2, args=0xbfa7dce0) at eval.c:3043
fun = 136945372
original_fun = 139630145
funcar = -1079518088
numargs = 1
lisp_numargs = 137939145
val = 138034498
backtrace = {
next = 0xbfa7df3c,
function = 0xbfa7dce0,
args = 0xbfa7dce4,
nargs = 1,
evalargs = 0 '\0',
debug_on_exit = 0 '\0'
}
internal_args = (Lisp_Object *) 0x83a3d42
i = -1079518088
#29 0x081a66bc in Fcall_interactively (function=139630145, record_flag=137939193, keys=137979660) at callint.c:860
val = -1079517448
args = (Lisp_Object *) 0xbfa7dce0
visargs = (Lisp_Object *) 0xbfa7dcc0
fun = 136945372
specs = 136945515
filter_specs = 137939145
teml = 137939145
up_event = 137939145
enable = 137939145
speccount = 4
next_event = 23
prefix_arg = 137939145
string = (unsigned char *) 0xbfa7dd00 "sMake frame on display: "
tem = (unsigned char *) 0x82219bc ""
varies = (int *) 0xbfa7dca0
i = 2
j = 1
count = 1
foo = 140312792
prompt1 = "Make frame on display: ", '\0' <repeats 76 times>
tem1 = 0x0
arg_from_tty = 1
gcpro1 = {
next = 0x838c8c9,
var = 0xbfa7de38,
nvars = 135900999
}
gcpro2 = {
next = 0x0,
var = 0x0,
nvars = 0
}
gcpro3 = {
next = 0x82006aa,
var = 0x8394540,
nvars = 2
}
gcpro4 = {
next = 0x0,
var = 0x838c8c9,
nvars = 2
}
gcpro5 = {
next = 0x0,
var = 0x0,
nvars = 0
}
key_count = 23
record_then_fail = 0
save_this_command = 139630145
save_last_command = 138085633
save_this_original_command = 138085681
save_real_this_command = 139630145
#30 0x0813421e in Fcommand_execute (cmd=139630145, record_flag=137939193, keys=137939145, special=137939145) at keyboard.c:9867
final = 136945372
tem = 137939145
prefixarg = 137939145
backtrace = {
next = 0xbfa7e09c,
function = 0x837eeb0,
args = 0xbfa7df60,
nargs = 1,
evalargs = 0 '\0',
debug_on_exit = 0 '\0'
}
#31 0x08134591 in Fexecute_extended_command (prefixarg=137939145) at keyboard.c:9983
function = 139630145
buf = "M-x \000B\017\000\240\237_E \206\v\000H\343\247\277;k\037\b", '\0' <repeats 15 times>
saved_last_point_position = 1
saved_keys = 141751540
saved_last_point_position_buffer = 137971012
bindings = 137939145
value = 137939145
gcpro1 = {
next = 0x0,
var = 0x0,
nvars = 999991
}
gcpro2 = {
next = 0x1,
var = 0x0,
nvars = 0
}
gcpro3 = {
next = 0xbfa7dfc8,
var = 0x0,
nvars = -1213309515
}
hstarted = 1
#32 0x081aab7e in Ffuncall (nargs=2, args=0xbfa7e140) at eval.c:2997
fun = 136499092
original_fun = 137980177
funcar = -1079516968
numargs = 1
lisp_numargs = 137939145
val = 138034498
backtrace = {
next = 0xbfa7e36c,
function = 0xbfa7e140,
args = 0xbfa7e144,
nargs = 1,
evalargs = 0 '\0',
debug_on_exit = 0 '\0'
}
internal_args = (Lisp_Object *) 0xbfa7e144
i = -1079516968
#33 0x081a66bc in Fcall_interactively (function=137980177, record_flag=137939145, keys=137979660) at callint.c:860
val = -1079516376
args = (Lisp_Object *) 0xbfa7e140
visargs = (Lisp_Object *) 0xbfa7e120
fun = 136499092
specs = 137939145
filter_specs = 137939145
teml = 0
up_event = 137939145
enable = 137939145
speccount = 3
next_event = 1
prefix_arg = 137939145
string = (unsigned char *) 0x821b5e3 "P"
tem = (unsigned char *) 0x82219bc ""
varies = (int *) 0xbfa7e100
i = 2
j = 1
count = 1
foo = 0
prompt1 = '\0' <repeats 99 times>
tem1 = 0x0
arg_from_tty = 0
gcpro1 = {
next = 0x0,
var = 0x0,
nvars = 0
}
gcpro2 = {
next = 0x0,
var = 0x0,
nvars = 0
}
gcpro3 = {
next = 0x0,
var = 0x0,
nvars = 2
}
gcpro4 = {
next = 0x0,
var = 0x0,
nvars = 2
}
gcpro5 = {
next = 0x0,
var = 0x0,
nvars = 0
}
key_count = 1
record_then_fail = 0
save_this_command = 137980177
save_last_command = 137939145
save_this_original_command = 137980177
save_real_this_command = 137980177
#34 0x0813421e in Fcommand_execute (cmd=137980177, record_flag=137939145, keys=137939145, special=137939145) at keyboard.c:9867
final = 136499092
tem = 137939145
prefixarg = 137939145
backtrace = {
next = 0x0,
function = 0x837eeb0,
args = 0xbfa7e390,
nargs = 1,
evalargs = 0 '\0',
debug_on_exit = 0 '\0'
}
#35 0x08126497 in command_loop_1 () at keyboard.c:1858
scount = 2
cmd = 137980177
lose = -1079516240
nonundocount = 0
keybuf = {1073742784,
14178888,
-1210557224,
-1079515996,
-1208537815,
-1213670741,
134534228,
0,
0,
134522364,
8144949,
134533106,
225011984,
21,
-1213725876,
-1213691364,
-1213670546,
797,
1845493760,
-1210557304,
-1079515988,
-1208517874,
134532533,
-1210557292,
-1208479756,
14178888,
-1210557224,
-1079515900,
-1208537815,
0}
i = 1
no_direct = 0
prev_modiff = 1
prev_buffer = (struct buffer *) 0x8394540
was_locked = 0
already_adjusted = 0
#36 0x081a87a2 in internal_condition_case (bfun=0x81250a1 <command_loop_1>, handlers=137983849, hfun=0x8124a63 <cmd_error>) at eval.c:1481
val = 137939145
c = {
tag = 137939145,
val = 137939145,
next = 0xbfa7e630,
gcpro = 0x0,
jmp = {{
__jmpbuf = {-1212477452,
0,
-1208480576,
-1079515656,
-1079515888,
135956279},
__mask_was_saved = 0,
__saved_mask = {
__val = {110932256,
16777216,
0 <repeats 21 times>,
3081271996,
3084410072,
3086487540,
3086488824,
1,
3215451648,
3086444232,
3086489252,
3081224992}
}
}},
backlist = 0x0,
handlerlist = 0x0,
lisp_eval_depth = 0,
pdlcount = 2,
poll_suppress_count = 1,
interrupt_input_blocked = 0,
byte_stack = 0x0
}
h = {
handler = 137983849,
var = 137939145,
chosen_clause = 0,
tag = 0xbfa7e52c,
next = 0x0
}
#37 0x08124e0e in command_loop_2 () at keyboard.c:1326
val = 0
#38 0x081a825d in internal_catch (tag=137980057, func=0x8124deb <command_loop_2>, arg=137939145) at eval.c:1222
c = {
tag = 137980057,
val = 137939145,
next = 0x0,
gcpro = 0x0,
jmp = {{
__jmpbuf = {-1212477452,
0,
-1208480576,
-1079515400,
-1079515616,
135955022},
__mask_was_saved = 0,
__saved_mask = {
__val = {140333688,
2,
15,
3215451424,
1024,
140333707,
3082498164,
3082489844,
140333691,
140333688,
3215451464,
136467394,
136467394,
1258291215,
2382175626,
3215451880,
135869923,
138121649,
138123290,
137939145,
137971008,
0,
3215451860,
3215451880,
137939145,
137925381,
138123290,
138123290,
138123290,
137925389,
2,
138123290}
}
}},
backlist = 0x0,
handlerlist = 0x0,
lisp_eval_depth = 0,
pdlcount = 2,
poll_suppress_count = 1,
interrupt_input_blocked = 0,
byte_stack = 0x0
}
#39 0x08124dc4 in command_loop () at keyboard.c:1305
No locals.
#40 0x081247e0 in recursive_edit_1 () at keyboard.c:1003
count = 1
val = 138178917
#41 0x08124923 in Frecursive_edit () at keyboard.c:1064
count = 0
buffer = 137939145
#42 0x0812321d in main (argc=4, argv=0xbfa7ec04) at emacs.c:1794
dummy = 0
stack_bottom_variable = 0 '\0'
do_initial_setlocale = 1
skip_args = 0
rlim = {
rlim_cur = 8388608,
rlim_max = 18446744073709551615
}
no_loadup = 0
junk = 0x0
--8<---------------cut here---------------end--------------->8---
In GNU Emacs 22.0.90.3 (i686-pc-linux-gnu, X toolkit)
of 2006-11-13 on tp
X server distributor `The XFree86 Project, Inc', version 11.0.40300001
configured using `configure '--enable-debug' '--with-png' '--with-gif' '--with-tiff' '--with-jpeg' '--with-xpm' '--with-x-toolkit=yes' '--enable-maintainer-mode''
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: C
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: de_DE
locale-coding-system: iso-latin-1
default-enable-multibyte-characters: t
_______________________________________________
emacs-pretest-bug mailing list
emacs-pretest-bug@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Failed assertion on make-frame-on-display
2006-11-19 12:48 Failed assertion on make-frame-on-display Richard Stallman
@ 2006-11-20 20:16 ` Chong Yidong
2006-11-21 7:48 ` Richard Stallman
2006-11-21 17:27 ` Chong Yidong
0 siblings, 2 replies; 4+ messages in thread
From: Chong Yidong @ 2006-11-20 20:16 UTC (permalink / raw)
Cc: emacs-devel
Richard Stallman <rms@gnu.org> writes:
> I can trigger the following assertion by running
>
> emacs -Q -fn "-*-terminus-medium-r-*-*-16-*-*-*-*-*-*-1"
>
> and M-x make-frame-on-display to a display that doesn't have that font
> installed. When compiled without assertions, emacs dies when
> dereferencing the NULL returned by choose_face_font.
I can't test this, but probably the way to fix this is to make it an
error to try to make a frame on a display that doesn't support the
default font; i.e., x-create-frame should try to load the default font
on the new display if it is not already loaded, and do an Ferror if
the load fails.
WDYT?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Failed assertion on make-frame-on-display
2006-11-20 20:16 ` Chong Yidong
@ 2006-11-21 7:48 ` Richard Stallman
2006-11-21 17:27 ` Chong Yidong
1 sibling, 0 replies; 4+ messages in thread
From: Richard Stallman @ 2006-11-21 7:48 UTC (permalink / raw)
Cc: emacs-devel
I can't test this, but probably the way to fix this is to make it an
error to try to make a frame on a display that doesn't support the
default font; i.e., x-create-frame should try to load the default font
on the new display if it is not already loaded, and do an Ferror if
the load fails.
WDYT?
I can't think of anything better, and it is certainly better than
crashing. So please do it.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Failed assertion on make-frame-on-display
2006-11-20 20:16 ` Chong Yidong
2006-11-21 7:48 ` Richard Stallman
@ 2006-11-21 17:27 ` Chong Yidong
1 sibling, 0 replies; 4+ messages in thread
From: Chong Yidong @ 2006-11-21 17:27 UTC (permalink / raw)
Cc: emacs-devel, Andreas Seltenreich
>> I can trigger the following assertion by running
>>
>> emacs -Q -fn "-*-terminus-medium-r-*-*-16-*-*-*-*-*-*-1"
>>
>> and M-x make-frame-on-display to a display that doesn't have that font
>> installed. When compiled without assertions, emacs dies when
>> dereferencing the NULL returned by choose_face_font.
I've checked in a fix. Emacs won't crash anymore (and trying to make
a frame on a display that doesn't support the default font raises a
Lisp error.)
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-11-21 17:27 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-19 12:48 Failed assertion on make-frame-on-display Richard Stallman
2006-11-20 20:16 ` Chong Yidong
2006-11-21 7:48 ` Richard Stallman
2006-11-21 17:27 ` Chong Yidong
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.