unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Emacs crashes, 07nov16
@ 2007-11-16 19:35 Robert J. Chassell
  2007-11-18 13:01 ` Richard Stallman
  2007-11-19 20:37 ` RMAIL misbehaving (Was: Re: Emacs crashes, 07nov16) Alfred M. Szmidt
  0 siblings, 2 replies; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-16 19:35 UTC (permalink / raw)
  To: emacs-devel

An instance of GNU Emacs crashed.

Today's GNU Emacs CVS snapshot, Fri, 2007 Nov 16  17:37 UTC
GNU Emacs 23.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.12.1) 
bootstrap build, run in debugger

The Emacs was built with this:

     (progn
       (cd "/usr/local/src/emacs/")
       (compile
        "make clean && ./configure --with-x --with-type1 --with-x-toolkit=gtk \
         --prefix=/usr/local --with-sound=yes && \
         time make bootstrap && date"))

(That was after earlier snapshots crashed.  

I reproduced this crash twice in an RMAIL without the summary buffer
being visible by going from viniciusjl@ig.com.br message, Re: Integer
& glyph (trunk and emacs_unicode), to bzg@altern.org message, Re: New
keybinding suggestion: C-x _ for `shrink-window' in RMAIL.  The third
time, I went from bzg@altern.org message, Re: New keybinding
suggestion: C-x _ for `shrink-window' to my comment, Re: [Unicode-2]
euro sign disappears.
  
(I am writing this in another instance run in the debugger.)

Here is a backtrace; what else would you like me to get?

(gdb) bt full
#0  abort () at emacs.c:431
No locals.
#1  0x0816078d in internal_condition_case_2 (bfun=0x8163600 <Frun_hook_with_args>, nargs=2, args=0xbfd3f1f4, handlers=137554169, hfun=0x8061a60 <delete_frame_handler>) at eval.c:1567
	val = <value optimized out>
	c = {
  tag = 8, 
  val = 161852032, 
  next = 0x9a5aa80, 
  gcpro = 0xbfd3f108, 
  jmp = {{
      __jmpbuf = {134613429, 151114661, 151114653, 151114653, 140501368, 161852032}, 
      __mask_was_saved = -1076629128, 
      __saved_mask = {
        __val = {3218338104, 134614136, 3218338168, 137709577, 161852032, 892745011, 892745521, 151114496, 151114509, 140501372, 140501368, 140501372, 3218338184, 134615161, 140501368, 3218338168, 137554121, 0, 0, 140210116, 3072263820, 3080526628, 1511, 137555168, 3218338184, 135750394, 140208768, 78, 137712008, 137555172, 22, 135949730}
      }
    }}, 
  backlist = 0xbfd3f1b8, 
  handlerlist = 0x817679a, 
  lisp_eval_depth = 137555172, 
  pdlcount = 135949730, 
  poll_suppress_count = 22, 
  interrupt_input_blocked = 22, 
  byte_stack = 0x835ba11
}
	h = {
  handler = 137740146, 
  var = 140501368, 
  chosen_clause = 140501368, 
  tag = 0x85fe178, 
  next = 0x85fe17c
}
#2  0x08062385 in Fdelete_frame (frame=140501372, force=137554169) at frame.c:1411
	args = {137712009, 140501372}
	f = (struct frame *) 0x85fe178
	sf = <value optimized out>
	kb = <value optimized out>
#3  0x080cca9f in x_connection_closed (dpy=0x85b6a80, error_message=<value optimized out>) at xterm.c:7841
	dpyinfo = (struct x_display_info *) 0x85dfae0
	frame = 0
	tail = <value optimized out>
#4  0x080ccfaa in x_error_quitter (display=0x85b6a80, error=0xbfd3f81c) at xterm.c:7970
	buf = "BadValue (integer parameter out of range for operation)", '\0' <repeats 200 times>
	buf1 = "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77\000\200\000\000\244\370\323\277\254\367\323\277\310\000\000\000H\000\000\0008'\216\267\254\367\323\277\244\370\323\277\002\000\000\000n\257\214\267\000!j\b\210[a\b\000\000\000\000n\257\214\267\360\376\212\267\001\000\000\000\324aZ\b\323\337\214\267\300\367\323\277\024\000\000\000\324aZ\b8'\216\267\300\367\323\277\300u]\bH\366\323\27707\215\267"...
#5  0x080cd000 in x_error_handler (display=0x85b6a80, error=0xbfd3f81c) at xterm.c:7926
No locals.
#6  0xb79271ef in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#7  0xb7929c77 in _XEventsQueued () from /usr/lib/libX11.so.6
No symbol table info available.
#8  0xb7915723 in XPending () from /usr/lib/libX11.so.6
No symbol table info available.
#9  0xb7b8ccfd in gdk_check_xpending (display=<value optimized out>) at /tmp/buildd/gtk+2.0-2.12.1/gdk/x11/gdkevents-x11.c:150
No locals.
#10 0xb7b8cdf1 in gdk_event_prepare (source=0x85c2d38, timeout=0xbfd40158) at /tmp/buildd/gtk+2.0-2.12.1/gdk/x11/gdkevents-x11.c:2308
	display = (GdkDisplay *) 0x1
	retval = 0
#11 0xb7830a0f in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#12 0xb78311c9 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#13 0x085c2d80 in ?? ()
No symbol table info available.
#14 0xbfd401b8 in ?? ()
No symbol table info available.
#15 0xbfd40000 in ?? ()
No symbol table info available.
#16 0x00000000 in ?? ()
No symbol table info available.
(gdb) 
-- 
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    bob@rattlesnake.com                         bob@gnu.org
    http://www.rattlesnake.com                  http://www.teak.cc

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-16 19:35 Emacs crashes, 07nov16 Robert J. Chassell
@ 2007-11-18 13:01 ` Richard Stallman
  2007-11-18 22:06   ` Robert J. Chassell
  2007-11-19 20:37 ` RMAIL misbehaving (Was: Re: Emacs crashes, 07nov16) Alfred M. Szmidt
  1 sibling, 1 reply; 35+ messages in thread
From: Richard Stallman @ 2007-11-18 13:01 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

This is an X error.  Can you reproduce it after doing
(x-synchronize t)?

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-18 13:01 ` Richard Stallman
@ 2007-11-18 22:06   ` Robert J. Chassell
  2007-11-19 12:25     ` Richard Stallman
  0 siblings, 1 reply; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-18 22:06 UTC (permalink / raw)
  To: emacs-devel

[mostly non-occuring crash in Emacs]

    This is an X error.  Can you reproduce it after doing
    (x-synchronize t)?

Yes, I just checked.  

    Today's GNU Emacs CVS snapshot, Sun, 2007 Nov 18  10:57 UTC
    GNU Emacs 23.0.50.3 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
        started with

        -i -q -l ~bob/.emacs-21 -bg DodgerBlue4 -fg white \
                      -geometry 80x56 -name 'Emacs in Debugger 3'

I can reproduce the crash after running

    (x-synchronize nil)

too.

-- 
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    bob@rattlesnake.com                         bob@gnu.org
    http://www.rattlesnake.com                  http://www.teak.cc

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-18 22:06   ` Robert J. Chassell
@ 2007-11-19 12:25     ` Richard Stallman
  2007-11-19 14:05       ` Robert J. Chassell
  0 siblings, 1 reply; 35+ messages in thread
From: Richard Stallman @ 2007-11-19 12:25 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

When it crashes after (x-synchronize t),
the backtrace will show the Xlib construct that got the error.
Please send that backtrace.

(The previous backtrace showed nothing except that it WAS an X error.)

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-19 12:25     ` Richard Stallman
@ 2007-11-19 14:05       ` Robert J. Chassell
  2007-11-20  3:59         ` Richard Stallman
  0 siblings, 1 reply; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-19 14:05 UTC (permalink / raw)
  To: emacs-devel

   When it crashes after (x-synchronize t),
   the backtrace will show the Xlib construct that got the error.
   Please send that backtrace.

Thanks.  Here it is.  Does this show the proper construct?

(gdb) bt full
#0  abort () at emacs.c:431
No locals.
#1  0x0816075d in internal_condition_case_2 (bfun=0x8163570 <Frun_hook_with_args>, nargs=2, args=0xbf885014, handlers=137562361, hfun=0x80619e0 <delete_frame_handler>) at eval.c:1567
	val = <value optimized out>
	c = {
  tag = 8,
  val = 154166880,
  next = 0x9306660,
  gcpro = 0xbf884f28,
  jmp = {{
      __jmpbuf = {134613301, 138013701, 138013733, 138013733, 140514176, 154166880},
      __mask_was_saved = -1081585768,
      __saved_mask = {
        __val = {3213381464, 134614008, 3213381528, 137717769, 154166880, 842281525, 825768248, 138014720, 138014869, 140514180, 140514176, 140514180, 3213381544, 134615033, 140514176, 3213381528, 137562313, 3213381600, 140217088, 32, 3079799805, 3080493860, 1511, 137563360, 3213381544, 135750234, 3213381560, 78, 137720200, 137563364, 22, 135949570}
      }
    }},
  backlist = 0xbf884fd8,
  handlerlist = 0x81766fa,
  lisp_eval_depth = 137563364,
  pdlcount = 135949570,
  poll_suppress_count = 22,
  interrupt_input_blocked = 22,
  byte_stack = 0x835df72
}
	h = {
  handler = 137746960,
  var = 140514176,
  chosen_clause = 140514176,
  tag = 0x8601380,
  next = 0x8601384
}
#2  0x08062305 in Fdelete_frame (frame=140514180, force=137562361) at frame.c:1411
	args = {137720201, 140514180}
	f = (struct frame *) 0x8601380
	sf = <value optimized out>
	kb = <value optimized out>
#3  0x080cc9df in x_connection_closed (dpy=0x85b8b00, error_message=<value optimized out>) at xterm.c:7835
	dpyinfo = (struct x_display_info *) 0x85e1bc8
	frame = 0
	tail = <value optimized out>
#4  0x080cceea in x_error_quitter (display=0x85b8b00, error=0xbf88563c) at xterm.c:7968
	buf = "BadValue (integer parameter out of range for operation)", '\0' <repeats 200 times>
	buf1 = "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77\000\000\000\000\237\262\221\267\230n[\b$\233\234\267\030T\210\277o\262\221\267\230n[\b\240T\210\277 \000\000\000$\233\234\267 \000\000\000\240T\210\277HT\210\277\251\002\222\267\230n[\b\240T\210\277 ", '\0' <repeats 11 times>, "L\220[\b\214\206\036\267$\233\234\267\000\000\000\000\000\213[\b\210T\210\277\024A\214\267\000"...
#5  0x080ccf40 in x_error_handler (display=0x85b8b00, error=0xbf88563c) at xterm.c:7924
No locals.
#6  0xb791f1ef in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#7  0xb7920dcb in _XReply () from /usr/lib/libX11.so.6
No symbol table info available.
#8  0xb79180b8 in XSync () from /usr/lib/libX11.so.6
No symbol table info available.
#9  0xb7918243 in ?? () from /usr/lib/libX11.so.6
No symbol table info available.
#10 0x085b8b00 in ?? ()
No symbol table info available.
#11 0x00000000 in ?? ()
No symbol table info available.
(gdb)

Today's GNU Emacs CVS snapshot, Mon, 2007 Nov 19  10:53 UTC
GNU Emacs 23.0.50.5 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
started in a debugger with

    set args -i -q \
    --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
    -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
    -geometry 80x44+660+51 -name '-q GNU Emacs in Debugger 4'

and using the foo.mail test file I sent earlier.

Note the 20 pixel wide font (as I reported earlier, Emacs does not
crash when it has an 18 pixel wide font).

-- 
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    bob@rattlesnake.com                         bob@gnu.org
    http://www.rattlesnake.com                  http://www.teak.cc

^ permalink raw reply	[flat|nested] 35+ messages in thread

* RMAIL misbehaving (Was: Re: Emacs crashes, 07nov16)
  2007-11-16 19:35 Emacs crashes, 07nov16 Robert J. Chassell
  2007-11-18 13:01 ` Richard Stallman
@ 2007-11-19 20:37 ` Alfred M. Szmidt
  2007-11-21 12:05   ` Richard Stallman
  1 sibling, 1 reply; 35+ messages in thread
From: Alfred M. Szmidt @ 2007-11-19 20:37 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

Might as well report this bug.  Robert included a RMAIL file, which
casues RMAIL to misbehave when getting the message.  The message in
question included ^_^L (not control characters on purpose since it
cause RMAIL to misbehave).  Maybe RMAIL should ignore such things (and
replace them with something safe) if the first few lines of the file
are not a BABYL header?

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-19 14:05       ` Robert J. Chassell
@ 2007-11-20  3:59         ` Richard Stallman
  2007-11-20 11:17           ` Robert J. Chassell
  0 siblings, 1 reply; 35+ messages in thread
From: Richard Stallman @ 2007-11-20  3:59 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

    #8  0xb79180b8 in XSync () from /usr/lib/libX11.so.6
    No symbol table info available.
    #9  0xb7918243 in ?? () from /usr/lib/libX11.so.6
    No symbol table info available.
    #10 0x085b8b00 in ?? ()
    No symbol table info available.
    #11 0x00000000 in ?? ()
    No symbol table info available.
    (gdb)

This is the part of the backtrace that ought to give the information,
and it is garbled.

What happens if you put a breakpoint at x_connection_closed?  That
will stop earlier.  Is the backtrace complete at that point?

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-20  3:59         ` Richard Stallman
@ 2007-11-20 11:17           ` Robert J. Chassell
  2007-11-20 12:08             ` Jan Djärv
  0 siblings, 1 reply; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-20 11:17 UTC (permalink / raw)
  To: emacs-devel

        #11 0x00000000 in ?? ()
        No symbol table info available.
        (gdb)

    This is the part of the backtrace that ought to give the information,
    and it is garbled.

    What happens if you put a breakpoint at x_connection_closed?  That
    will stop earlier.  Is the backtrace complete at that point?

The backtrace does not show an address of 0x00000000.  In any case, I
don't know what is going on.  What should I do next?

(gdb) bt full
#0  x_connection_closed (dpy=0x85b8b80, error_message=0xbfc8fc28 "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77") at xterm.c:7786
	dpyinfo = <value optimized out>
	frame = <value optimized out>
	tail = <value optimized out>
#1  0x080cceea in x_error_quitter (display=0x85b8b80, error=0xbfc8fedc) at xterm.c:7968
	buf = "BadValue (integer parameter out of range for operation)", '\0' <repeats 200 times>
	buf1 = "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77\000\240Z\b\t\000\000\000\244E_\b\000\000\000\000x\244Z\bH\000\000\000P\000\000\000\340\306\205\b\024\273m\b\350\254\302\267\200\262q\bhk_\b\330\374\310\277$\036\274\267L\000\000\000\200\262q\b\000\000\000\000|\315\371\267|\315\371\267\200\262q\b\b\375\310\277\036\232\315\267\200\262q\b\200\262q\b\000\000\000\000\b\375\310\277"...
#2  0x080ccf40 in x_error_handler (display=0x85b8b80, error=0xbfc8fedc) at xterm.c:7924
No locals.
#3  0xb79831ef in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#4  0xb7985c77 in _XEventsQueued () from /usr/lib/libX11.so.6
No symbol table info available.
#5  0xb7971723 in XPending () from /usr/lib/libX11.so.6
No symbol table info available.
#6  0xb7be8cfd in gdk_check_xpending (display=<value optimized out>) at /tmp/buildd/gtk+2.0-2.12.1/gdk/x11/gdkevents-x11.c:150
No locals.
#7  0xb7be8df1 in gdk_event_prepare (source=0x85c4e60, timeout=0xbfc90818) at /tmp/buildd/gtk+2.0-2.12.1/gdk/x11/gdkevents-x11.c:2308
	display = (GdkDisplay *) 0x85b8b80
	retval = 0
#8  0xb788ca0f in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#9  0xb788d1c9 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#10 0x085c4ea8 in ?? ()
No symbol table info available.
#11 0xbfc90878 in ?? ()
No symbol table info available.
#12 0x086700e8 in ?? ()
No symbol table info available.
#13 0xb7928114 in g_type_check_instance_is_a () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#14 0xb788dbba in g_main_context_pending () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#15 0xb7d72231 in IA__gtk_events_pending () at /tmp/buildd/gtk+2.0-2.12.1/gtk/gtkmain.c:1224
	result = <value optimized out>
#16 0x080ccc97 in XTread_socket (terminal=0x0, expected=1, hold_quit=0xbfc90bd4) at xterm.c:7177
	inev = {
  kind = TIMER_EVENT, 
  code = 590, 
  part = scroll_bar_handle, 
  modifiers = -1077343888, 
  x = -1220863220, 
  y = -1077343956, 
  timestamp = 3086768598, 
  padding = {0xb7bb484b, 0xb7c5bc69}, 
  frame_or_window = 143086296, 
  arg = -1218383532
}
	count = 0
	dpyinfo = (struct x_display_info *) 0x0
#17 0x08100d5c in read_avail_input (expected=1) at keyboard.c:7106
	nr = <value optimized out>
	hold_quit = {
  kind = NO_EVENT, 
  code = 0, 
  part = scroll_bar_above_handle, 
  modifiers = 0, 
  x = 0, 
  y = 0, 
  timestamp = 0, 
  padding = {0x0, 0x0}, 
  frame_or_window = 0, 
  arg = 0
}
	next = (struct terminal *) 0x0
	nread = 0
	err = 0
	t = (struct terminal *) 0x85e1b58
#18 0x08100eca in handle_async_input () at keyboard.c:7336
	nread = 140217216
#19 0x0810ab50 in input_available_signal (signo=29) at keyboard.c:7378
	old_errno = 0
#20 <signal handler called>
No symbol table info available.
#21 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#22 0xb74f4ba9 in sigprocmask () from /lib/i686/cmov/libc.so.6
No symbol table info available.
#23 0x081124ef in sys_sigunblock (new_mask={__val = {268435456, 0 <repeats 31 times>}}) at sysdep.c:3064
	old_mask = {
  __val = {268435456, 0, 10, 20, 16, 140547080, 140515104, 0, 140514368, 0, 0, 830, 280, 140515104, 140515104, 10, 20, 3217625300, 134632972, 140515104, 0, 140514368, 140514368, 140515104, 140515104, 3217625324, 134633279, 140515104, 3217625488, 3075429505, 3217625744, 3075429653}
}
#24 0x0811346f in request_sigio () at sysdep.c:1050
No locals.
#25 0x0808a5fa in redisplay_internal (preserve_echo_area=<value optimized out>) at xdisp.c:11578
	tail = <value optimized out>
	w = (struct window *) 0x86015c8
	pause = 0
	must_finish = 1
	tlbufpos = {
  charpos = 0, 
  bytepos = 0
}
	number_of_visible_frames = 1
	polling_stopped_here = 1
	old_frame = 140514372
	consider_all_windows_p = 1
#26 0x0810542e in read_char (commandflag=1, nmaps=2, maps=0xbfc91e50, prev_event=137562313, used_mouse_menu=0xbfc91ee8, end_time=0x0) at keyboard.c:2748
	keys = 0
	key_count = 140514368
	key_count_reset = 0
	saved_ok_to_echo = (struct kboard *) 0x0
	saved_echo_string = 0
	c = 137562313
	local_getcjmp = {{
    __jmpbuf = {137562313, -1077338816, 142905096, 142905100, -1077338840, 135913888}, 
    __mask_was_saved = 137805845, 
    __saved_mask = {
      __val = {137597689, 1, 3217628480, 142905096, 3217628480, 3217628696, 135640483, 137805845, 137597689, 142905100, 0 <repeats 22 times>}
    }
  }}
	save_jump = {{
    __jmpbuf = {0, 137562313, 0, 0, 142905100, 137972916}, 
    __mask_was_saved = 1418, 
    __saved_mask = {
      __val = {3217628296, 135911338, 0, 1417, 3217628328, 135911549, 0, 1, 0, 142905100, 137972916, 1417, 3217628344, 135911338, 137724945, 1416, 3217628376, 135911549, 1, 1, 137562313, 137597689, 137805840, 137562313, 3217628424, 135913703, 137597689, 137805181, 3217628432, 0, 1, 137805845}
    }
  }}
	key_already_recorded = 0
	tem = 2
	save = 140514368
	previous_echo_area_message = 137562313
	also_record = 137562313
	reread = 0
	polling_stopped_here = <value optimized out>
	orig_kboard = (struct kboard *) 0x85e2eb0
#27 0x08107f03 in read_key_sequence (keybuf=0xbfc91f94, bufsize=30, prompt=137562313, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9455
	interrupted_kboard = (KBOARD *) 0x85e2eb0
	key = 142256420
	used_mouse_menu = 0
	echo_local_start = 0
	last_real_key_start = 0
	keys_local_start = 0
	local_first_binding = 0
	from_string = 137562313
	count = 2
	t = 0
	echo_start = 0
	keys_start = 0
	nmaps = 2
	nmaps_allocated = 2
	defs = (Lisp_Object * volatile) 0xbfc91e30
	submaps = (Lisp_Object * volatile) 0xbfc91e50
	orig_local_map = 139440181
	orig_keymap = 137562313
	localized_local_map = 0
	first_binding = 0
	first_unbound = 31
	mock_input = 0
	fkey = {
  parent = 139136605, 
  map = 139136605, 
  start = 0, 
  end = 0
}
	keytran = {
  parent = 137554789, 
  map = 137554789, 
  start = 0, 
  end = 0
}
	indec = {
  parent = 139136629, 
  map = 139136629, 
  start = 0, 
  end = 0
}
	delayed_switch_frame = 137562313
	original_uppercase = 0
	original_uppercase_position = -1
	starting_buffer = (struct buffer *) 0x8848f08
	fake_prefixed_keys = 137562313
#28 0x08109bc1 in command_loop_1 () at keyboard.c:1684
	cmd = <value optimized out>
	lose = <value optimized out>
	nonundocount = 0
	keybuf = {192, 48, -1219704624, 134541218, -1472036458, 134541220, 134541222, 0, 0, 1, 994, -1220862992, -1218170208, 134541218, -1219663780, 134522600, 1, -1208119308, -1208117216, 0, -1077338120, -1077338272, 0, -1077346304, 137562313, 138189817, 0, 137912576, 137912560, -1077338088}
	i = <value optimized out>
	prev_modiff = 4
	prev_buffer = (struct buffer *) 0x8338540
	already_adjusted = 0
#29 0x08160a50 in internal_condition_case (bfun=0x8109a20 <command_loop_1>, handlers=137619713, hfun=0x81042d0 <cmd_error>) at eval.c:1493
	val = <value optimized out>
	c = {
  tag = 137562313, 
  val = 137562313, 
  next = 0xbfc92140, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {0, 137912576, 137912560, -1077337848, -2042609535, 940844014}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {0, 135579367, 3217629540, 139627776, 12, 12, 3217629540, 4294967295, 3217629352, 135580272, 3217629540, 12, 3217629340, 3217629336, 134542086, 514, 12, 12, 3217629540, 0, 3217629384, 135580334, 3217629540, 12, 3075283564, 3076797088, 800, 110932256, 3086847988, 134522600, 3086849640, 3217629456}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
	h = {
  handler = 137619713, 
  var = 137562313, 
  chosen_clause = 136037944, 
  tag = 0xbfc9202c, 
  next = 0x0
}
#30 0x08103753 in command_loop_2 () at keyboard.c:1396
	val = 0
#31 0x08160b2a in internal_catch (tag=137611273, func=0x8103730 <command_loop_2>, arg=137562313) at eval.c:1229
	c = {
  tag = 137611273, 
  val = 137562313, 
  next = 0x0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {0, 137912576, 137912560, -1077337592, -2042470271, 940981230}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {909653549, 0 <repeats 13 times>, 540091136, 542133587, 543781446, 543651137, 807416115, 875706928, 137748336, 137748338, 137746960, 3217629688, 135605960, 137746961, 137748338, 137562313, 137594176, 137562337, 2, 13880}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
#32 0x08104137 in command_loop () at keyboard.c:1375
No locals.
#33 0x0810449b in recursive_edit_1 () at keyboard.c:984
	val = <value optimized out>
#34 0x081045d1 in Frecursive_edit () at keyboard.c:1046
	buffer = 137562313
#35 0x080f9dd0 in main (argc=15, argv=0xbfc92614) at emacs.c:1777
	tz = 0xbfc92efb "UTC"
	dummy = -1077336728
	stack_bottom_variable = 8 '\b'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {
  rlim_cur = 8388608, 
  rlim_max = 18446744073709551615
}
	no_loadup = 0
	junk = 0x0
(gdb) 


Yesterday's GNU Emacs CVS snapshot, Mon, 2007 Nov 19  15:42 UTC
GNU Emacs 23.0.50.6 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
started in a debugger with

    set args -i -q \
    --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
    -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
    -geometry 80x44+660+51 -name '-q GNU Emacs in Debugger 4'

and using the foo.mail test file I sent earlier.

-- 
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    bob@rattlesnake.com                         bob@gnu.org
    http://www.rattlesnake.com                  http://www.teak.cc

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-20 11:17           ` Robert J. Chassell
@ 2007-11-20 12:08             ` Jan Djärv
  2007-11-20 16:07               ` Robert J. Chassell
  0 siblings, 1 reply; 35+ messages in thread
From: Jan Djärv @ 2007-11-20 12:08 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

It does not look like this backtrace was made with (x-synchronize t),  was it?

	Jan D.


Robert J. Chassell skrev:
>         #11 0x00000000 in ?? ()
>         No symbol table info available.
>         (gdb)
> 
>     This is the part of the backtrace that ought to give the information,
>     and it is garbled.
> 
>     What happens if you put a breakpoint at x_connection_closed?  That
>     will stop earlier.  Is the backtrace complete at that point?
> 
> The backtrace does not show an address of 0x00000000.  In any case, I
> don't know what is going on.  What should I do next?
> 
> (gdb) bt full
> #0  x_connection_closed (dpy=0x85b8b80, error_message=0xbfc8fc28 "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77") at xterm.c:7786
> 	dpyinfo = <value optimized out>
> 	frame = <value optimized out>
> 	tail = <value optimized out>
> #1  0x080cceea in x_error_quitter (display=0x85b8b80, error=0xbfc8fedc) at xterm.c:7968
> 	buf = "BadValue (integer parameter out of range for operation)", '\0' <repeats 200 times>
> 	buf1 = "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77\000\240Z\b\t\000\000\000\244E_\b\000\000\000\000x\244Z\bH\000\000\000P\000\000\000\340\306\205\b\024\273m\b\350\254\302\267\200\262q\bhk_\b\330\374\310\277$\036\274\267L\000\000\000\200\262q\b\000\000\000\000|\315\371\267|\315\371\267\200\262q\b\b\375\310\277\036\232\315\267\200\262q\b\200\262q\b\000\000\000\000\b\375\310\277"...
> #2  0x080ccf40 in x_error_handler (display=0x85b8b80, error=0xbfc8fedc) at xterm.c:7924
> No locals.
> #3  0xb79831ef in _XError () from /usr/lib/libX11.so.6
> No symbol table info available.
> #4  0xb7985c77 in _XEventsQueued () from /usr/lib/libX11.so.6
> No symbol table info available.
> #5  0xb7971723 in XPending () from /usr/lib/libX11.so.6
> No symbol table info available.
> #6  0xb7be8cfd in gdk_check_xpending (display=<value optimized out>) at /tmp/buildd/gtk+2.0-2.12.1/gdk/x11/gdkevents-x11.c:150
> No locals.
> #7  0xb7be8df1 in gdk_event_prepare (source=0x85c4e60, timeout=0xbfc90818) at /tmp/buildd/gtk+2.0-2.12.1/gdk/x11/gdkevents-x11.c:2308
> 	display = (GdkDisplay *) 0x85b8b80
> 	retval = 0
> #8  0xb788ca0f in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
> No symbol table info available.
> #9  0xb788d1c9 in ?? () from /usr/lib/libglib-2.0.so.0
> No symbol table info available.
> #10 0x085c4ea8 in ?? ()
> No symbol table info available.
> #11 0xbfc90878 in ?? ()
> No symbol table info available.
> #12 0x086700e8 in ?? ()
> No symbol table info available.
> #13 0xb7928114 in g_type_check_instance_is_a () from /usr/lib/libgobject-2.0.so.0
> No symbol table info available.
> #14 0xb788dbba in g_main_context_pending () from /usr/lib/libglib-2.0.so.0
> No symbol table info available.
> #15 0xb7d72231 in IA__gtk_events_pending () at /tmp/buildd/gtk+2.0-2.12.1/gtk/gtkmain.c:1224
> 	result = <value optimized out>
> #16 0x080ccc97 in XTread_socket (terminal=0x0, expected=1, hold_quit=0xbfc90bd4) at xterm.c:7177
> 	inev = {
>   kind = TIMER_EVENT, 
>   code = 590, 
>   part = scroll_bar_handle, 
>   modifiers = -1077343888, 
>   x = -1220863220, 
>   y = -1077343956, 
>   timestamp = 3086768598, 
>   padding = {0xb7bb484b, 0xb7c5bc69}, 
>   frame_or_window = 143086296, 
>   arg = -1218383532
> }
> 	count = 0
> 	dpyinfo = (struct x_display_info *) 0x0
> #17 0x08100d5c in read_avail_input (expected=1) at keyboard.c:7106
> 	nr = <value optimized out>
> 	hold_quit = {
>   kind = NO_EVENT, 
>   code = 0, 
>   part = scroll_bar_above_handle, 
>   modifiers = 0, 
>   x = 0, 
>   y = 0, 
>   timestamp = 0, 
>   padding = {0x0, 0x0}, 
>   frame_or_window = 0, 
>   arg = 0
> }
> 	next = (struct terminal *) 0x0
> 	nread = 0
> 	err = 0
> 	t = (struct terminal *) 0x85e1b58
> #18 0x08100eca in handle_async_input () at keyboard.c:7336
> 	nread = 140217216
> #19 0x0810ab50 in input_available_signal (signo=29) at keyboard.c:7378
> 	old_errno = 0
> #20 <signal handler called>
> No symbol table info available.
> #21 0xffffe410 in __kernel_vsyscall ()
> No symbol table info available.
> #22 0xb74f4ba9 in sigprocmask () from /lib/i686/cmov/libc.so.6
> No symbol table info available.
> #23 0x081124ef in sys_sigunblock (new_mask={__val = {268435456, 0 <repeats 31 times>}}) at sysdep.c:3064
> 	old_mask = {
>   __val = {268435456, 0, 10, 20, 16, 140547080, 140515104, 0, 140514368, 0, 0, 830, 280, 140515104, 140515104, 10, 20, 3217625300, 134632972, 140515104, 0, 140514368, 140514368, 140515104, 140515104, 3217625324, 134633279, 140515104, 3217625488, 3075429505, 3217625744, 3075429653}
> }
> #24 0x0811346f in request_sigio () at sysdep.c:1050
> No locals.
> #25 0x0808a5fa in redisplay_internal (preserve_echo_area=<value optimized out>) at xdisp.c:11578
> 	tail = <value optimized out>
> 	w = (struct window *) 0x86015c8
> 	pause = 0
> 	must_finish = 1
> 	tlbufpos = {
>   charpos = 0, 
>   bytepos = 0
> }
> 	number_of_visible_frames = 1
> 	polling_stopped_here = 1
> 	old_frame = 140514372
> 	consider_all_windows_p = 1
> #26 0x0810542e in read_char (commandflag=1, nmaps=2, maps=0xbfc91e50, prev_event=137562313, used_mouse_menu=0xbfc91ee8, end_time=0x0) at keyboard.c:2748
> 	keys = 0
> 	key_count = 140514368
> 	key_count_reset = 0
> 	saved_ok_to_echo = (struct kboard *) 0x0
> 	saved_echo_string = 0
> 	c = 137562313
> 	local_getcjmp = {{
>     __jmpbuf = {137562313, -1077338816, 142905096, 142905100, -1077338840, 135913888}, 
>     __mask_was_saved = 137805845, 
>     __saved_mask = {
>       __val = {137597689, 1, 3217628480, 142905096, 3217628480, 3217628696, 135640483, 137805845, 137597689, 142905100, 0 <repeats 22 times>}
>     }
>   }}
> 	save_jump = {{
>     __jmpbuf = {0, 137562313, 0, 0, 142905100, 137972916}, 
>     __mask_was_saved = 1418, 
>     __saved_mask = {
>       __val = {3217628296, 135911338, 0, 1417, 3217628328, 135911549, 0, 1, 0, 142905100, 137972916, 1417, 3217628344, 135911338, 137724945, 1416, 3217628376, 135911549, 1, 1, 137562313, 137597689, 137805840, 137562313, 3217628424, 135913703, 137597689, 137805181, 3217628432, 0, 1, 137805845}
>     }
>   }}
> 	key_already_recorded = 0
> 	tem = 2
> 	save = 140514368
> 	previous_echo_area_message = 137562313
> 	also_record = 137562313
> 	reread = 0
> 	polling_stopped_here = <value optimized out>
> 	orig_kboard = (struct kboard *) 0x85e2eb0
> #27 0x08107f03 in read_key_sequence (keybuf=0xbfc91f94, bufsize=30, prompt=137562313, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9455
> 	interrupted_kboard = (KBOARD *) 0x85e2eb0
> 	key = 142256420
> 	used_mouse_menu = 0
> 	echo_local_start = 0
> 	last_real_key_start = 0
> 	keys_local_start = 0
> 	local_first_binding = 0
> 	from_string = 137562313
> 	count = 2
> 	t = 0
> 	echo_start = 0
> 	keys_start = 0
> 	nmaps = 2
> 	nmaps_allocated = 2
> 	defs = (Lisp_Object * volatile) 0xbfc91e30
> 	submaps = (Lisp_Object * volatile) 0xbfc91e50
> 	orig_local_map = 139440181
> 	orig_keymap = 137562313
> 	localized_local_map = 0
> 	first_binding = 0
> 	first_unbound = 31
> 	mock_input = 0
> 	fkey = {
>   parent = 139136605, 
>   map = 139136605, 
>   start = 0, 
>   end = 0
> }
> 	keytran = {
>   parent = 137554789, 
>   map = 137554789, 
>   start = 0, 
>   end = 0
> }
> 	indec = {
>   parent = 139136629, 
>   map = 139136629, 
>   start = 0, 
>   end = 0
> }
> 	delayed_switch_frame = 137562313
> 	original_uppercase = 0
> 	original_uppercase_position = -1
> 	starting_buffer = (struct buffer *) 0x8848f08
> 	fake_prefixed_keys = 137562313
> #28 0x08109bc1 in command_loop_1 () at keyboard.c:1684
> 	cmd = <value optimized out>
> 	lose = <value optimized out>
> 	nonundocount = 0
> 	keybuf = {192, 48, -1219704624, 134541218, -1472036458, 134541220, 134541222, 0, 0, 1, 994, -1220862992, -1218170208, 134541218, -1219663780, 134522600, 1, -1208119308, -1208117216, 0, -1077338120, -1077338272, 0, -1077346304, 137562313, 138189817, 0, 137912576, 137912560, -1077338088}
> 	i = <value optimized out>
> 	prev_modiff = 4
> 	prev_buffer = (struct buffer *) 0x8338540
> 	already_adjusted = 0
> #29 0x08160a50 in internal_condition_case (bfun=0x8109a20 <command_loop_1>, handlers=137619713, hfun=0x81042d0 <cmd_error>) at eval.c:1493
> 	val = <value optimized out>
> 	c = {
>   tag = 137562313, 
>   val = 137562313, 
>   next = 0xbfc92140, 
>   gcpro = 0x0, 
>   jmp = {{
>       __jmpbuf = {0, 137912576, 137912560, -1077337848, -2042609535, 940844014}, 
>       __mask_was_saved = 0, 
>       __saved_mask = {
>         __val = {0, 135579367, 3217629540, 139627776, 12, 12, 3217629540, 4294967295, 3217629352, 135580272, 3217629540, 12, 3217629340, 3217629336, 134542086, 514, 12, 12, 3217629540, 0, 3217629384, 135580334, 3217629540, 12, 3075283564, 3076797088, 800, 110932256, 3086847988, 134522600, 3086849640, 3217629456}
>       }
>     }}, 
>   backlist = 0x0, 
>   handlerlist = 0x0, 
>   lisp_eval_depth = 0, 
>   pdlcount = 2, 
>   poll_suppress_count = 1, 
>   interrupt_input_blocked = 0, 
>   byte_stack = 0x0
> }
> 	h = {
>   handler = 137619713, 
>   var = 137562313, 
>   chosen_clause = 136037944, 
>   tag = 0xbfc9202c, 
>   next = 0x0
> }
> #30 0x08103753 in command_loop_2 () at keyboard.c:1396
> 	val = 0
> #31 0x08160b2a in internal_catch (tag=137611273, func=0x8103730 <command_loop_2>, arg=137562313) at eval.c:1229
> 	c = {
>   tag = 137611273, 
>   val = 137562313, 
>   next = 0x0, 
>   gcpro = 0x0, 
>   jmp = {{
>       __jmpbuf = {0, 137912576, 137912560, -1077337592, -2042470271, 940981230}, 
>       __mask_was_saved = 0, 
>       __saved_mask = {
>         __val = {909653549, 0 <repeats 13 times>, 540091136, 542133587, 543781446, 543651137, 807416115, 875706928, 137748336, 137748338, 137746960, 3217629688, 135605960, 137746961, 137748338, 137562313, 137594176, 137562337, 2, 13880}
>       }
>     }}, 
>   backlist = 0x0, 
>   handlerlist = 0x0, 
>   lisp_eval_depth = 0, 
>   pdlcount = 2, 
>   poll_suppress_count = 1, 
>   interrupt_input_blocked = 0, 
>   byte_stack = 0x0
> }
> #32 0x08104137 in command_loop () at keyboard.c:1375
> No locals.
> #33 0x0810449b in recursive_edit_1 () at keyboard.c:984
> 	val = <value optimized out>
> #34 0x081045d1 in Frecursive_edit () at keyboard.c:1046
> 	buffer = 137562313
> #35 0x080f9dd0 in main (argc=15, argv=0xbfc92614) at emacs.c:1777
> 	tz = 0xbfc92efb "UTC"
> 	dummy = -1077336728
> 	stack_bottom_variable = 8 '\b'
> 	do_initial_setlocale = 1
> 	skip_args = 0
> 	rlim = {
>   rlim_cur = 8388608, 
>   rlim_max = 18446744073709551615
> }
> 	no_loadup = 0
> 	junk = 0x0
> (gdb) 
> 
> 
> Yesterday's GNU Emacs CVS snapshot, Mon, 2007 Nov 19  15:42 UTC
> GNU Emacs 23.0.50.6 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
> started in a debugger with
> 
>     set args -i -q \
>     --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
>     -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
>     -geometry 80x44+660+51 -name '-q GNU Emacs in Debugger 4'
> 
> and using the foo.mail test file I sent earlier.
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-20 12:08             ` Jan Djärv
@ 2007-11-20 16:07               ` Robert J. Chassell
  2007-11-21  7:42                 ` Jan Djärv
  2007-11-21 12:04                 ` Richard Stallman
  0 siblings, 2 replies; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-20 16:07 UTC (permalink / raw)
  To: emacs-devel

    It does not look like this backtrace was made with (x-synchronize t)...

Oops!  I forgot.  My apologies.  Here it is again.   It does not look
any better.  What would you like me to try next?

(gdb) bt full
#0  x_connection_closed (dpy=0x85b8b80, error_message=0xbfaef5e8 "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77") at xterm.c:7786
	dpyinfo = <value optimized out>
	frame = <value optimized out>
	tail = <value optimized out>
#1  0x080cceea in x_error_quitter (display=0x85b8b80, error=0xbfaef89c) at xterm.c:7968
	buf = "BadValue (integer parameter out of range for operation)", '\0' <repeats 200 times>
	buf1 = "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77\000\000\000\000\n\f\220\2670mZ\b\300\220[\b\210\366\256\277\251\002\220\2670mZ\b\340\366\256\277 ", '\0' <repeats 11 times>, "\330\220[\b\214&\034\267$\233\232\267\000\000\000\000\200\213[\b\310\366\256\277\005\r\220\267\200\213[\b\340\366\256\277 \000\000\000$\233\232\267\000\000\000\000`\331\000\000\350\366\256\277\024A\212\267\200"...
#2  0x080ccf40 in x_error_handler (display=0x85b8b80, error=0xbfaef89c) at xterm.c:7924
No locals.
#3  0xb78ff1ef in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#4  0xb7900dcb in _XReply () from /usr/lib/libX11.so.6
No symbol table info available.
#5  0xb78f80b8 in XSync () from /usr/lib/libX11.so.6
No symbol table info available.
#6  0xb78f8243 in ?? () from /usr/lib/libX11.so.6
No symbol table info available.
#7  0x085b8b80 in ?? ()
No symbol table info available.
#8  0x00000000 in ?? ()
No symbol table info available.
(gdb) 


Today's GNU Emacs CVS snapshot, Tue, 2007 Nov 20  11:48 UTC
GNU Emacs 23.0.50.7 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
started in debugger with
    set args -i -q \
    --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
    -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
    -geometry 80x44+660+51 -name '-q GNU Emacs in Debugger 4'

-- 
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    bob@rattlesnake.com                         bob@gnu.org
    http://www.rattlesnake.com                  http://www.teak.cc

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-20 16:07               ` Robert J. Chassell
@ 2007-11-21  7:42                 ` Jan Djärv
  2007-11-21 12:45                   ` Robert J. Chassell
  2007-11-21 12:04                 ` Richard Stallman
  1 sibling, 1 reply; 35+ messages in thread
From: Jan Djärv @ 2007-11-21  7:42 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel



Robert J. Chassell skrev:
>     It does not look like this backtrace was made with (x-synchronize t)...
> 
> Oops!  I forgot.  My apologies.  Here it is again.   It does not look
> any better.  What would you like me to try next?
> 

Hmm, it looks like someone is overwriting the stack.  77 is X_ImageText16 
(XDrawImageString16) so some parameter to that call is bad.  But where that 
corruption happens is har to know.  Try this:

(gdb) l x_draw_glyph_string_foreground
(gdb) l
     <and more l until you see>:

1373              if (s->two_byte_p)
1374                XDrawImageString16 (s->display, s->window, s->gc, x,
1375                                    s->ybase - boff, s->char2b, s->nchars);
1376              else
1377                XDrawImageString (s->display, s->window, s->gc, x,
1378                                  s->ybase - boff, char1b, s->nchars);

     <your line numbers may not be the same>

(gdb) b 1374
     <i.e. the line that XDrawImageString16 is on.  Not to be confused with
      XDrawString16 that occurs a bit before this line>
(gdb) r
     <Try to display the euro char, breakpoint should be hit>
(gdb) p *s
(gdb) p *s->font
(gdb) p *s->font_info
(gdb) p x
(gdb) p boff

No need to use x-synchronize for this.

Another thing you can try is another 20 -point font, like courier.


	Jan D.



> (gdb) bt full
> #0  x_connection_closed (dpy=0x85b8b80, error_message=0xbfaef5e8 "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77") at xterm.c:7786
> 	dpyinfo = <value optimized out>
> 	frame = <value optimized out>
> 	tail = <value optimized out>
> #1  0x080cceea in x_error_quitter (display=0x85b8b80, error=0xbfaef89c) at xterm.c:7968
> 	buf = "BadValue (integer parameter out of range for operation)", '\0' <repeats 200 times>
> 	buf1 = "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77\000\000\000\000\n\f\220\2670mZ\b\300\220[\b\210\366\256\277\251\002\220\2670mZ\b\340\366\256\277 ", '\0' <repeats 11 times>, "\330\220[\b\214&\034\267$\233\232\267\000\000\000\000\200\213[\b\310\366\256\277\005\r\220\267\200\213[\b\340\366\256\277 \000\000\000$\233\232\267\000\000\000\000`\331\000\000\350\366\256\277\024A\212\267\200"...
> #2  0x080ccf40 in x_error_handler (display=0x85b8b80, error=0xbfaef89c) at xterm.c:7924
> No locals.
> #3  0xb78ff1ef in _XError () from /usr/lib/libX11.so.6
> No symbol table info available.
> #4  0xb7900dcb in _XReply () from /usr/lib/libX11.so.6
> No symbol table info available.
> #5  0xb78f80b8 in XSync () from /usr/lib/libX11.so.6
> No symbol table info available.
> #6  0xb78f8243 in ?? () from /usr/lib/libX11.so.6
> No symbol table info available.
> #7  0x085b8b80 in ?? ()
> No symbol table info available.
> #8  0x00000000 in ?? ()
> No symbol table info available.
> (gdb) 
> 
> 
> Today's GNU Emacs CVS snapshot, Tue, 2007 Nov 20  11:48 UTC
> GNU Emacs 23.0.50.7 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
> started in debugger with
>     set args -i -q \
>     --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
>     -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
>     -geometry 80x44+660+51 -name '-q GNU Emacs in Debugger 4'
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-20 16:07               ` Robert J. Chassell
  2007-11-21  7:42                 ` Jan Djärv
@ 2007-11-21 12:04                 ` Richard Stallman
  2007-11-21 17:20                   ` Robert J. Chassell
  1 sibling, 1 reply; 35+ messages in thread
From: Richard Stallman @ 2007-11-21 12:04 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

Please try a breakpoint at x_error_quitter and see if the backtrace is
more meaningful then.  If not, try again with the breakpoint at
_XError.

If the backtrace still shows no useful information, then either Xlib
has clobbered the stack or GDB has a bug.  Are you using the latest
GDB version?

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: RMAIL misbehaving (Was: Re: Emacs crashes, 07nov16)
  2007-11-19 20:37 ` RMAIL misbehaving (Was: Re: Emacs crashes, 07nov16) Alfred M. Szmidt
@ 2007-11-21 12:05   ` Richard Stallman
  2007-12-13  0:15     ` Alfred M. Szmidt
  0 siblings, 1 reply; 35+ messages in thread
From: Richard Stallman @ 2007-11-21 12:05 UTC (permalink / raw)
  To: ams; +Cc: bob, emacs-devel

      Maybe RMAIL should ignore such things (and
    replace them with something safe) if the first few lines of the file
    are not a BABYL header?

That is a good idea.  I've been bothered by this before,
but I didn't have that idea for a solution.
I will try to implement it now, because I think it could be easy.

The long-term solution is to install the Rmail-mbox code.

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-21  7:42                 ` Jan Djärv
@ 2007-11-21 12:45                   ` Robert J. Chassell
  2007-11-21 15:13                     ` Stefan Monnier
  2007-11-22  7:07                     ` Jan Djärv
  0 siblings, 2 replies; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-21 12:45 UTC (permalink / raw)
  To: emacs-devel

jan.h.d@swipnet.se writes

    Hmm, it looks like someone is overwriting the stack.  77 is
    X_ImageText16 (XDrawImageString16) so some parameter to that call
    is bad.  But where that corruption happens is har to know.

Interesting!  I get this 

    (gdb) l x_draw_glyph_string_foreground
    Function "x_draw_glyph_string_foreground" not defined.

both when my breakpoint is abort () at emacs.c:431 and when it is
x_connection_closed at xterm.c:7786 
even though
x_draw_glyph_string_foreground (s) is defined on line 1316 of xterm.c
and line 1374 of xterm.c is

	    XDrawImageString16 (s->display, s->window, s->gc, x,

When I run and try to display the euro character having previously:

    (gdb) b 1374
         <i.e. the line that XDrawImageString16 is on.  Not to be confused with
          XDrawString16 that occurs a bit before this line>

I see this:

    (gdb) r
    The program being debugged has been started already.
    Start it from the beginning? (y or n) y
    Starting program: /usr/local/src/emacs/src/emacs -i -q     --eval '(emacs-version t)' -bg DodgerBlue4 -fg white     -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1'     -geometry 80x44+545+51 -name '-q GNU Emacs in Debugger 4'
    [Thread debugging using libthread_db enabled]
    [New Thread 0xb71fc920 (LWP 10230)]
    [Switching to Thread 0xb71fc920 (LWP 10230)]

    Breakpoint 4, x_draw_glyph_string (s=0xbfe761b0) at xterm.c:1374

    (gdb)  p *s
    $1 = {
      x = 30, 
      y = 180, 
      ybase = 196, 
      width = 10, 
      background_width = 10, 
      height = 20, 
      left_overhang = 0, 
      right_overhang = 0, 
      f = 0x8601840, 
      w = 0x86019c8, 
      display = 0x85b8f00, 
      window = 46137561, 
      row = 0x86278cc, 
      area = TEXT_AREA, 
      char2b = 0xbfe76190, 
      nchars = 1, 
      hl = DRAW_NORMAL_TEXT, 
      face = 0x8798b40, 
      font = 0x8859550, 
      font_info = 0x8603318, 
      cmp = 0x0, 
      gidx = 0, 
      extends_to_end_of_line_p = 0, 
      background_filled_p = 0, 
      two_byte_p = 1, 
      font_not_found_p = 0, 
      stippled_p = 0, 
      for_overlaps = 0, 
      gc = 0x858e5f8, 
      first_glyph = 0x86064b8, 
      img = 0x0, 
      slice = {
        x = 0, 
        y = 0, 
        width = 0, 
        height = 0
      }, 
      clip_head = 0x0, 
      clip_tail = 0x0, 
      next = 0xbfe76100, 
      prev = 0x0
    }
    (gdb)  p *s->font
    $2 = {
      ext_data = 0x8798be8, 
      fid = 46138179, 
      direction = 0, 
      min_char_or_byte2 = 0, 
      max_char_or_byte2 = 255, 
      min_byte1 = 0, 
      max_byte1 = 255, 
      all_chars_exist = 0, 
      default_char = 0, 
      n_properties = 23, 
      properties = 0x8847370, 
      min_bounds = {
        lbearing = 0, 
        rbearing = 0, 
        width = 10, 
        ascent = -3, 
        descent = -15, 
        attributes = 0
      }, 
      max_bounds = {
        lbearing = 9, 
        rbearing = 10, 
        width = 10, 
        ascent = 16, 
        descent = 4, 
        attributes = 0
      }, 
      per_char = 0xb6d75000, 
      ascent = 16, 
      descent = 4
    }
    (gdb) p *s->font_info
    $3 = {
      ext_data = 0x8798be8, 
      fid = 46138179, 
      direction = 0, 
      min_char_or_byte2 = 0, 
      max_char_or_byte2 = 255, 
      min_byte1 = 0, 
      max_byte1 = 255, 
      all_chars_exist = 0, 
      default_char = 0, 
      n_properties = 23, 
      properties = 0x8847370, 
      min_bounds = {
        lbearing = 0, 
        rbearing = 0, 
        width = 10, 
        ascent = -3, 
        descent = -15, 
        attributes = 0
      }, 
      max_bounds = {
        lbearing = 9, 
        rbearing = 10, 
        width = 10, 
        ascent = 16, 
        descent = 4, 
        attributes = 0
      }, 
      per_char = 0xb6d75000, 
      ascent = 16, 
      descent = 4
    }
    (gdb)  p x
    ^done,locals=[{name="tem",type="long unsigned int",value="<value optimized out>"},{name="h",type="long unsigned int",value="<value optimized out>"},{name="y",type="int",value="<value optimized out>"},{name="relief_drawn_p",type="int",value="0"}]
    (gdb)  p boff
    ^done,locals=[{name="tem",type="long unsigned int",value="<value optimized out>"},{name="h",type="long unsigned int",value="<value optimized out>"},{name="y",type="int",value="<value optimized out>"},{name="relief_drawn_p",type="int",value="0"}]
    (gdb) 



Starting with fixed 20 and going to a Courier font of 18 (there are
none readily available for 20) using S-down-mouse-1 (mouse-set-font),
I can display the Euro sign as I can with fixed 18.

When I do S-down-mouse-1 (mouse-set-font) with fixed 18 (i.e., with
-Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO8859-1), I do not
see fontset startup: 20-dot medium which is visible when I start with
fixed 20 (i.e., with
-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1).

Incidentally, Courier fonts 14 and 18 are bigger than fixed 20 and
Courier font 12 is smaller.




Today's GNU Emacs CVS snapshot, Wed, 2007 Nov 21  10:49 UTC
GNU Emacs 23.0.50.9 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
started in debugger with

    set args -i -q \
    --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
    -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
    -geometry 80x44+545+51 -name '-q GNU Emacs in Debugger 4'

architecture: i686
Linux kernel: 2.6.22-2-686
distribution: Debian testing, updated today


-- 
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    bob@rattlesnake.com                         bob@gnu.org
    http://www.rattlesnake.com                  http://www.teak.cc

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-21 12:45                   ` Robert J. Chassell
@ 2007-11-21 15:13                     ` Stefan Monnier
  2007-11-22  7:07                     ` Jan Djärv
  1 sibling, 0 replies; 35+ messages in thread
From: Stefan Monnier @ 2007-11-21 15:13 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

>     (gdb) l x_draw_glyph_string_foreground
>     Function "x_draw_glyph_string_foreground" not defined.

x_draw_glyph_string_foreground is a static function called from only
1 place, so the compiler inlines it (there's no reason not to).
Are you compiling with -O0, if not, try it: it makes for a much smoother
debugging experience.


        Stefan

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-21 12:04                 ` Richard Stallman
@ 2007-11-21 17:20                   ` Robert J. Chassell
  2007-11-22  7:07                     ` Jan Djärv
  0 siblings, 1 reply; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-21 17:20 UTC (permalink / raw)
  To: emacs-devel

architecture: i686
Linux kernel: 2.6.22-2-686
distribution: Debian testing, updated today

gcc (GCC) 4.2.3 20071014 (prerelease) (Debian 4.2.2-3)
Emacs rebuilt without optimisation, i.e., with -O0

Today's GNU Emacs CVS snapshot, Wed, 2007 Nov 21  10:49 UTC
GNU Emacs 23.0.50.2 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
started in debugger with

    set args -i -q \
    --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
    -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
    -geometry 80x44+545+51 -name '-q GNU Emacs in Debugger 4'

Unused breakpoints deleted.  Here are backtraces from breakpoints at
x_connection_closed, x_error_quitter, and _XError

# breakpoint x_connection_closed

(gdb) bt full
#0  x_connection_closed (dpy=0x85b9000, error_message=0xbff60f08 "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77") at xterm.c:7786
	dpyinfo = <value optimized out>
	frame = <value optimized out>
	tail = <value optimized out>
#1  0x080cceda in x_error_quitter (display=0x85b9000, error=0xbff611bc) at xterm.c:7968
	buf = "BadValue (integer parameter out of range for operation)", '\0' <repeats 200 times>
	buf1 = "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77\000\234Z\b\t\000\000\000tI_\b\000\000\000\000\270\240Z\bH\000\000\000P\000\000\000\200gy\b\024\303m\b\350\274\275\267\210\037p\bh\217_\b\270\017\366\277$.\267\267L\000\000\000\210\037p\b\000\000\000\000|\335\364\267|\335\364\267\210\037p\b\350\017\366\277\036\252\310\267\210\037p\b\210\037p\b\000\000\000\000\350\017\366\277"...
#2  0x080ccf30 in x_error_handler (display=0x85b9000, error=0xbff611bc) at xterm.c:7924
No locals.
#3  0xb79341ef in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#4  0xb7936c77 in _XEventsQueued () from /usr/lib/libX11.so.6
No symbol table info available.
#5  0xb7922723 in XPending () from /usr/lib/libX11.so.6
No symbol table info available.
#6  0xb7b99cfd in gdk_check_xpending (display=<value optimized out>) at /tmp/buildd/gtk+2.0-2.12.1/gdk/x11/gdkevents-x11.c:150
No locals.
#7  0xb7b99df1 in gdk_event_prepare (source=0x85c5288, timeout=0xbff61af8) at /tmp/buildd/gtk+2.0-2.12.1/gdk/x11/gdkevents-x11.c:2308
	display = (GdkDisplay *) 0x85b9000
	retval = 0
#8  0xb783da0f in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#9  0xb783e1c9 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#10 0x085c52d0 in ?? ()
No symbol table info available.
#11 0xbff61b58 in ?? ()
No symbol table info available.
#12 0x08803990 in ?? ()
No symbol table info available.
#13 0xb78d9114 in g_type_check_instance_is_a () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#14 0xb783ebba in g_main_context_pending () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#15 0xb7d23231 in IA__gtk_events_pending () at /tmp/buildd/gtk+2.0-2.12.1/gtk/gtkmain.c:1224
	result = <value optimized out>
#16 0x080ccc87 in XTread_socket (terminal=0x0, expected=1, hold_quit=0xbff61eb4) at xterm.c:7177
	inev = {
  kind = TIMER_EVENT,
  code = 590,
  part = scroll_bar_handle,
  modifiers = -1074389936,
  x = -1221351352,
  y = -1074390004,
  timestamp = 3086445014,
  padding = {0xb7b6584b, 0xb7c0cc69},
  frame_or_window = 142066136,
  arg = -1218629292
}
	count = 0
	dpyinfo = (struct x_display_info *) 0x0
#17 0x08100d4c in read_avail_input (expected=1) at keyboard.c:7106
	nr = <value optimized out>
	hold_quit = {
  kind = NO_EVENT,
  code = 0,
  part = scroll_bar_above_handle,
  modifiers = 0,
  x = 0,
  y = 0,
  timestamp = 0,
  padding = {0x0, 0x0},
  frame_or_window = 0,
  arg = 0
}
	next = (struct terminal *) 0x0
	nread = 0
	err = 0
	t = (struct terminal *) 0x85e3878
#18 0x08100eba in handle_async_input () at keyboard.c:7336
	nread = 140218368
#19 0x0810ab40 in input_available_signal (signo=29) at keyboard.c:7378
	old_errno = 0
#20 <signal handler called>
No symbol table info available.
#21 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#22 0xb74b8ba9 in sigprocmask () from /lib/i686/cmov/libc.so.6
No symbol table info available.
#23 0x081124df in sys_sigunblock (new_mask={__val = {268435456, 0 <repeats 31 times>}}) at sysdep.c:3064
	old_mask = {
  __val = {268435456, 0, 10, 20, 16, 140549136, 140516112, 0, 140515376, 0, 0, 830, 280, 140516112, 140516112, 10, 20, 3220579252, 134632956, 140516112, 0, 140515376, 140515376, 140516112, 140516112, 3220579276, 134633263, 140516112, 3220579440, 3075183745, 3220579696, 3075183893}
}
#24 0x0811345f in request_sigio () at sysdep.c:1050
No locals.
#25 0x0808a5ea in redisplay_internal (preserve_echo_area=<value optimized out>) at xdisp.c:11578
	tail = <value optimized out>
	w = (struct window *) 0x86019b8
	pause = 0
	must_finish = 1
	tlbufpos = {
  charpos = 0,
  bytepos = 0
}
	number_of_visible_frames = 1
	polling_stopped_here = 1
	old_frame = 140515380
	consider_all_windows_p = 1
#26 0x0810541e in read_char (commandflag=1, nmaps=2, maps=0xbff63130, prev_event=137562313, used_mouse_menu=0xbff631c8, end_time=0x0) at keyboard.c:2748
	keys = 0
	key_count = 140515376
	key_count_reset = 0
	saved_ok_to_echo = (struct kboard *) 0x0
	saved_echo_string = 0
	c = 137562313
	local_getcjmp = {{
    __jmpbuf = {137562313, -1074384864, 142931400, 142931404, -1074384888, 135913840},
    __mask_was_saved = 137805845,
    __saved_mask = {
      __val = {137597689, 1, 3220582432, 142931400, 3220582432, 3220582648, 135640435, 137805845, 137597689, 142931404, 0 <repeats 22 times>}
    }
  }}
	save_jump = {{
    __jmpbuf = {0, 137562313, 0, 0, 142931404, 137972916},
    __mask_was_saved = 1418,
    __saved_mask = {
      __val = {3220582248, 135911290, 0, 1417, 3220582280, 135911501, 0, 1, 0, 142931404, 137972916, 1417, 3220582296, 135911290, 137724945, 1416, 3220582328, 135911501, 1, 1, 137562313, 137597689, 137805840, 137562313, 3220582376, 135913655, 137597689, 137805181, 3220582384, 0, 1, 137805845}
    }
  }}
	key_already_recorded = 0
	tem = 2
	save = 140515376
	previous_echo_area_message = 137562313
	also_record = 137562313
	reread = 0
	polling_stopped_here = <value optimized out>
	orig_kboard = (struct kboard *) 0x85e32b8
#27 0x08107ef3 in read_key_sequence (keybuf=0xbff63274, bufsize=30, prompt=137562313, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9455
	interrupted_kboard = (KBOARD *) 0x85e32b8
	key = 142259804
	used_mouse_menu = 0
	echo_local_start = 0
	last_real_key_start = 0
	keys_local_start = 0
	local_first_binding = 0
	from_string = 137562313
	count = 2
	t = 0
	echo_start = 0
	keys_start = 0
	nmaps = 2
	nmaps_allocated = 2
	defs = (Lisp_Object * volatile) 0xbff63110
	submaps = (Lisp_Object * volatile) 0xbff63130
	orig_local_map = 139127117
	orig_keymap = 137562313
	localized_local_map = 0
	first_binding = 0
	first_unbound = 31
	mock_input = 0
	fkey = {
  parent = 139271701,
  map = 139271701,
  start = 0,
  end = 0
}
	keytran = {
  parent = 137554789,
  map = 137554789,
  start = 0,
  end = 0
}
	indec = {
  parent = 139271709,
  map = 139271709,
  start = 0,
  end = 0
}
	delayed_switch_frame = 137562313
	original_uppercase = 0
	original_uppercase_position = -1
	starting_buffer = (struct buffer *) 0x884f5c8
	fake_prefixed_keys = 137562313
#28 0x08109bb1 in command_loop_1 () at keyboard.c:1684
	cmd = <value optimized out>
	lose = <value optimized out>
	nonundocount = 0
	keybuf = {192, 48, -1219950384, 134541203, -1472036458, 134541205, 134541207, 0, 0, 1, 994, -1221351128, -1218617344, 134541203, -1219909540, 134522600, 1, -1208442892, -1208440800, 0, -1074384168, -1074384320, 0, -1074397184, 137562313, 138203161, 0, 137912576, 137912560, -1074384136}
	i = <value optimized out>
	prev_modiff = 4
	prev_buffer = (struct buffer *) 0x8338540
	already_adjusted = 0
#29 0x08160a20 in internal_condition_case (bfun=0x8109a10 <command_loop_1>, handlers=137619713, hfun=0x81042c0 <cmd_error>) at eval.c:1493
	val = <value optimized out>
	c = {
  tag = 137562313,
  val = 137562313,
  next = 0xbff63420,
  gcpro = 0x0,
  jmp = {{
      __jmpbuf = {0, 137912576, 137912560, -1074383896, -127532927, 940819438},
      __mask_was_saved = 0,
      __saved_mask = {
        __val = {0, 135579319, 3220583492, 139846280, 12, 12, 3220583492, 4294967295, 3220583304, 135580224, 3220583492, 12, 3220583292, 3220583288, 134542071, 514, 12, 12, 3220583492, 0, 3220583336, 135580286, 3220583492, 12, 3075037804, 3076349952, 800, 110932256, 3086524404, 134522600, 3086526056, 3220583408}
      }
    }},
  backlist = 0x0,
  handlerlist = 0x0,
  lisp_eval_depth = 0,
  pdlcount = 2,
  poll_suppress_count = 1,
  interrupt_input_blocked = 0,
  byte_stack = 0x0
}
	h = {
  handler = 137619713,
  var = 137562313,
  chosen_clause = 136037936,
  tag = 0xbff6330c,
  next = 0x0
}
#30 0x08103743 in command_loop_2 () at keyboard.c:1396
	val = 0
#31 0x08160afa in internal_catch (tag=137611273, func=0x8103720 <command_loop_2>, arg=137562313) at eval.c:1229
	c = {
  tag = 137611273,
  val = 137562313,
  next = 0x0,
  gcpro = 0x0,
  jmp = {{
      __jmpbuf = {0, 137912576, 137912560, -1074383640, -127393663, 940956654},
      __mask_was_saved = 0,
      __saved_mask = {
        __val = {909653549, 0 <repeats 13 times>, 540091136, 542133587, 543781446, 543651137, 807416115, 875706928, 137748336, 137748338, 137746960, 3220583640, 135605912, 137746961, 137748338, 137562313, 137594176, 137562337, 2, 13880}
      }
    }},
  backlist = 0x0,
  handlerlist = 0x0,
  lisp_eval_depth = 0,
  pdlcount = 2,
  poll_suppress_count = 1,
  interrupt_input_blocked = 0,
  byte_stack = 0x0
}
#32 0x08104127 in command_loop () at keyboard.c:1375
No locals.
#33 0x0810448b in recursive_edit_1 () at keyboard.c:984
	val = <value optimized out>
#34 0x081045c1 in Frecursive_edit () at keyboard.c:1046
	buffer = 137562313
#35 0x080f9dc0 in main (argc=15, argv=0xbff638f4) at emacs.c:1777
	tz = 0xbff64efb "UTC"
	dummy = -1074382776
	stack_bottom_variable = 8 '\b'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {
  rlim_cur = 8388608,
  rlim_max = 18446744073709551615
}
	no_loadup = 0
	junk = 0x0
(gdb)


# breakpoint x_error_quitter

(gdb) bt full
#0  x_error_quitter (display=0x85b9000, error=0xbfcfaf4c) at xterm.c:7959
	buf = "t\256\317\277\\\214\373\267xZ\\\b8\256\317\277\221\025\311\267xZ\\\b<\202\374\267@\256\317\277T\257\317\277\0062\003g1\000\000\000\\\246\223\267|t\256\267G\f\224\267\0062\003gI\f\224\267K\f\224\267\000\000\000\000\000\000\000\000\001\000\000\000\033\003\000\000\000\000\000\000@m\256\267G\f\224\267l\374\223\267\f\330\223\267\001\000\000\000\364\277\374\267\370n\256\267H\257\317\277d\257\317\277\322\216\373\267\f\330\223\267H\257\317\277\304\307\374\267\022\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000t\261\317\277|\260\317\277\310\000\000\000\310\256\317\277T\257\317\277|\260\317\277t\261\317\277\002\000\000\000n\237\221\267\001\027\223\267"...
	buf1 = "\000\000\000\000\004\220\211\267\000\000\000\000\000\000\000\000\364?a\267\200b\205\b\220h\206\b\020\000\000\000p\234Z\b\001\000\000\000\000\021\\\b3\000\000\000x\240Z\b\b\000\000\000\020\000\000\000\025\000\000\000\320T\206\b\004\220\211\267\220h\206\b\000\000\000\000\b\255\317\277\027\003\207\2678\037p\bP\000\000\000p\234Z\b\t\000\000\000\224I_\b\000\000\000\000\270\240Z\bH\000\000\000P\000\000\000\200\033\205\b\024\303m\b\350\334\301\2678\037p\bh\313f\bH\255\317\277$N\273\267L\000\000\0008\037p\b\000\000\000\000|\375\370\267|\375\370\2678\037p\bx\255\317\277\036\312\314\2678\037p\b8\037p\b\000\000\000\000x\255\317\277"...
#1  0x080ccf30 in x_error_handler (display=0x85b9000, error=0xbfcfaf4c) at xterm.c:7924
No locals.
#2  0xb79761ef in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#3  0xb7978c77 in _XEventsQueued () from /usr/lib/libX11.so.6
No symbol table info available.
#4  0xb7964723 in XPending () from /usr/lib/libX11.so.6
No symbol table info available.
#5  0xb7bdbcfd in gdk_check_xpending (display=<value optimized out>) at /tmp/buildd/gtk+2.0-2.12.1/gdk/x11/gdkevents-x11.c:150
No locals.
#6  0xb7bdbdf1 in gdk_event_prepare (source=0x85c5288, timeout=0xbfcfb888) at /tmp/buildd/gtk+2.0-2.12.1/gdk/x11/gdkevents-x11.c:2308
	display = (GdkDisplay *) 0x85b9000
	retval = 0
#7  0xb787fa0f in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#8  0xb78801c9 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#9  0x085c52d0 in ?? ()
No symbol table info available.
#10 0xbfcfb8e8 in ?? ()
No symbol table info available.
#11 0x0884d900 in ?? ()
No symbol table info available.
#12 0xb791b114 in g_type_check_instance_is_a () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#13 0xb7880bba in g_main_context_pending () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#14 0xb7d65231 in IA__gtk_events_pending () at /tmp/buildd/gtk+2.0-2.12.1/gtk/gtkmain.c:1224
	result = <value optimized out>
#15 0x080ccc87 in XTread_socket (terminal=0x0, expected=1, hold_quit=0xbfcfbc44) at xterm.c:7177
	inev = {
  kind = TIMER_EVENT,
  code = 590,
  part = scroll_bar_handle,
  modifiers = 139871128,
  x = -1076905552,
  y = 135587142,
  timestamp = 137458788,
  padding = {0xb7869551, 0x30},
  frame_or_window = 143218488,
  arg = -1218358956
}
	count = 0
	dpyinfo = (struct x_display_info *) 0x0
#16 0x08100d4c in read_avail_input (expected=1) at keyboard.c:7106
	nr = <value optimized out>
	hold_quit = {
  kind = NO_EVENT,
  code = 0,
  part = scroll_bar_above_handle,
  modifiers = 0,
  x = 0,
  y = 0,
  timestamp = 0,
  padding = {0x0, 0x0},
  frame_or_window = 0,
  arg = 0
}
	next = (struct terminal *) 0x0
	nread = 0
	err = 0
	t = (struct terminal *) 0x85e3878
#17 0x08100eba in handle_async_input () at keyboard.c:7336
	nread = 140218368
#18 0x0810ab40 in input_available_signal (signo=29) at keyboard.c:7378
	old_errno = 0
#19 <signal handler called>
No symbol table info available.
#20 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#21 0xb74faba9 in sigprocmask () from /lib/i686/cmov/libc.so.6
No symbol table info available.
#22 0x081124df in sys_sigunblock (new_mask={__val = {268435456, 0 <repeats 31 times>}}) at sysdep.c:3064
	old_mask = {
  __val = {268435456, 0, 10, 20, 16, 140549136, 140516112, 0, 140515376, 0, 0, 830, 280, 140516112, 140516112, 10, 20, 3218063684, 134632956, 140516112, 0, 140515376, 140515376, 140516112, 140516112, 3218063708, 134633263, 140516112, 3218063872, 3075454081, 3218064128, 3075454229}
}
#23 0x0811345f in request_sigio () at sysdep.c:1050
No locals.
#24 0x0808a5ea in redisplay_internal (preserve_echo_area=<value optimized out>) at xdisp.c:11578
	tail = <value optimized out>
	w = (struct window *) 0x86019b8
	pause = 0
	must_finish = 1
	tlbufpos = {
  charpos = 0,
  bytepos = 0
}
	number_of_visible_frames = 1
	polling_stopped_here = 1
	old_frame = 140515380
	consider_all_windows_p = 1
#25 0x0810541e in read_char (commandflag=1, nmaps=2, maps=0xbfcfcec0, prev_event=137562313, used_mouse_menu=0xbfcfcf58, end_time=0x0) at keyboard.c:2748
	keys = 0
	key_count = 140515376
	key_count_reset = 0
	saved_ok_to_echo = (struct kboard *) 0x0
	saved_echo_string = 0
	c = 137562313
	local_getcjmp = {{
    __jmpbuf = {137562313, -1076900432, 142205640, 142205644, -1076900456, 135913840},
    __mask_was_saved = 137805877,
    __saved_mask = {
      __val = {137597689, 1, 3218066864, 142205640, 3218066864, 3218067080, 135640435, 137805877, 137597689, 142205644, 0 <repeats 22 times>}
    }
  }}
	save_jump = {{
    __jmpbuf = {0, 137562313, 0, 0, 142205644, 137973112},
    __mask_was_saved = 1418,
    __saved_mask = {
      __val = {3218066680, 135911290, 0, 1417, 3218066712, 135911501, 0, 1, 0, 142205644, 137973112, 1417, 3218066728, 135911290, 137724945, 1416, 3218066760, 135911501, 1, 1, 137562313, 137597689, 137805872, 137562313, 3218066808, 135913655, 137597689, 137805189, 3218066816, 0, 1, 137805877}
    }
  }}
	key_already_recorded = 0
	tem = 2
	save = 140515376
	previous_echo_area_message = 137562313
	also_record = 137562313
	reread = 0
	polling_stopped_here = <value optimized out>
	orig_kboard = (struct kboard *) 0x85e32b8
#26 0x08107ef3 in read_key_sequence (keybuf=0xbfcfd004, bufsize=30, prompt=137562313, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9455
	interrupted_kboard = (KBOARD *) 0x85e32b8
	key = 142259796
	used_mouse_menu = 0
	echo_local_start = 0
	last_real_key_start = 0
	keys_local_start = 0
	local_first_binding = 0
	from_string = 137562313
	count = 2
	t = 0
	echo_start = 0
	keys_start = 0
	nmaps = 2
	nmaps_allocated = 2
	defs = (Lisp_Object * volatile) 0xbfcfcea0
	submaps = (Lisp_Object * volatile) 0xbfcfcec0
	orig_local_map = 139271237
	orig_keymap = 137562313
	localized_local_map = 0
	first_binding = 0
	first_unbound = 31
	mock_input = 0
	fkey = {
  parent = 139271701,
  map = 139271701,
  start = 0,
  end = 0
}
	keytran = {
  parent = 137554789,
  map = 137554789,
  start = 0,
  end = 0
}
	indec = {
  parent = 139271709,
  map = 139271709,
  start = 0,
  end = 0
}
	delayed_switch_frame = 137562313
	original_uppercase = 0
	original_uppercase_position = -1
	starting_buffer = (struct buffer *) 0x879e2c8
	fake_prefixed_keys = 137562313
#27 0x08109bb1 in command_loop_1 () at keyboard.c:1684
	cmd = <value optimized out>
	lose = <value optimized out>
	nonundocount = 0
	keybuf = {192, 48, 135283310, 138344773, 137562361, -1076899766, 137562313, 0, 137562313, -1076899704, 135283568, 138344773, -1076899766, 134541203, -1219639204, 134522600, 1, -1224687628, -1208170464, 0, -1076899736, -1076899888, 0, -1076953088, 137562313, 138203161, 0, 137912576, 137912560, -1076899704}
	i = <value optimized out>
	prev_modiff = 18
	prev_buffer = (struct buffer *) 0x8338540
	already_adjusted = 0
#28 0x08160a20 in internal_condition_case (bfun=0x8109a10 <command_loop_1>, handlers=137619713, hfun=0x81042c0 <cmd_error>) at eval.c:1493
	val = <value optimized out>
	c = {
  tag = 137562313,
  val = 137562313,
  next = 0xbfcfd1b0,
  gcpro = 0x0,
  jmp = {{
      __jmpbuf = {0, 137912576, 137912560, -1076899464, -1952374655, 940819438},
      __mask_was_saved = 0,
      __saved_mask = {
        __val = {0, 135579319, 3218067924, 139846280, 12, 12, 3218067924, 4294967295, 3218067736, 135580224, 3218067924, 12, 3218067724, 3218067720, 134542071, 514, 12, 12, 3218067924, 0, 3218067768, 135580286, 3218067924, 12, 3075308140, 3076620288, 800, 110932256, 3086794740, 134522600, 3086796392, 3218067840}
      }
    }},
  backlist = 0x0,
  handlerlist = 0x0,
  lisp_eval_depth = 0,
  pdlcount = 2,
  poll_suppress_count = 1,
  interrupt_input_blocked = 0,
  byte_stack = 0x0
}
	h = {
  handler = 137619713,
  var = 137562313,
  chosen_clause = 137562361,
  tag = 0xbfcfd09c,
  next = 0x0
}
#29 0x08103743 in command_loop_2 () at keyboard.c:1396
	val = 0
#30 0x08160afa in internal_catch (tag=137611273, func=0x8103720 <command_loop_2>, arg=137562313) at eval.c:1229
	c = {
  tag = 137611273,
  val = 137562313,
  next = 0x0,
  gcpro = 0x0,
  jmp = {{
      __jmpbuf = {0, 137912576, 137912560, -1076899208, -1952235391, 940956654},
      __mask_was_saved = 0,
      __saved_mask = {
        __val = {909653549, 0 <repeats 13 times>, 540091136, 542133587, 543781446, 543651137, 807416115, 875706928, 137748336, 137748338, 137746960, 3218068072, 135605912, 137746961, 137748338, 137562313, 137594176, 137562337, 2, 13880}
      }
    }},
  backlist = 0x0,
  handlerlist = 0x0,
  lisp_eval_depth = 0,
  pdlcount = 2,
  poll_suppress_count = 1,
  interrupt_input_blocked = 0,
  byte_stack = 0x0
}
#31 0x08104127 in command_loop () at keyboard.c:1375
No locals.
#32 0x0810448b in recursive_edit_1 () at keyboard.c:984
	val = <value optimized out>
#33 0x081045c1 in Frecursive_edit () at keyboard.c:1046
	buffer = 137562313
#34 0x080f9dc0 in main (argc=15, argv=0xbfcfd684) at emacs.c:1777
	tz = 0xbfcfeefb "UTC"
	dummy = -1076898344
	stack_bottom_variable = 8 '\b'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {
  rlim_cur = 8388608,
  rlim_max = 18446744073709551615
}
	no_loadup = 0
	junk = 0x0
(gdb)

# breakpoint _XError

(gdb) bt full
#0  0xb79400f6 in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#1  0xb7942c77 in _XEventsQueued () from /usr/lib/libX11.so.6
No symbol table info available.
#2  0xb792e723 in XPending () from /usr/lib/libX11.so.6
No symbol table info available.
#3  0xb7ba5cfd in gdk_check_xpending (display=<value optimized out>) at /tmp/buildd/gtk+2.0-2.12.1/gdk/x11/gdkevents-x11.c:150
No locals.
#4  0xb7ba5df1 in gdk_event_prepare (source=0x85c5288, timeout=0xbf8143a8) at /tmp/buildd/gtk+2.0-2.12.1/gdk/x11/gdkevents-x11.c:2308
	display = (GdkDisplay *) 0x0
	retval = 0
#5  0xb7849a0f in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#6  0xb784a1c9 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#7  0x085c52d0 in ?? ()
No symbol table info available.
#8  0xbf814408 in ?? ()
No symbol table info available.
#9  0x084b8700 in ?? ()
No symbol table info available.
#10 0xb78e5114 in g_type_check_instance_is_a () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#11 0xb784abba in g_main_context_pending () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#12 0xb7d2f231 in IA__gtk_events_pending () at /tmp/buildd/gtk+2.0-2.12.1/gtk/gtkmain.c:1224
	result = <value optimized out>
#13 0x080ccc87 in XTread_socket (terminal=0x0, expected=1, hold_quit=0xbf814764) at xterm.c:7177
	inev = {
  kind = TIMER_EVENT,
  code = 590,
  part = scroll_bar_handle,
  modifiers = -1082047232,
  x = -1221302200,
  y = -1082047300,
  timestamp = 3086494166,
  padding = {0xb7b7184b, 0xb7c18c69},
  frame_or_window = 142900616,
  arg = -1218580140
}
	count = 0
	dpyinfo = (struct x_display_info *) 0x0
#14 0x08100d4c in read_avail_input (expected=1) at keyboard.c:7106
	nr = <value optimized out>
	hold_quit = {
  kind = NO_EVENT,
  code = 0,
  part = scroll_bar_above_handle,
  modifiers = 0,
  x = 0,
  y = 0,
  timestamp = 0,
  padding = {0x0, 0x0},
  frame_or_window = 0,
  arg = 0
}
	next = (struct terminal *) 0x0
	nread = 0
	err = 0
	t = (struct terminal *) 0x85e3878
#15 0x08100eba in handle_async_input () at keyboard.c:7336
	nread = 0
#16 0x0810ab40 in input_available_signal (signo=29) at keyboard.c:7378
	old_errno = 0
#17 <signal handler called>
No symbol table info available.
#18 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#19 0xb74c4ba9 in sigprocmask () from /lib/i686/cmov/libc.so.6
No symbol table info available.
#20 0x081124df in sys_sigunblock (new_mask={__val = {268435456, 0 <repeats 31 times>}}) at sysdep.c:3064
	old_mask = {
  __val = {268435456, 0, 10, 20, 16, 140549136, 140516112, 0, 140515376, 0, 0, 830, 280, 140516112, 140516112, 10, 20, 3212921956, 134632956, 140516112, 0, 140515376, 140515376, 140516112, 140516112, 3212921980, 134633263, 140516112, 3212922144, 3075232897, 3212922400, 3075233045}
}
#21 0x0811345f in request_sigio () at sysdep.c:1050
No locals.
#22 0x0808a5ea in redisplay_internal (preserve_echo_area=<value optimized out>) at xdisp.c:11578
	tail = <value optimized out>
	w = (struct window *) 0x86019b8
	pause = 0
	must_finish = 1
	tlbufpos = {
  charpos = 0,
  bytepos = 0
}
	number_of_visible_frames = 1
	polling_stopped_here = 1
	old_frame = 140515380
	consider_all_windows_p = 1
#23 0x0810541e in read_char (commandflag=1, nmaps=2, maps=0xbf8159e0, prev_event=137562313, used_mouse_menu=0xbf815a78, end_time=0x0) at keyboard.c:2748
	keys = 0
	key_count = 140515376
	key_count_reset = 0
	saved_ok_to_echo = (struct kboard *) 0x0
	saved_echo_string = 0
	c = 137562313
	local_getcjmp = {{
    __jmpbuf = {137562313, -1082042160, 142933448, 142933452, -1082042184, 135913840},
    __mask_was_saved = 137805845,
    __saved_mask = {
      __val = {137597689, 1, 3212925136, 142933448, 3212925136, 3212925352, 135640435, 137805845, 137597689, 142933452, 0 <repeats 22 times>}
    }
  }}
	save_jump = {{
    __jmpbuf = {0, 137562313, 0, 0, 142933452, 137972916},
    __mask_was_saved = 1418,
    __saved_mask = {
      __val = {3212924952, 135911290, 0, 1417, 3212924984, 135911501, 0, 1, 0, 142933452, 137972916, 1417, 3212925000, 135911290, 137724945, 1416, 3212925032, 135911501, 1, 1, 137562313, 137597689, 137805840, 137562313, 3212925080, 135913655, 137597689, 137805181, 3212925088, 0, 1, 137805845}
    }
  }}
	key_already_recorded = 0
	tem = 2
	save = 140515376
	previous_echo_area_message = 137562313
	also_record = 137562313
	reread = 0
	polling_stopped_here = <value optimized out>
	orig_kboard = (struct kboard *) 0x85e32b8
#24 0x08107ef3 in read_key_sequence (keybuf=0xbf815b24, bufsize=30, prompt=137562313, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9455
	interrupted_kboard = (KBOARD *) 0x85e32b8
	key = 142259804
	used_mouse_menu = 0
	echo_local_start = 0
	last_real_key_start = 0
	keys_local_start = 0
	local_first_binding = 0
	from_string = 137562313
	count = 2
	t = 0
	echo_start = 0
	keys_start = 0
	nmaps = 2
	nmaps_allocated = 2
	defs = (Lisp_Object * volatile) 0xbf8159c0
	submaps = (Lisp_Object * volatile) 0xbf8159e0
	orig_local_map = 139245213
	orig_keymap = 137562313
	localized_local_map = 0
	first_binding = 0
	first_unbound = 31
	mock_input = 0
	fkey = {
  parent = 139271701,
  map = 139271701,
  start = 0,
  end = 0
}
	keytran = {
  parent = 137554789,
  map = 137554789,
  start = 0,
  end = 0
}
	indec = {
  parent = 139271709,
  map = 139271709,
  start = 0,
  end = 0
}
	delayed_switch_frame = 137562313
	original_uppercase = 0
	original_uppercase_position = -1
	starting_buffer = (struct buffer *) 0x884fdc8
	fake_prefixed_keys = 137562313
#25 0x08109bb1 in command_loop_1 () at keyboard.c:1684
	cmd = <value optimized out>
	lose = <value optimized out>
	nonundocount = 0
	keybuf = {192, 48, -1219901232, 134541203, -1472036458, 134541205, 134541207, 0, 0, 1, 994, -1221301976, -1218568192, 134541203, -1219860388, 134522600, 1, -1208393740, -1208391648, 0, -1082041464, -1082041616, 0, -1082064896, 137562313, 138203161, 0, 137912576, 137912560, -1082041432}
	i = <value optimized out>
	prev_modiff = 4
	prev_buffer = (struct buffer *) 0x8338540
	already_adjusted = 0
#26 0x08160a20 in internal_condition_case (bfun=0x8109a10 <command_loop_1>, handlers=137619713, hfun=0x81042c0 <cmd_error>) at eval.c:1493
	val = <value optimized out>
	c = {
  tag = 137562313,
  val = 137562313,
  next = 0xbf815cd0,
  gcpro = 0x0,
  jmp = {{
      __jmpbuf = {0, 137912576, 137912560, -1082041192, 381116545, 940819438},
      __mask_was_saved = 0,
      __saved_mask = {
        __val = {0, 135579319, 3212926196, 139846280, 12, 12, 3212926196, 4294967295, 3212926008, 135580224, 3212926196, 12, 3212925996, 3212925992, 134542071, 514, 12, 12, 3212926196, 0, 3212926040, 135580286, 3212926196, 12, 3075086956, 3076399104, 800, 110932256, 3086573556, 134522600, 3086575208, 3212926112}
      }
    }},
  backlist = 0x0,
  handlerlist = 0x0,
  lisp_eval_depth = 0,
  pdlcount = 2,
  poll_suppress_count = 1,
  interrupt_input_blocked = 0,
  byte_stack = 0x0
}
	h = {
  handler = 137619713,
  var = 137562313,
  chosen_clause = 136037936,
  tag = 0xbf815bbc,
  next = 0x0
}
#27 0x08103743 in command_loop_2 () at keyboard.c:1396
	val = 0
#28 0x08160afa in internal_catch (tag=137611273, func=0x8103720 <command_loop_2>, arg=137562313) at eval.c:1229
	c = {
  tag = 137611273,
  val = 137562313,
  next = 0x0,
  gcpro = 0x0,
  jmp = {{
      __jmpbuf = {0, 137912576, 137912560, -1082040936, 381255809, 940956654},
      __mask_was_saved = 0,
      __saved_mask = {
        __val = {909653549, 0 <repeats 13 times>, 540091136, 542133587, 543781446, 543651137, 807416115, 875706928, 137748336, 137748338, 137746960, 3212926344, 135605912, 137746961, 137748338, 137562313, 137594176, 137562337, 2, 13880}
      }
    }},
  backlist = 0x0,
  handlerlist = 0x0,
  lisp_eval_depth = 0,
  pdlcount = 2,
  poll_suppress_count = 1,
  interrupt_input_blocked = 0,
  byte_stack = 0x0
}
#29 0x08104127 in command_loop () at keyboard.c:1375
No locals.
#30 0x0810448b in recursive_edit_1 () at keyboard.c:984
	val = <value optimized out>
#31 0x081045c1 in Frecursive_edit () at keyboard.c:1046
	buffer = 137562313
#32 0x080f9dc0 in main (argc=15, argv=0xbf8161a4) at emacs.c:1777
	tz = 0xbf817efb "UTC"
	dummy = -1082040072
	stack_bottom_variable = 8 '\b'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {
  rlim_cur = 8388608,
  rlim_max = 18446744073709551615
}
	no_loadup = 0
	junk = 0x0
(gdb)

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-21 12:45                   ` Robert J. Chassell
  2007-11-21 15:13                     ` Stefan Monnier
@ 2007-11-22  7:07                     ` Jan Djärv
  2007-11-22 12:31                       ` Robert J. Chassell
  1 sibling, 1 reply; 35+ messages in thread
From: Jan Djärv @ 2007-11-22  7:07 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

Looks loke you printed *s->font twice, but not *s->font_info.  It could be an 
effect of optimization, can you try again wih -O0?

Thanks,

	Jan D.


Robert J. Chassell skrev:
> jan.h.d@swipnet.se writes
> 
>     Hmm, it looks like someone is overwriting the stack.  77 is
>     X_ImageText16 (XDrawImageString16) so some parameter to that call
>     is bad.  But where that corruption happens is har to know.
> 
> Interesting!  I get this 
> 
>     (gdb) l x_draw_glyph_string_foreground
>     Function "x_draw_glyph_string_foreground" not defined.
> 
> both when my breakpoint is abort () at emacs.c:431 and when it is
> x_connection_closed at xterm.c:7786 
> even though
> x_draw_glyph_string_foreground (s) is defined on line 1316 of xterm.c
> and line 1374 of xterm.c is
> 
> 	    XDrawImageString16 (s->display, s->window, s->gc, x,
> 
> When I run and try to display the euro character having previously:
> 
>     (gdb) b 1374
>          <i.e. the line that XDrawImageString16 is on.  Not to be confused with
>           XDrawString16 that occurs a bit before this line>
> 
> I see this:
> 
>     (gdb) r
>     The program being debugged has been started already.
>     Start it from the beginning? (y or n) y
>     Starting program: /usr/local/src/emacs/src/emacs -i -q     --eval '(emacs-version t)' -bg DodgerBlue4 -fg white     -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1'     -geometry 80x44+545+51 -name '-q GNU Emacs in Debugger 4'
>     [Thread debugging using libthread_db enabled]
>     [New Thread 0xb71fc920 (LWP 10230)]
>     [Switching to Thread 0xb71fc920 (LWP 10230)]
> 
>     Breakpoint 4, x_draw_glyph_string (s=0xbfe761b0) at xterm.c:1374
> 
>     (gdb)  p *s
>     $1 = {
>       x = 30, 
>       y = 180, 
>       ybase = 196, 
>       width = 10, 
>       background_width = 10, 
>       height = 20, 
>       left_overhang = 0, 
>       right_overhang = 0, 
>       f = 0x8601840, 
>       w = 0x86019c8, 
>       display = 0x85b8f00, 
>       window = 46137561, 
>       row = 0x86278cc, 
>       area = TEXT_AREA, 
>       char2b = 0xbfe76190, 
>       nchars = 1, 
>       hl = DRAW_NORMAL_TEXT, 
>       face = 0x8798b40, 
>       font = 0x8859550, 
>       font_info = 0x8603318, 
>       cmp = 0x0, 
>       gidx = 0, 
>       extends_to_end_of_line_p = 0, 
>       background_filled_p = 0, 
>       two_byte_p = 1, 
>       font_not_found_p = 0, 
>       stippled_p = 0, 
>       for_overlaps = 0, 
>       gc = 0x858e5f8, 
>       first_glyph = 0x86064b8, 
>       img = 0x0, 
>       slice = {
>         x = 0, 
>         y = 0, 
>         width = 0, 
>         height = 0
>       }, 
>       clip_head = 0x0, 
>       clip_tail = 0x0, 
>       next = 0xbfe76100, 
>       prev = 0x0
>     }
>     (gdb)  p *s->font
>     $2 = {
>       ext_data = 0x8798be8, 
>       fid = 46138179, 
>       direction = 0, 
>       min_char_or_byte2 = 0, 
>       max_char_or_byte2 = 255, 
>       min_byte1 = 0, 
>       max_byte1 = 255, 
>       all_chars_exist = 0, 
>       default_char = 0, 
>       n_properties = 23, 
>       properties = 0x8847370, 
>       min_bounds = {
>         lbearing = 0, 
>         rbearing = 0, 
>         width = 10, 
>         ascent = -3, 
>         descent = -15, 
>         attributes = 0
>       }, 
>       max_bounds = {
>         lbearing = 9, 
>         rbearing = 10, 
>         width = 10, 
>         ascent = 16, 
>         descent = 4, 
>         attributes = 0
>       }, 
>       per_char = 0xb6d75000, 
>       ascent = 16, 
>       descent = 4
>     }
>     (gdb) p *s->font_info
>     $3 = {
>       ext_data = 0x8798be8, 
>       fid = 46138179, 
>       direction = 0, 
>       min_char_or_byte2 = 0, 
>       max_char_or_byte2 = 255, 
>       min_byte1 = 0, 
>       max_byte1 = 255, 
>       all_chars_exist = 0, 
>       default_char = 0, 
>       n_properties = 23, 
>       properties = 0x8847370, 
>       min_bounds = {
>         lbearing = 0, 
>         rbearing = 0, 
>         width = 10, 
>         ascent = -3, 
>         descent = -15, 
>         attributes = 0
>       }, 
>       max_bounds = {
>         lbearing = 9, 
>         rbearing = 10, 
>         width = 10, 
>         ascent = 16, 
>         descent = 4, 
>         attributes = 0
>       }, 
>       per_char = 0xb6d75000, 
>       ascent = 16, 
>       descent = 4
>     }
>     (gdb)  p x
>     ^done,locals=[{name="tem",type="long unsigned int",value="<value optimized out>"},{name="h",type="long unsigned int",value="<value optimized out>"},{name="y",type="int",value="<value optimized out>"},{name="relief_drawn_p",type="int",value="0"}]
>     (gdb)  p boff
>     ^done,locals=[{name="tem",type="long unsigned int",value="<value optimized out>"},{name="h",type="long unsigned int",value="<value optimized out>"},{name="y",type="int",value="<value optimized out>"},{name="relief_drawn_p",type="int",value="0"}]
>     (gdb) 
> 
> 
> 
> Starting with fixed 20 and going to a Courier font of 18 (there are
> none readily available for 20) using S-down-mouse-1 (mouse-set-font),
> I can display the Euro sign as I can with fixed 18.
> 
> When I do S-down-mouse-1 (mouse-set-font) with fixed 18 (i.e., with
> -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO8859-1), I do not
> see fontset startup: 20-dot medium which is visible when I start with
> fixed 20 (i.e., with
> -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1).
> 
> Incidentally, Courier fonts 14 and 18 are bigger than fixed 20 and
> Courier font 12 is smaller.
> 
> 
> 
> 
> Today's GNU Emacs CVS snapshot, Wed, 2007 Nov 21  10:49 UTC
> GNU Emacs 23.0.50.9 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
> started in debugger with
> 
>     set args -i -q \
>     --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
>     -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
>     -geometry 80x44+545+51 -name '-q GNU Emacs in Debugger 4'
> 
> architecture: i686
> Linux kernel: 2.6.22-2-686
> distribution: Debian testing, updated today
> 
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-21 17:20                   ` Robert J. Chassell
@ 2007-11-22  7:07                     ` Jan Djärv
  2007-11-22 11:55                       ` Robert J. Chassell
  0 siblings, 1 reply; 35+ messages in thread
From: Jan Djärv @ 2007-11-22  7:07 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel



Robert J. Chassell skrev:
> architecture: i686
> Linux kernel: 2.6.22-2-686
> distribution: Debian testing, updated today
> 
> gcc (GCC) 4.2.3 20071014 (prerelease) (Debian 4.2.2-3)
> Emacs rebuilt without optimisation, i.e., with -O0
> 
> Today's GNU Emacs CVS snapshot, Wed, 2007 Nov 21  10:49 UTC
> GNU Emacs 23.0.50.2 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
> started in debugger with
> 
>     set args -i -q \
>     --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
>     -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
>     -geometry 80x44+545+51 -name '-q GNU Emacs in Debugger 4'
> 
> Unused breakpoints deleted.  Here are backtraces from breakpoints at
> x_connection_closed, x_error_quitter, and _XError
> 

Backtraces from those places are never useful unless x-synchronize has been set.

	Jan D.

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-22  7:07                     ` Jan Djärv
@ 2007-11-22 11:55                       ` Robert J. Chassell
  0 siblings, 0 replies; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-22 11:55 UTC (permalink / raw)
  To: emacs-devel

Let's try this, using this morning's update of Debian testing and
snapshot of GNU Emacs.  For each backtrace (see below), I evaluated
(x-synchronize t) before visiting the file that would have me print
the Euro sign.

Incidently, when I put 

    (make-char 'latin-iso8859-15 164)

into my *scratch* buffer and evaluated it, the instance continued, as
expected.  When I put `insert' in front of it and evaluated that
expression, the instance also continued, which I did not expect.

When I visited the mail file that contained the expression with the
insert, i.e. ~/foo.mail, the instance crashed, as expected. (As usual,
I produced the backtraces after visiting ~/foo.mail.)

  architecture: i686
  Linux kernel: 2.6.22-2-686
  distribution: Debian testing, updated today

  gcc (GCC) 4.2.3 20071014 (prerelease) (Debian 4.2.2-3)
  Emacs rebuilt without optimisation, i.e., with -O0


  Today's GNU Emacs CVS snapshot, Thu, 2007 Nov 22  10:51 UTC
  NU Emacs 23.0.50.3 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
  started in debugger with

      set args -i -q \
      --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
      -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
      -geometry 80x44+545+51 -name '-q GNU Emacs in Debugger 4'

  (x-synchronize t) 

  Unused breakpoints deleted.  Here are backtraces from breakpoints at
  x_connection_closed, x_error_quitter, and _XError

## breakpoint x_connection_closed

(gdb) bt full
#0  x_connection_closed (dpy=0x85b9380, error_message=0xbfcdafc8 "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77") at xterm.c:7786
	dpyinfo = <value optimized out>
	frame = <value optimized out>
	tail = <value optimized out>
#1  0x080ccf0a in x_error_quitter (display=0x85b9380, error=0xbfcdb27c) at xterm.c:7968
	buf = "BadValue (integer parameter out of range for operation)", '\0' <repeats 200 times>
	buf1 = "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77\000\000\000\000\nL\213\267pmZ\b\300\230[\bh\260\315\277\251B\213\267pmZ\b\300\260\315\277 ", '\0' <repeats 11 times>, "\330\230[\b\374\250\030\267$\333\225\267\000\000\000\000\200\223[\b\250\260\315\277\005M\213\267\200\223[\b\300\260\315\277 \000\000\000$\333\225\267\000\000\000\000\363\373\000\000\310\260\315\277\024\201\205\267\200"...
#2  0x080ccf60 in x_error_handler (display=0x85b9380, error=0xbfcdb27c) at xterm.c:7924
No locals.
#3  0xb78b31ef in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#4  0xb78b4dcb in _XReply () from /usr/lib/libX11.so.6
No symbol table info available.
#5  0xb78ac0b8 in XSync () from /usr/lib/libX11.so.6
No symbol table info available.
#6  0xb78ac243 in ?? () from /usr/lib/libX11.so.6
No symbol table info available.
#7  0x085b9380 in ?? ()
No symbol table info available.
#8  0x00000000 in ?? ()
No symbol table info available.
(gdb) 

## breakpoint x_error_quitter

(gdb) bt full
#0  x_error_quitter (display=0x85b9380, error=0xbff0acac) at xterm.c:7959
	buf = "\324\253\360\277\\|\374\267\340\253\360\277 ", '\0' <repeats 11 times>, "<r\375\267\240\253\360\277\264\254\360\277\0062\003g1\000\000\000\\\226\224\267|d\257\267G\374\224\267\0062\003gI\374\224\267K\374\224\267\000\000\000\000\000\000\000\000\001\000\000\000\033\003\000\000\000\000\000\000@]\257\267G\374\224\267l\354\224\267\f\310\224\267\001\000\000\000\364\257\375\267\370^\257\267\250\254\360\277\304\254\360\277\322~\374\267\f\310\224\267\250\254\360\277\304\267\375\267\022\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\231?\t\b$\373\242\267\300\257\360\277(\254\360\277\264\254\360\277\200\223[\b\000\000\000\000 \000\000\000\237\022\230\267+\342\227\267$"...
	buf1 = " \000\000\000\nl\230\267pmZ\b\300\230[\b8\252\360\277\030\000\000\000\300\230[\bS!\205\267H\252\360\277 \000\000\000\360\252\360\277\323!\205\267$\373\242\267~\027\230\267\a\000\000\000\360\252\360\277 \000\000\000\237\022\230\267pmZ\b$\373\242\267h\252\360\277o\022\230\267pmZ\b\360\252\360\277 \000\000\000\nl\230\267pmZ\b\300\230[\b\230\252\360\277\251b\230\267pmZ\b\360\252\360\277 ", '\0' <repeats 11 times>, "\330\230[\b\374\310%\267$\373\242\267\000\000\000\000\200\223[\b\330\252\360\277\005m\230\267\200\223[\b\360\252\360\277 \000\000\000$\373\242\267\000\000\000\000z2\000\000\370\252\360\277\024\241\222\267\200"...
#1  0x080ccf60 in x_error_handler (display=0x85b9380, error=0xbff0acac) at xterm.c:7924
No locals.
#2  0xb79851ef in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#3  0xb7986dcb in _XReply () from /usr/lib/libX11.so.6
No symbol table info available.
#4  0xb797e0b8 in XSync () from /usr/lib/libX11.so.6
No symbol table info available.
#5  0xb797e243 in ?? () from /usr/lib/libX11.so.6
No symbol table info available.
#6  0x085b9380 in ?? ()
No symbol table info available.
#7  0x00000000 in ?? ()
No symbol table info available.
(gdb) 

##  breakpoint _XError

(gdb) bt full
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb74dfc26 in kill () from /lib/i686/cmov/libc.so.6
No symbol table info available.
#2  0x080f906b in abort () at emacs.c:431
No locals.
#3  0x0816056d in internal_condition_case_2 (bfun=0x8163380 <Frun_hook_with_args>, nargs=2, args=0xbfe555d4, handlers=137562361, hfun=0x8061a00 <delete_frame_handler>) at eval.c:1567
	val = <value optimized out>
	c = {
  tag = 8, 
  val = 160474592, 
  next = 0x990a5e0, 
  gcpro = 0xbfe554e8, 
  jmp = {{
      __jmpbuf = {134613333, 138099429, 138099629, 138099629, 140516728, 160474592}, 
      __mask_was_saved = -1075489448, 
      __saved_mask = {
        __val = {3219477784, 134614040, 3219477848, 137717769, 160474592, 875574324, 859255600, 138045696, 138045717, 140516732, 140516728, 140516732, 3219477864, 134615065, 140516728, 3219477848, 137562313, 3219477920, 140219264, 32, 3080045565, 3080739620, 1511, 137563360, 3219477864, 135749738, 3219477880, 78, 137720200, 137563364, 22, 135949090}
      }
    }}, 
  backlist = 0xbfe55598, 
  handlerlist = 0x817650a, 
  lisp_eval_depth = 137563364, 
  pdlcount = 135949090, 
  poll_suppress_count = 22, 
  interrupt_input_blocked = 22, 
  byte_stack = 0x835df72
}
	h = {
  handler = 137746960, 
  var = 140516728, 
  chosen_clause = 140516728, 
  tag = 0x8601d78, 
  next = 0x8601d7c
}
#4  0x08062325 in Fdelete_frame (frame=140516732, force=137562361) at frame.c:1411
	args = {137720201, 140516732}
	f = (struct frame *) 0x8601d78
	sf = <value optimized out>
	kb = <value optimized out>
#5  0x080cc9ff in x_connection_closed (dpy=0x85b9380, error_message=<value optimized out>) at xterm.c:7835
	dpyinfo = (struct x_display_info *) 0x85e24c8
	frame = 6
	tail = <value optimized out>
#6  0x080ccf0a in x_error_quitter (display=0x85b9380, error=0xbfe55bfc) at xterm.c:7968
	buf = "BadValue (integer parameter out of range for operation)", '\0' <repeats 200 times>
	buf1 = "X protocol error: BadValue (integer parameter out of range for operation) on protocol request 77\000\000\000\000\n\314\225\267pmZ\b\300\230[\b\350Y\345\277\251\302\225\267pmZ\b@Z\345\277 ", '\0' <repeats 11 times>, "\330\230[\b\374(#\267$[\240\267\000\000\000\000\200\223[\b(Z\345\277\005\315\225\267\200\223[\b@Z\345\277 \000\000\000$[\240\267\000\000\000\000/\"\000\000HZ\345\277\024\001\220\267\200"...
#7  0x080ccf60 in x_error_handler (display=0x85b9380, error=0xbfe55bfc) at xterm.c:7924
No locals.
#8  0xb795b1ef in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#9  0xb795cdcb in _XReply () from /usr/lib/libX11.so.6
No symbol table info available.
#10 0xb79540b8 in XSync () from /usr/lib/libX11.so.6
No symbol table info available.
#11 0xb7954243 in ?? () from /usr/lib/libX11.so.6
No symbol table info available.
#12 0x085b9380 in ?? ()
No symbol table info available.
#13 0x00000000 in ?? ()
No symbol table info available.
(gdb) 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-22  7:07                     ` Jan Djärv
@ 2007-11-22 12:31                       ` Robert J. Chassell
  2007-11-22 13:13                         ` Jan Djärv
  0 siblings, 1 reply; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-22 12:31 UTC (permalink / raw)
  To: emacs-devel

jan.h.d@swipnet.se wrote

    Looks loke you printed *s->font twice, but not *s->font_info.  It
    could be an effect of optimization, can you try again wih -O0?

Trying again.  This morning's, 2007 Nov 22, instance of Emacs and Debian.

    gdb --version
    GNU gdb 6.6.90.20070912-debian

    gcc --version
    gcc (GCC) 4.2.3 20071014 (prerelease) (Debian 4.2.2-3)

# set break at xterm.c:1374

# eval: (x-synchronize t)

(gdb) p *s->font_info
$1 = {
  font = 0x88447a8,
  font_idx = 1,
  name = 0x887fb98 "-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1",
  full_name = 0x887f4c8 "-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1",
  charset = 244,
  size = 10,
  height = 20,
  space_width = 10,
  average_width = 10,
  vertical_centering = 0,
  encoding = "\000\377", '\0' <repeats 126 times>, '\001' <repeats 127 times>,
  baseline_offset = 0,
  relative_compose = 0,
  default_ascent = 0,
  font_encoder = 0x88443a0
}

(gdb)  p *s->font
$2 = {
  ext_data = 0x88432f0,
  fid = 44041077,
  direction = 0,
  min_char_or_byte2 = 0,
  max_char_or_byte2 = 255,
  min_byte1 = 0,
  max_byte1 = 255,
  all_chars_exist = 0,
  default_char = 0,
  n_properties = 23,
  properties = 0x87a1f50,
  min_bounds = {
    lbearing = 0,
    rbearing = 0,
    width = 10,
    ascent = -3,
    descent = -15,
    attributes = 0
  },
  max_bounds = {
    lbearing = 9,
    rbearing = 10,
    width = 10,
    ascent = 16,
    descent = 4,
    attributes = 0
  },
  per_char = 0xb6da5000,
  ascent = 16,
  descent = 4
}

(gdb) p *s
$3 = {
  x = 30,
  y = 180,
  ybase = 196,
  width = 10,
  background_width = 10,
  height = 20,
  left_overhang = 0,
  right_overhang = 0,
  f = 0x8601d78,
  w = 0x8601f00,
  display = 0x85b9380,
  window = 44040409,
  row = 0x8628034,
  area = TEXT_AREA,
  char2b = 0xbfb5de60,
  nchars = 1,
  hl = DRAW_NORMAL_TEXT,
  face = 0x87a1ea8,
  font = 0x88447a8,
  font_info = 0x8603850,
  cmp = 0x0,
  gidx = 0,
  extends_to_end_of_line_p = 0,
  background_filled_p = 0,
  two_byte_p = 1,
  font_not_found_p = 0,
  stippled_p = 0,
  for_overlaps = 0,
  gc = 0x884a800,
  first_glyph = 0x864e2d8,
  img = 0x0,
  slice = {
    x = 0,
    y = 0,
    width = 0,
    height = 0
  },
  clip_head = 0x0,
  clip_tail = 0x0,
  next = 0xbfb5ddd0,
  prev = 0x0
}
(gdb)

-- 
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    bob@rattlesnake.com                         bob@gnu.org
    http://www.rattlesnake.com                  http://www.teak.cc

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-22 12:31                       ` Robert J. Chassell
@ 2007-11-22 13:13                         ` Jan Djärv
  2007-11-22 16:00                           ` Robert J. Chassell
  0 siblings, 1 reply; 35+ messages in thread
From: Jan Djärv @ 2007-11-22 13:13 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

Sorry, I forgot.  Can you also:

(gdb) p s->char2b[0]

But I think we are close to finding the problem now :-).

	Jan D.


Robert J. Chassell skrev:
> jan.h.d@swipnet.se wrote
> 
>     Looks loke you printed *s->font twice, but not *s->font_info.  It
>     could be an effect of optimization, can you try again wih -O0?
> 
> Trying again.  This morning's, 2007 Nov 22, instance of Emacs and Debian.
> 
>     gdb --version
>     GNU gdb 6.6.90.20070912-debian
> 
>     gcc --version
>     gcc (GCC) 4.2.3 20071014 (prerelease) (Debian 4.2.2-3)
> 
> # set break at xterm.c:1374
> 
> # eval: (x-synchronize t)
> 
> (gdb) p *s->font_info
> $1 = {
>   font = 0x88447a8,
>   font_idx = 1,
>   name = 0x887fb98 "-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1",
>   full_name = 0x887f4c8 "-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1",
>   charset = 244,
>   size = 10,
>   height = 20,
>   space_width = 10,
>   average_width = 10,
>   vertical_centering = 0,
>   encoding = "\000\377", '\0' <repeats 126 times>, '\001' <repeats 127 times>,
>   baseline_offset = 0,
>   relative_compose = 0,
>   default_ascent = 0,
>   font_encoder = 0x88443a0
> }
> 
> (gdb)  p *s->font
> $2 = {
>   ext_data = 0x88432f0,
>   fid = 44041077,
>   direction = 0,
>   min_char_or_byte2 = 0,
>   max_char_or_byte2 = 255,
>   min_byte1 = 0,
>   max_byte1 = 255,
>   all_chars_exist = 0,
>   default_char = 0,
>   n_properties = 23,
>   properties = 0x87a1f50,
>   min_bounds = {
>     lbearing = 0,
>     rbearing = 0,
>     width = 10,
>     ascent = -3,
>     descent = -15,
>     attributes = 0
>   },
>   max_bounds = {
>     lbearing = 9,
>     rbearing = 10,
>     width = 10,
>     ascent = 16,
>     descent = 4,
>     attributes = 0
>   },
>   per_char = 0xb6da5000,
>   ascent = 16,
>   descent = 4
> }
> 
> (gdb) p *s
> $3 = {
>   x = 30,
>   y = 180,
>   ybase = 196,
>   width = 10,
>   background_width = 10,
>   height = 20,
>   left_overhang = 0,
>   right_overhang = 0,
>   f = 0x8601d78,
>   w = 0x8601f00,
>   display = 0x85b9380,
>   window = 44040409,
>   row = 0x8628034,
>   area = TEXT_AREA,
>   char2b = 0xbfb5de60,
>   nchars = 1,
>   hl = DRAW_NORMAL_TEXT,
>   face = 0x87a1ea8,
>   font = 0x88447a8,
>   font_info = 0x8603850,
>   cmp = 0x0,
>   gidx = 0,
>   extends_to_end_of_line_p = 0,
>   background_filled_p = 0,
>   two_byte_p = 1,
>   font_not_found_p = 0,
>   stippled_p = 0,
>   for_overlaps = 0,
>   gc = 0x884a800,
>   first_glyph = 0x864e2d8,
>   img = 0x0,
>   slice = {
>     x = 0,
>     y = 0,
>     width = 0,
>     height = 0
>   },
>   clip_head = 0x0,
>   clip_tail = 0x0,
>   next = 0xbfb5ddd0,
>   prev = 0x0
> }
> (gdb)
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-22 13:13                         ` Jan Djärv
@ 2007-11-22 16:00                           ` Robert J. Chassell
  2007-11-23  9:45                             ` Jan Djärv
  0 siblings, 1 reply; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-22 16:00 UTC (permalink / raw)
  To: emacs-devel

jan.h.d@swipnet.se wrote,

    Sorry, I forgot.  Can you also: ...

No problem.  This morning's, 2007 Nov 22, instance of Emacs and Debian.
The breakpoint is in x_draw_glyph_string at xterm.c:1374
I hope that is what you want.

    (gdb)  p s->char2b[0]
    $1 = {
      byte1 = 32 ' ', 
      byte2 = 172 '\254'
    }

Incidently, I triggered the breakpoint by evaluating a mail message
with `insert' before

    (make-char 'latin-iso8859-15 164)

(I don't dare write the complete expression since it is likely to
crash this instance of Emacs -- that has happened a bunch of times.)

-- 
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    bob@rattlesnake.com                         bob@gnu.org
    http://www.rattlesnake.com                  http://www.teak.cc

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-22 16:00                           ` Robert J. Chassell
@ 2007-11-23  9:45                             ` Jan Djärv
  2007-11-23 12:31                               ` Robert J. Chassell
  0 siblings, 1 reply; 35+ messages in thread
From: Jan Djärv @ 2007-11-23  9:45 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

Thank you.

Well, everything looks fine.  I think the X protocol error is a symptom of
some memory corruption.  But why that corruption occurs is unknown.  I can not
repeat it here.

Do you still get crashes if you use the font ...*iso10646-1 instead of
...*iso8859-1 from the start?

	Jan D.


Robert J. Chassell skrev:
> jan.h.d@swipnet.se wrote,
> 
>     Sorry, I forgot.  Can you also: ...
> 
> No problem.  This morning's, 2007 Nov 22, instance of Emacs and Debian.
> The breakpoint is in x_draw_glyph_string at xterm.c:1374
> I hope that is what you want.
> 
>     (gdb)  p s->char2b[0]
>     $1 = {
>       byte1 = 32 ' ', 
>       byte2 = 172 '\254'
>     }
> 
> Incidently, I triggered the breakpoint by evaluating a mail message
> with `insert' before
> 
>     (make-char 'latin-iso8859-15 164)
> 
> (I don't dare write the complete expression since it is likely to
> crash this instance of Emacs -- that has happened a bunch of times.)
> 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-23  9:45                             ` Jan Djärv
@ 2007-11-23 12:31                               ` Robert J. Chassell
  2007-11-23 12:46                                 ` David Kastrup
  2007-11-24  9:19                                 ` Jan Djärv
  0 siblings, 2 replies; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-23 12:31 UTC (permalink / raw)
  To: emacs-devel

    Do you still get crashes if you use the font ...*iso10646-1 instead of
    ...*iso8859-1 from the start?

Yes, even with a size of 18, which I did not expect.  

That is in 
Today's GNU Emacs CVS snapshot, Fri, 2007 Nov 23  11:14 UTC
GNU Emacs 23.0.50.4 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
started in debugger with

    set args -i -q \
    --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
    -fn '-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1' \
    -geometry 80x44+545+43 -name '-q GNU Emacs in Debugger, font: fixed 18'


with the breakpoint at xterm.c:1374 
and after I evaluated  (x-synchronize t)  in the debuggee

(I could not even visit my test file with a size of 20,

 -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1

    #0  0xffffe410 in __kernel_vsyscall ()
    #1  0xb7483c26 in kill () from /lib/i686/cmov/libc.so.6
    #2  0x080f906b in abort () at emacs.c:431 

although the only  breakpoint was at xterm.c:1374 

The following is for a size of 18 after visiting my test file which
tries to insert a Euro sign.)


(gdb) bt full
#0  x_draw_glyph_string (s=0xbf807330) at xterm.c:1374
	tem = <value optimized out>
	h = <value optimized out>
	y = <value optimized out>
	relief_drawn_p = 0
#1  0x0806b295 in draw_glyphs (w=0x8601fe8, x=45, row=0x86272c4, area=TEXT_AREA, start=0, end=2, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:19850
	base_face = (struct face *) 0x8055cc1
	char2b = <value optimized out>
	cmp = <value optimized out>
	glyph_len = -1215192509
	faces = <value optimized out>
	first_s = <value optimized out>
	n = <value optimized out>
	first_glyph = <value optimized out>
	head = (struct glyph_string *) 0xbf807330
	tail = (struct glyph_string *) 0xbf807280
	s = (struct glyph_string *) 0xbf807330
	clip_head = (struct glyph_string *) 0x0
	clip_tail = (struct glyph_string *) 0x0
	last_x = 747
	x_reached = 45
	i = 2
	j = -1082100680
	f = <value optimized out>
#2  0x0806d932 in x_write_glyphs (start=0x8605a90, len=2) at xdisp.c:21149
	x = <value optimized out>
#3  0x08056041 in update_window_line (w=0x8601fe8, vpos=9, mouse_face_overwritten_p=0xbf807678) at dispnew.c:4446
	current_row = (struct glyph_row *) 0x86467bc
	desired_row = (struct glyph_row *) 0x86272c4
	rif = (struct redisplay_interface *) 0x81be740
	changed_p = 0
#4  0x08058384 in update_window (w=0x8601fe8, force_p=0) at dispnew.c:4302
	tm = {
  tv_sec = 1195819727, 
  tv_usec = 905224
}
	vpos = -1082100976
	i = <value optimized out>
	end = (struct glyph_row *) 0x8628794
	header_line_row = (struct glyph_row *) 0x0
	changed_p = 1
	mouse_face_overwritten_p = 0
	row = (struct glyph_row *) 0x86272c4
	yb = 756
	desired_matrix = (struct glyph_matrix *) 0x8604ae8
	paused_p = 0
	rif = (struct redisplay_interface *) 0x81be740
#5  0x08059629 in update_window_tree (w=0x8601fe8, force_p=0) at dispnew.c:3995
	paused_p = <value optimized out>
#6  0x0805b7ae in update_frame (f=0x8601e60, force_p=0, inhibit_hairy_id_p=0) at dispnew.c:3923
	tm = {
  tv_sec = 1195819727, 
  tv_usec = 896018
}
	p = 1
	sec = 0
	usec = 100000
	paused_p = <value optimized out>
	root_window = (struct window *) 0x8601fe8
#7  0x0808a2a2 in redisplay_internal (preserve_echo_area=<value optimized out>) at xdisp.c:11455
	f = (struct frame *) 0x8601e60
	tail = <value optimized out>
	frame = <value optimized out>
	w = (struct window *) 0x8601fe8
	pause = 0
	must_finish = 1
	tlbufpos = {
  charpos = 0, 
  bytepos = 0
}
	number_of_visible_frames = 1
	polling_stopped_here = 0
	old_frame = 140516964
	consider_all_windows_p = 1
#8  0x0810544e in read_char (commandflag=1, nmaps=2, maps=0xbf8081c0, prev_event=137562313, used_mouse_menu=0xbf808258, end_time=0x0) at keyboard.c:2748
	keys = 0
	key_count = 140516960
	key_count_reset = 0
	saved_ok_to_echo = (struct kboard *) 0x0
	saved_echo_string = 0
	c = 137562313
	local_getcjmp = {{
    __jmpbuf = {137562313, -1082097488, 142874648, 142874652, -1082097512, 135913216}, 
    __mask_was_saved = 137804429, 
    __saved_mask = {
      __val = {137597689, 1, 3212869808, 142874648, 3212869808, 3212870024, 135639811, 137804429, 137597689, 142874652, 0 <repeats 22 times>}
    }
  }}
	save_jump = {{
    __jmpbuf = {0, 137562313, 0, 0, 142874652, 137879588}, 
    __mask_was_saved = 1418, 
    __saved_mask = {
      __val = {3212869624, 135910666, 0, 1417, 3212869656, 135910877, 0, 1, 0, 142874652, 137879588, 1417, 3212869672, 135910666, 137724945, 1416, 3212869704, 135910877, 1, 1, 137562313, 137597689, 137804424, 137562313, 3212869752, 135913031, 137597689, 137803581, 3212869760, 0, 1, 137804429}
    }
  }}
	key_already_recorded = 0
	tem = 2
	save = 140516960
	previous_echo_area_message = 137562313
	also_record = 137562313
	reread = 0
	polling_stopped_here = <value optimized out>
	orig_kboard = (struct kboard *) 0x85e2200
#9  0x08107f23 in read_key_sequence (keybuf=0xbf808304, bufsize=30, prompt=137562313, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9455
	interrupted_kboard = (KBOARD *) 0x85e2200
	key = 142258956
	used_mouse_menu = 0
	echo_local_start = 0
	last_real_key_start = 0
	keys_local_start = 0
	local_first_binding = 0
	from_string = 137562313
	count = 2
	t = 0
	echo_start = 0
	keys_start = 0
	nmaps = 2
	nmaps_allocated = 2
	defs = (Lisp_Object * volatile) 0xbf8081a0
	submaps = (Lisp_Object * volatile) 0xbf8081c0
	orig_local_map = 139309701
	orig_keymap = 137562313
	localized_local_map = 0
	first_binding = 0
	first_unbound = 31
	mock_input = 0
	fkey = {
  parent = 139323205, 
  map = 139323205, 
  start = 0, 
  end = 0
}
	keytran = {
  parent = 137554789, 
  map = 137554789, 
  start = 0, 
  end = 0
}
	indec = {
  parent = 139323213, 
  map = 139323213, 
  start = 0, 
  end = 0
}
	delayed_switch_frame = 137562313
	original_uppercase = 0
	original_uppercase_position = -1
	starting_buffer = (struct buffer *) 0x8841818
	fake_prefixed_keys = 137562313
#10 0x08109be1 in command_loop_1 () at keyboard.c:1684
	cmd = <value optimized out>
	lose = <value optimized out>
	nonundocount = 0
	keybuf = {192, 48, 135283358, 139307181, 137562361, -1082096822, 137562313, 0, 137562313, -1082096760, 135283616, 139307181, -1082096822, 134541223, -1219987364, 134522604, 1, -1224708108, -1208518624, 0, -1082096792, -1082096944, 0, -1082130432, 137562313, 138190441, 0, 137911688, 137911672, -1082096760}
	i = <value optimized out>
	prev_modiff = 76
	prev_buffer = (struct buffer *) 0x8338540
	already_adjusted = 0
#11 0x081607b0 in internal_condition_case (bfun=0x8109a40 <command_loop_1>, handlers=137619713, hfun=0x81042f0 <cmd_error>) at eval.c:1493
	val = <value optimized out>
	c = {
  tag = 137562313, 
  val = 137562313, 
  next = 0xbf8084b0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {0, 137911688, 137911672, -1082096520, 352788609, 940499950}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {0, 3212870336, 3073538260, 3212870388, 3086367968, 0, 3212870316, 3076255732, 2534, 3086430780, 3212870336, 3212870612, 276967387, 49, 3074944076, 3074943100, 134542083, 3212870704, 3212870992, 4294967295, 3212870840, 135341251, 3212870992, 3212870704, 3074959980, 3076272128, 0, 110932256, 3086446580, 134522604, 3086448232, 3212870784}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
	h = {
  handler = 137619713, 
  var = 137562313, 
  chosen_clause = 137562361, 
  tag = 0xbf80839c, 
  next = 0x0
}
#12 0x08103773 in command_loop_2 () at keyboard.c:1396
	val = 0
#13 0x0816088a in internal_catch (tag=137611273, func=0x8103750 <command_loop_2>, arg=137562313) at eval.c:1229
	c = {
  tag = 137611273, 
  val = 137562313, 
  next = 0x0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {0, 137911688, 137911672, -1082096264, 352927873, 940637166}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {0, 177, 22, 0 <repeats 13 times>, 3078526273, 140018008, 140018184, 3212871096, 137748338, 137748336, 137746960, 3212871016, 135605493, 137746961, 137748338, 137562313, 137594176, 3072297248, 140018192, 137562337}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
#14 0x08104157 in command_loop () at keyboard.c:1375
No locals.
#15 0x081044bb in recursive_edit_1 () at keyboard.c:984
	val = <value optimized out>
#16 0x081045f1 in Frecursive_edit () at keyboard.c:1046
	buffer = 137562313
#17 0x080f9df5 in main (argc=15, argv=0xbf808984) at emacs.c:1777
	tz = 0xbf809efb "UTC"
	dummy = -1082095400
	stack_bottom_variable = 8 '\b'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {
  rlim_cur = 8388608, 
  rlim_max = 18446744073709551615
}
	no_loadup = 0
	junk = 0x0

(gdb)  p *s->font_info
$1 = {
  font = 0x86025b8, 
  font_idx = 0, 
  name = 0x85f9658 "-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1", 
  full_name = 0x86024e0 "-Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1", 
  charset = 0, 
  size = 9, 
  height = 18, 
  space_width = 9, 
  average_width = 9, 
  vertical_centering = 0, 
  encoding = "\000\377", '\0' <repeats 126 times>, '\001' <repeats 127 times>, 
  baseline_offset = 0, 
  relative_compose = 0, 
  default_ascent = 0, 
  font_encoder = 0x8602520
}
(gdb) p *s->font
$2 = {
  ext_data = 0x86026d0, 
  fid = 35651602, 
  direction = 0, 
  min_char_or_byte2 = 0, 
  max_char_or_byte2 = 255, 
  min_byte1 = 0, 
  max_byte1 = 255, 
  all_chars_exist = 0, 
  default_char = 0, 
  n_properties = 23, 
  properties = 0x8602610, 
  min_bounds = {
    lbearing = 0, 
    rbearing = 0, 
    width = 9, 
    ascent = -3, 
    descent = -13, 
    attributes = 0
  }, 
  max_bounds = {
    lbearing = 8, 
    rbearing = 9, 
    width = 9, 
    ascent = 14, 
    descent = 4, 
    attributes = 0
  }, 
  per_char = 0xb6e59000, 
  ascent = 14, 
  descent = 4
}
(gdb) p *s
$3 = {
  x = 27, 
  y = 162, 
  ybase = 176, 
  width = 9, 
  background_width = 9, 
  height = 18, 
  left_overhang = 0, 
  right_overhang = 0, 
  f = 0x8601e60, 
  w = 0x8601fe8, 
  display = 0x85b9400, 
  window = 35651800, 
  row = 0x86272c4, 
  area = TEXT_AREA, 
  char2b = 0xbf807310, 
  nchars = 1, 
  hl = DRAW_NORMAL_TEXT, 
  face = 0x833e1f0, 
  font = 0x86025b8, 
  font_info = 0x86026e8, 
  cmp = 0x0, 
  gidx = 0, 
  extends_to_end_of_line_p = 0, 
  background_filled_p = 0, 
  two_byte_p = 1, 
  font_not_found_p = 0, 
  stippled_p = 0, 
  for_overlaps = 0, 
  gc = 0x884a6f8, 
  first_glyph = 0x8605a90, 
  img = 0x0, 
  slice = {
    x = 0, 
    y = 0, 
    width = 0, 
    height = 0
  }, 
  clip_head = 0x0, 
  clip_tail = 0x0, 
  next = 0xbf807280, 
  prev = 0x0
}
(gdb) p s->char2b[0]
$4 = {
  byte1 = 32 ' ', 
  byte2 = 172 '\254'
}

-- 
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    bob@rattlesnake.com                         bob@gnu.org
    http://www.rattlesnake.com                  http://www.teak.cc

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-23 12:31                               ` Robert J. Chassell
@ 2007-11-23 12:46                                 ` David Kastrup
  2007-11-23 14:54                                   ` Jan Djärv
  2007-11-24  9:19                                 ` Jan Djärv
  1 sibling, 1 reply; 35+ messages in thread
From: David Kastrup @ 2007-11-23 12:46 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

"Robert J. Chassell" <bob@rattlesnake.com> writes:

>     Do you still get crashes if you use the font ...*iso10646-1 instead of
>     ...*iso8859-1 from the start?
>
> Yes, even with a size of 18, which I did not expect.  
>
> That is in 
> Today's GNU Emacs CVS snapshot, Fri, 2007 Nov 23  11:14 UTC
> GNU Emacs 23.0.50.4 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
> started in debugger with
>
>     set args -i -q \
>     --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
>     -fn '-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1' \
>     -geometry 80x44+545+43 -name '-q GNU Emacs in Debugger, font: fixed 18'
>
>
> with the breakpoint at xterm.c:1374 
> and after I evaluated  (x-synchronize t)  in the debuggee
>
> (I could not even visit my test file with a size of 20,
>
>  -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
>
>     #0  0xffffe410 in __kernel_vsyscall ()
>     #1  0xb7483c26 in kill () from /lib/i686/cmov/libc.so.6
>     #2  0x080f906b in abort () at emacs.c:431 
>
> although the only  breakpoint was at xterm.c:1374 

Sigh.  You did compile with -fno-crossjumping?  If you didn't,
tracebacks from noreturn functions like "abort" are quite useless since
the compiler will happily recycle a single abort call for all
opportunities.

-- 
David Kastrup, Kriemhildstr. 15, 44793 Bochum

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-23 12:46                                 ` David Kastrup
@ 2007-11-23 14:54                                   ` Jan Djärv
  2007-11-23 17:07                                     ` Robert J. Chassell
  0 siblings, 1 reply; 35+ messages in thread
From: Jan Djärv @ 2007-11-23 14:54 UTC (permalink / raw)
  To: David Kastrup; +Cc: bob, emacs-devel

David Kastrup skrev:

> Sigh.  You did compile with -fno-crossjumping?  If you didn't,
> tracebacks from noreturn functions like "abort" are quite useless since
> the compiler will happily recycle a single abort call for all
> opportunities.
> 

Crossjumping is only on when -O2 or higher is given acc. to the gcc docs.  So
if this was an -O0 compile, it should be OK.

>  -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
>>
>>     #0  0xffffe410 in __kernel_vsyscall ()
>>     #1  0xb7483c26 in kill () from /lib/i686/cmov/libc.so.6
>>     #2  0x080f906b in abort () at emacs.c:431 
>>
>> although the only  breakpoint was at xterm.c:1374 

That is OK, it breaks on abort automatically.

	Jan D.

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-23 14:54                                   ` Jan Djärv
@ 2007-11-23 17:07                                     ` Robert J. Chassell
  2007-11-24  9:20                                       ` Jan Djärv
  0 siblings, 1 reply; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-23 17:07 UTC (permalink / raw)
  To: emacs-devel

Following Jan's request, I intended to compile with -O0 but I may have
forgot and done a regular make.  (I cannot remember.)  In any case, I
have updated Emacs and done another make which is definitely -O0.


Today's GNU Emacs CVS snapshot, Fri, 2007 Nov 23  16:19 UTC
GNU Emacs 23.0.50.5 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
started in debugger with

    set args -i -q \
    --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
    -fn '-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1' \
    -geometry 80x44+545+43 -name '-q GNU Emacs in Debugger, font: fixed 18'

with the breakpoint at xterm.c:1374 
and after I evaluated  (x-synchronize t)  in the debuggee

After visiting my test file, which tried to insert a Euro sign,
Emacs crashed as before:

(gdb) bt full
#0  x_draw_glyph_string (s=0xbfd4ff40) at xterm.c:1374
	tem = <value optimized out>
	h = <value optimized out>
	y = <value optimized out>
	relief_drawn_p = 0
#1  0x0806b2f5 in draw_glyphs (w=0x8604f28, x=45, row=0x862a2c4, area=TEXT_AREA, start=0, end=2, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:19850
	base_face = (struct face *) 0x8055d21
	char2b = <value optimized out>
	cmp = <value optimized out>
	glyph_len = -1214909885
	faces = <value optimized out>
	first_s = <value optimized out>
	n = <value optimized out>
	first_glyph = <value optimized out>
	head = (struct glyph_string *) 0xbfd4ff40
	tail = (struct glyph_string *) 0xbfd4fe90
	s = (struct glyph_string *) 0xbfd4ff40
	clip_head = (struct glyph_string *) 0x0
	clip_tail = (struct glyph_string *) 0x0
	last_x = 747
	x_reached = 45
	i = 2
	j = -1076559800
	f = <value optimized out>
#2  0x0806d992 in x_write_glyphs (start=0x8608e78, len=2) at xdisp.c:21149
	x = <value optimized out>
#3  0x080560a1 in update_window_line (w=0x8604f28, vpos=9, mouse_face_overwritten_p=0xbfd50288) at dispnew.c:4446
	current_row = (struct glyph_row *) 0x86497bc
	desired_row = (struct glyph_row *) 0x862a2c4
	rif = (struct redisplay_interface *) 0x81c1960
	changed_p = 0
#4  0x080583e4 in update_window (w=0x8604f28, force_p=0) at dispnew.c:4302
	tm = {
  tv_sec = 1195836868, 
  tv_usec = 821064
}
	vpos = -1076560096
	i = <value optimized out>
	end = (struct glyph_row *) 0x862b794
	header_line_row = (struct glyph_row *) 0x0
	changed_p = 1
	mouse_face_overwritten_p = 0
	row = (struct glyph_row *) 0x862a2c4
	yb = 756
	desired_matrix = (struct glyph_matrix *) 0x8607ed0
	paused_p = 0
	rif = (struct redisplay_interface *) 0x81c1960
#5  0x08059689 in update_window_tree (w=0x8604f28, force_p=0) at dispnew.c:3995
	paused_p = <value optimized out>
#6  0x0805b80e in update_frame (f=0x8604da0, force_p=0, inhibit_hairy_id_p=0) at dispnew.c:3923
	tm = {
  tv_sec = 1195836868, 
  tv_usec = 809232
}
	p = 1
	sec = 0
	usec = 100000
	paused_p = <value optimized out>
	root_window = (struct window *) 0x8604f28
#7  0x0808a302 in redisplay_internal (preserve_echo_area=<value optimized out>) at xdisp.c:11455
	f = (struct frame *) 0x8604da0
	tail = <value optimized out>
	frame = <value optimized out>
	w = (struct window *) 0x8604f28
	pause = 0
	must_finish = 1
	tlbufpos = {
  charpos = 0, 
  bytepos = 0
}
	number_of_visible_frames = 1
	polling_stopped_here = 0
	old_frame = 140529060
	consider_all_windows_p = 1
#8  0x081054ae in read_char (commandflag=1, nmaps=2, maps=0xbfd50dd0, prev_event=137574601, used_mouse_menu=0xbfd50e68, end_time=0x0) at keyboard.c:2748
	keys = 0
	key_count = 140529056
	key_count_reset = 0
	saved_ok_to_echo = (struct kboard *) 0x0
	saved_echo_string = 0
	c = 137574601
	local_getcjmp = {{
    __jmpbuf = {-1076556648, 135923056, 137818325, 137609977, 1, 142076664}, 
    __mask_was_saved = 1418, 
    __saved_mask = {
      __val = {142076664, 3218410904, 135619163, 137818325, 137609977, 142076668, 0 <repeats 26 times>}
    }
  }}
	save_jump = {{
    __jmpbuf = {142076668, 137892212, 1418, -1076556808, 135920506, 137892212}, 
    __mask_was_saved = 1417, 
    __saved_mask = {
      __val = {3218410520, 135920717, 0, 1, 3218410536, 142076668, 137892212, 1417, 3218410536, 135920506, 137737233, 1416, 3218410568, 135920717, 1, 1, 137574601, 137609977, 137818320, 137574601, 3218410616, 135922871, 137609977, 137815845, 3218410624, 0, 1, 137818325, 137574601, 142076664, 1418, 1698}
    }
  }}
	key_already_recorded = 0
	tem = 2
	save = 140529056
	previous_echo_area_message = 137574601
	also_record = 137574601
	reread = 0
	polling_stopped_here = <value optimized out>
	orig_kboard = (struct kboard *) 0x85e5200
#9  0x08107f83 in read_key_sequence (keybuf=0xbfd50f14, bufsize=30, prompt=137574601, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9455
	interrupted_kboard = (KBOARD *) 0x85e5200
	key = 142269956
	used_mouse_menu = 0
	echo_local_start = 0
	last_real_key_start = 0
	keys_local_start = 0
	local_first_binding = 0
	from_string = 137574601
	count = 2
	t = 0
	echo_start = 0
	keys_start = 0
	nmaps = 2
	nmaps_allocated = 2
	defs = (Lisp_Object * volatile) 0xbfd50db0
	submaps = (Lisp_Object * volatile) 0xbfd50dd0
	orig_local_map = 139144469
	orig_keymap = 137574601
	localized_local_map = 0
	first_binding = 0
	first_unbound = 31
	mock_input = 0
	fkey = {
  parent = 139144837, 
  map = 139144837, 
  start = 0, 
  end = 0
}
	keytran = {
  parent = 137567077, 
  map = 137567077, 
  start = 0, 
  end = 0
}
	indec = {
  parent = 139144845, 
  map = 139144845, 
  start = 0, 
  end = 0
}
	delayed_switch_frame = 137574601
	original_uppercase = 0
	original_uppercase_position = -1
	starting_buffer = (struct buffer *) 0x877eaf8
	fake_prefixed_keys = 137574601
#10 0x08109c41 in command_loop_1 () at keyboard.c:1684
	cmd = <value optimized out>
	lose = <value optimized out>
	nonundocount = 0
	keybuf = {192, 48, -1219745584, 134541263, -1472036458, 134541265, 134541267, 0, 0, 1, 994, -1221146328, -1218412544, 134541263, -1219704740, 134522612, 1, -1208238092, -1208236000, 0, -1076555912, -1076556064, 0, -1076559872, 137574601, 138202729, 0, 137923976, 137923960, -1076555880}
	i = <value optimized out>
	prev_modiff = 17
	prev_buffer = (struct buffer *) 0x833b540
	already_adjusted = 0
#11 0x08162e20 in internal_condition_case (bfun=0x8109aa0 <command_loop_1>, handlers=137632001, hfun=0x8104350 <cmd_error>) at eval.c:1493
	val = <value optimized out>
	c = {
  tag = 137574601, 
  val = 137574601, 
  next = 0xbfd510c0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {0, 137923976, 137923960, -1076555640, -1105248127, 945538030}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {0, 3086713404, 3218411184, 3218411460, 276967387, 49, 3075226700, 3075225724, 134542134, 276967386, 3086533532, 134542138, 0, 0, 1, 1997, 3073820968, 3218411584, 3218411872, 4294967295, 3218411720, 135341347, 3218411872, 3218411584, 3075242604, 3076554752, 0, 110932256, 3086729204, 134522612, 3086730856, 3218411664}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
	h = {
  handler = 137632001, 
  var = 137574601, 
  chosen_clause = 136050748, 
  tag = 0xbfd50fac, 
  next = 0x0
}
#12 0x081037d3 in command_loop_2 () at keyboard.c:1396
	val = 0
#13 0x08162efa in internal_catch (tag=137623561, func=0x81037b0 <command_loop_2>, arg=137574601) at eval.c:1229
	c = {
  tag = 137623561, 
  val = 137574601, 
  next = 0x0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {0, 137923976, 137923960, -1076555384, -1105108863, 945675246}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {0, 177, 22, 0, 1, 0 <repeats 11 times>, 3078808897, 140049736, 3076542832, 3218411976, 137760626, 137760624, 137759248, 3218411896, 135605589, 137759249, 137760626, 137574601, 137606464, 3072579872, 140049744, 137574625}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
#14 0x081041b7 in command_loop () at keyboard.c:1375
No locals.
#15 0x0810451b in recursive_edit_1 () at keyboard.c:984
	val = <value optimized out>
#16 0x08104651 in Frecursive_edit () at keyboard.c:1046
	buffer = 137574601
#17 0x080f9e55 in main (argc=15, argv=0xbfd51594) at emacs.c:1777
	tz = 0xbfd52e75 "UTC"
	dummy = -1076554520
	stack_bottom_variable = 8 '\b'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {
  rlim_cur = 8388608, 
  rlim_max = 18446744073709551615
}
	no_loadup = 0
	junk = 0x0
(gdb) p *s->font_info
$1 = {
  font = 0x8605548, 
  font_idx = 0, 
  name = 0x8605470 "-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1", 
  full_name = 0x86054f0 "-Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1", 
  charset = 0, 
  size = 9, 
  height = 18, 
  space_width = 9, 
  average_width = 9, 
  vertical_centering = 0, 
  encoding = "\000\377", '\0' <repeats 126 times>, '\001' <repeats 127 times>, 
  baseline_offset = 0, 
  relative_compose = 0, 
  default_ascent = 0, 
  font_encoder = 0x8606a00
}
(gdb)  p *s->font
$2 = {
  ext_data = 0x8605660, 
  fid = 46137362, 
  direction = 0, 
  min_char_or_byte2 = 0, 
  max_char_or_byte2 = 255, 
  min_byte1 = 0, 
  max_byte1 = 255, 
  all_chars_exist = 0, 
  default_char = 0, 
  n_properties = 23, 
  properties = 0x86055a0, 
  min_bounds = {
    lbearing = 0, 
    rbearing = 0, 
    width = 9, 
    ascent = -3, 
    descent = -13, 
    attributes = 0
  }, 
  max_bounds = {
    lbearing = 8, 
    rbearing = 9, 
    width = 9, 
    ascent = 14, 
    descent = 4, 
    attributes = 0
  }, 
  per_char = 0xb6e9e000, 
  ascent = 14, 
  descent = 4
}
(gdb)  p *s
$3 = {
  x = 27, 
  y = 162, 
  ybase = 176, 
  width = 9, 
  background_width = 9, 
  height = 18, 
  left_overhang = 0, 
  right_overhang = 0, 
  f = 0x8604da0, 
  w = 0x8604f28, 
  display = 0x85bc400, 
  window = 46137560, 
  row = 0x862a2c4, 
  area = TEXT_AREA, 
  char2b = 0xbfd4ff20, 
  nchars = 1, 
  hl = DRAW_NORMAL_TEXT, 
  face = 0x88678a8, 
  font = 0x8605548, 
  font_info = 0x8605678, 
  cmp = 0x0, 
  gidx = 0, 
  extends_to_end_of_line_p = 0, 
  background_filled_p = 0, 
  two_byte_p = 1, 
  font_not_found_p = 0, 
  stippled_p = 0, 
  for_overlaps = 0, 
  gc = 0x88616a8, 
  first_glyph = 0x8608e78, 
  img = 0x0, 
  slice = {
    x = 0, 
    y = 0, 
    width = 0, 
    height = 0
  }, 
  clip_head = 0x0, 
  clip_tail = 0x0, 
  next = 0xbfd4fe90, 
  prev = 0x0
}
(gdb)  p s->char2b[0]
$4 = {
  byte1 = 32 ' ', 
  byte2 = 172 '\254'
}
(gdb) 

-- 
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    bob@rattlesnake.com                         bob@gnu.org
    http://www.rattlesnake.com                  http://www.teak.cc

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-23 12:31                               ` Robert J. Chassell
  2007-11-23 12:46                                 ` David Kastrup
@ 2007-11-24  9:19                                 ` Jan Djärv
  1 sibling, 0 replies; 35+ messages in thread
From: Jan Djärv @ 2007-11-24  9:19 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel



Robert J. Chassell skrev:
>     Do you still get crashes if you use the font ...*iso10646-1 instead of
>     ...*iso8859-1 from the start?
> 
> Yes, even with a size of 18, which I did not expect.  
> 
> That is in 
> Today's GNU Emacs CVS snapshot, Fri, 2007 Nov 23  11:14 UTC
> GNU Emacs 23.0.50.4 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
> started in debugger with
> 
>     set args -i -q \
>     --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
>     -fn '-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1' \
>     -geometry 80x44+545+43 -name '-q GNU Emacs in Debugger, font: fixed 18'
> 
> 
> with the breakpoint at xterm.c:1374 
> and after I evaluated  (x-synchronize t)  in the debuggee
> 
> (I could not even visit my test file with a size of 20,
> 
>  -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1
> 
>     #0  0xffffe410 in __kernel_vsyscall ()
>     #1  0xb7483c26 in kill () from /lib/i686/cmov/libc.so.6
>     #2  0x080f906b in abort () at emacs.c:431 
> 

Can you get a full backtrace for this abort?

	Jan D.

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-23 17:07                                     ` Robert J. Chassell
@ 2007-11-24  9:20                                       ` Jan Djärv
  2007-11-24 14:08                                         ` Robert J. Chassell
  0 siblings, 1 reply; 35+ messages in thread
From: Jan Djärv @ 2007-11-24  9:20 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel



Robert J. Chassell skrev:
> Following Jan's request, I intended to compile with -O0 but I may have
> forgot and done a regular make.  (I cannot remember.)  In any case, I
> have updated Emacs and done another make which is definitely -O0.
> 
> 
> Today's GNU Emacs CVS snapshot, Fri, 2007 Nov 23  16:19 UTC
> GNU Emacs 23.0.50.5 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
> started in debugger with
> 
>     set args -i -q \
>     --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
>     -fn '-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1' \
>     -geometry 80x44+545+43 -name '-q GNU Emacs in Debugger, font: fixed 18'
> 
> with the breakpoint at xterm.c:1374 
> and after I evaluated  (x-synchronize t)  in the debuggee
> 
> After visiting my test file, which tried to insert a Euro sign,
> Emacs crashed as before:
> 
> (gdb) bt full
> #0  x_draw_glyph_string (s=0xbfd4ff40) at xterm.c:1374
> 	tem = <value optimized out>
> 	h = <value optimized out>
> 	y = <value optimized out>

This does not look like -O0.  You should not have any <value optimized out> in 
such a build.

	Jan D.

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-24  9:20                                       ` Jan Djärv
@ 2007-11-24 14:08                                         ` Robert J. Chassell
  2007-11-26 14:54                                           ` Jan Djärv
  0 siblings, 1 reply; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-24 14:08 UTC (permalink / raw)
  To: emacs-devel

As I now expect, GNU Emacs crashes when I try to insert a Euro sign.
Here are two debugging sessions, with misc-fixed-medium 20 point
fonts, one ISO8859 and the other ISO10646, both with

    bt full
    p *s
    p *s->font
    p *s->font_info
    p s->char2b[0]
    l x_draw_glyph_string_foreground


Of a previous effort, jan.h.d@swipnet.se wrote

    This does not look like -O0.  You should not have any <value
    optimized out> in such a build.

Hmm ... I compiled in Emacs with
 (compile "time CFLAGS='-g -O0 -Wno-pointer-sign' make bootstrap"))
but maybe that was wrong.  (Should I have put the CFLAGS expression
after the `make'?)  

In this case, after changing -O2 to -O0 in three makefiles, I
evaluated:

 (compile "time make bootstrap")

Today's GNU Emacs CVS snapshot, Sat, 2007 Nov 24  11:43 UTC
GNU Emacs 23.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
started in debugger 


First, 

    set args -i -q \
    --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
    -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
    -geometry 80x44+545+43 -name '-q GNU Emacs in Debugger, font: fixed 20'

with the breakpoint at xterm.c:1374 
and after I evaluated  (x-synchronize t)  in the debuggee

As expected, this instance of Emacs did not crash until I visited my
test file, ~/foo.mail, which tried to insert a Euro sign.  Then:

(gdb) bt full
#0  x_draw_glyph_string_foreground (s=0xbfdb9c20) at xterm.c:1374
	char1b = 0xbfdb9c00 " \254"
	boff = 0
	i = 0
	x = 30
#1  0x080f5e1e in x_draw_glyph_string (s=0xbfdb9c20) at xterm.c:2731
	relief_drawn_p = 0
#2  0x08095ad1 in draw_glyphs (w=0x8678658, x=50, row=0x869e6bc, area=TEXT_AREA, start=0, end=2, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:19850
	head = (struct glyph_string *) 0xbfdb9c20
	tail = (struct glyph_string *) 0xbfdb9b70
	s = (struct glyph_string *) 0xbfdb9c20
	clip_head = (struct glyph_string *) 0x0
	clip_tail = (struct glyph_string *) 0x0
	last_x = 830
	area_width = 800
	x_reached = 50
	i = 2
	j = -1215156040
	f = (struct frame *) 0x86784d0
#3  0x0809a1c0 in x_write_glyphs (start=0x86c3e58, len=2) at xdisp.c:21149
	x = 160
	hpos = 0
#4  0x0805a8c7 in update_text_area (w=0x8678658, vpos=9) at dispnew.c:4446
	current_row = (struct glyph_row *) 0x86bdbb4
	desired_row = (struct glyph_row *) 0x869e6bc
	rif = (struct redisplay_interface *) 0x8231000
	changed_p = 0
#5  0x0805b099 in update_window_line (w=0x8678658, vpos=9, mouse_face_overwritten_p=0xbfdba0b0) at dispnew.c:4678
	current_row = (struct glyph_row *) 0x86bdbb4
	desired_row = (struct glyph_row *) 0x869e6bc
	rif = (struct redisplay_interface *) 0x8231000
	changed_p = 0
#6  0x0805a532 in update_window (w=0x8678658, force_p=0) at dispnew.c:4302
	vpos = 9
	i = 0
	end = (struct glyph_row *) 0x869fb8c
	mode_line_row = (struct glyph_row *) 0x869fb8c
	header_line_row = (struct glyph_row *) 0x0
	changed_p = 1
	mouse_face_overwritten_p = 0
	row = (struct glyph_row *) 0x869e6bc
	yb = 840
	n_updated = 0
	desired_matrix = (struct glyph_matrix *) 0x867c1a0
	paused_p = 0
	rif = (struct redisplay_interface *) 0x8231000
#7  0x08059c1b in update_window_tree (w=0x8678658, force_p=0) at dispnew.c:3995
	paused_p = 0
#8  0x08059a40 in update_frame (f=0x86784d0, force_p=0, inhibit_hairy_id_p=0) at dispnew.c:3923
	paused_p = 0
	root_window = (struct window *) 0x8678658
#9  0x0807fff9 in redisplay_internal (preserve_echo_area=0) at xdisp.c:11455
	f = (struct frame *) 0x86784d0
	tail = 140053117
	frame = 141001940
	w = (struct window *) 0x8678658
	f = (struct frame *) 0x86784d0
	pause = 0
	must_finish = 1
	tlbufpos = {
  charpos = 1, 
  bytepos = 1
}
	tlendpos = {
  charpos = 0, 
  bytepos = 0
}
	number_of_visible_frames = 1
	count = 2
	count1 = 4
	sf = (struct frame *) 0x86784d0
	polling_stopped_here = 1
	old_frame = 141001940
	consider_all_windows_p = 1
#10 0x0807e22f in redisplay () at xdisp.c:10629
No locals.
#11 0x08134fd5 in read_char (commandflag=1, nmaps=2, maps=0xbfdbac70, prev_event=138033353, used_mouse_menu=0xbfdbade8, end_time=0x0) at keyboard.c:2748
	c = 138033353
	count = 0
	jmpcount = 0
	local_getcjmp = {{
    __jmpbuf = {138068729, 1, 1698, 0, 138351048, -1076122840}, 
    __mask_was_saved = 136372559, 
    __saved_mask = {
      __val = {138335949, 138068729, 3218844712, 135961291, 11336, 138068729, 143433244, 4294967295, 4294967295, 4294967295, 4294967295, 0 <repeats 21 times>}
    }
  }}
	save_jump = {{
    __jmpbuf = {1698, 1416, 0, 1418, 138351048, 11}, 
    __mask_was_saved = 138351048, 
    __saved_mask = {
      __val = {138033353, 3218844344, 1, 0, 1416, 3218844344, 136361940, 138195985, 143433244, 3218844376, 136369000, 138351048, 1417, 138351048, 136361734, 138351048, 138033353, 1, 1417, 0, 138033353, 3218844408, 136361940, 138068729, 138033353, 138033353, 138033353, 138033353, 138220737, 3218844440, 136361734, 138335949}
    }
  }}
	key_already_recorded = 0
	tem = 0
	save = 0
	previous_echo_area_message = 138033353
	also_record = 138033353
	reread = 0
	gcpro1 = {
  next = 0x82090ce, 
  var = 0x83f11c8, 
  nvars = 1417
}
	gcpro2 = {
  next = 0x88c9e1c, 
  var = 0x1, 
  nvars = -1076122968
}
	polling_stopped_here = 0
	orig_kboard = (struct kboard *) 0x8658560
#12 0x0813f7a3 in read_key_sequence (keybuf=0xbfdbafc4, bufsize=30, prompt=138033353, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9455
	interrupted_kboard = (KBOARD *) 0x8658560
	interrupted_frame = (struct frame *) 0x86784d0
	key = -1076121960
	used_mouse_menu = 0
	echo_local_start = 0
	last_real_key_start = 0
	keys_local_start = 0
	local_first_binding = 0
	from_string = 138033353
	count = 2
	t = 0
	echo_start = 0
	keys_start = 0
	nmaps = 2
	nmaps_allocated = 2
	defs = (Lisp_Object * volatile) 0xbfdbac50
	submaps = (Lisp_Object * volatile) 0xbfdbac70
	orig_local_map = 140050125
	orig_keymap = 138033353
	localized_local_map = 0
	first_binding = 0
	first_unbound = 31
	mock_input = 0
	fkey = {
  parent = 139600725, 
  map = 139600725, 
  start = 0, 
  end = 0
}
	keytran = {
  parent = 138025829, 
  map = 138025829, 
  start = 0, 
  end = 0
}
	indec = {
  parent = 139600733, 
  map = 139600733, 
  start = 0, 
  end = 0
}
	delayed_switch_frame = 138033353
	original_uppercase = 141038360
	original_uppercase_position = -1
	dummyflag = 0
	starting_buffer = (struct buffer *) 0x88c9e18
	fake_prefixed_keys = 138033353
	gcpro1 = {
  next = 0x8681318, 
  var = 0x83c35b2, 
  nvars = 138033353
}
#13 0x08132660 in command_loop_1 () at keyboard.c:1684
	cmd = 138384849
	lose = 32
	nonundocount = 0
	keybuf = {192, 48, -1217265840, -1208483852, -1076121568, -1221392172, -1076121516, -1208562464, 0, 0, 0, 0, -1208499652, -1076121568, -1076121292, -1472036457, 49, -1219986356, -1219991344, 134541582, -1472036458, 134541584, 134541586, 0, 0, 1, 994, -1221392088, 0, -1076121524}
	i = 2
	no_direct = 0
	prev_modiff = 27
	prev_buffer = (struct buffer *) 0x83ab540
	already_adjusted = 0
#14 0x081b761a in internal_condition_case (bfun=0x813230e <command_loop_1>, handlers=138090753, hfun=0x8131cec <cmd_error>) at eval.c:1493
	val = 138278685
	c = {
  tag = 138033353, 
  val = 138033353, 
  next = 0xbfdbb1b0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {-1218674700, -1208484640, 0, -1076121224, -1553915775, 585850862}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {3218845684, 3086404832, 0, 3076292596, 140324248, 140346216, 3086467644, 3218845632, 3218845908, 276967387, 49, 3074980940, 3074979964, 134542368, 276967386, 3086287772, 134542372, 3218846320, 3086482656, 0, 3074996844, 3076308992, 3218846320, 110932256, 3086483444, 134522752, 3086485096, 3218846080, 3086422499, 3086485536, 3073575208, 1}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
	h = {
  handler = 138090753, 
  var = 138033353, 
  chosen_clause = 140327419, 
  tag = 0xbfdbb0ac, 
  next = 0x0
}
#15 0x08132067 in command_loop_2 () at keyboard.c:1396
	val = 20
#16 0x081b70d6 in internal_catch (tag=138082313, func=0x8132044 <command_loop_2>, arg=138033353) at eval.c:1229
	c = {
  tag = 138082313, 
  val = 138033353, 
  next = 0x0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {-1218674700, -1208484640, 0, -1076120968, -1553776511, 585207790}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {134921805, 104, 13, 0, 1, 2, 0, 3076297072, 0, 177, 22, 0, 0, 0, 0, 0, 3078563137, 140331568, 3076297072, 3218846328, 135929634, 138218001, 138219378, 138033353, 138065216, 140347928, 140348104, 3076297024, 138033353, 138033353, 138219378, 138219378}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
#17 0x0813201d in command_loop () at keyboard.c:1375
No locals.
#18 0x081318f9 in recursive_edit_1 () at keyboard.c:984
	count = 1
	val = -1076113695
#19 0x08131a67 in Frecursive_edit () at keyboard.c:1046
	count = 0
	buffer = 138033353
#20 0x08130339 in main (argc=15, argv=0xbfdbb724) at emacs.c:1777
	dummy = -1217265840
	stack_bottom_variable = 8 '\b'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {
  rlim_cur = 8388608, 
  rlim_max = 18446744073709551615
}
	no_loadup = 0
	junk = 0x0
(gdb) p *s
$1 = {
  x = 30, 
  y = 180, 
  ybase = 196, 
  width = 10, 
  background_width = 10, 
  height = 20, 
  left_overhang = 0, 
  right_overhang = 0, 
  f = 0x86784d0, 
  w = 0x8678658, 
  display = 0x862fb00, 
  window = 37748953, 
  row = 0x869e6bc, 
  area = TEXT_AREA, 
  char2b = 0xbfdb9c00, 
  nchars = 1, 
  hl = DRAW_NORMAL_TEXT, 
  face = 0x881fa68, 
  font = 0x881d0d8, 
  font_info = 0x8679fa8, 
  cmp = 0x0, 
  gidx = 0, 
  extends_to_end_of_line_p = 0, 
  background_filled_p = 0, 
  two_byte_p = 1, 
  font_not_found_p = 0, 
  stippled_p = 0, 
  for_overlaps = 0, 
  gc = 0x88c7f88, 
  first_glyph = 0x86c3e58, 
  img = 0x0, 
  slice = {
    x = 0, 
    y = 0, 
    width = 0, 
    height = 0
  }, 
  clip_head = 0x0, 
  clip_tail = 0x0, 
  next = 0xbfdb9b70, 
  prev = 0x0
}
(gdb) p *s->font
$2 = {
  ext_data = 0x83f92d0, 
  fid = 37749766, 
  direction = 0, 
  min_char_or_byte2 = 0, 
  max_char_or_byte2 = 255, 
  min_byte1 = 0, 
  max_byte1 = 255, 
  all_chars_exist = 0, 
  default_char = 0, 
  n_properties = 23, 
  properties = 0x88e0828, 
  min_bounds = {
    lbearing = 0, 
    rbearing = 0, 
    width = 10, 
    ascent = -3, 
    descent = -15, 
    attributes = 0
  }, 
  max_bounds = {
    lbearing = 9, 
    rbearing = 10, 
    width = 10, 
    ascent = 16, 
    descent = 4, 
    attributes = 0
  }, 
  per_char = 0xb6d7a000, 
  ascent = 16, 
  descent = 4
}
(gdb) p *s->font_info
$3 = {
  font = 0x881d0d8, 
  font_idx = 1, 
  name = 0x88cdf88 "-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1", 
  full_name = 0x89041c0 "-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1", 
  charset = 244, 
  size = 10, 
  height = 20, 
  space_width = 10, 
  average_width = 10, 
  vertical_centering = 0, 
  encoding = "\000\377", '\0' <repeats 126 times>, '\001' <repeats 127 times>, 
  baseline_offset = 0, 
  relative_compose = 0, 
  default_ascent = 0, 
  font_encoder = 0x842c4f0
}
(gdb) p s->char2b[0]
$4 = {
  byte1 = 32 ' ', 
  byte2 = 172 '\254'
}
(gdb) l x_draw_glyph_string_foreground
1313	/* Draw the foreground of glyph string S.  */
1314	
1315	static void
1316	x_draw_glyph_string_foreground (s)
1317	     struct glyph_string *s;
1318	{
1319	  int i, x;
1320	
1321	  /* If first glyph of S has a left box line, start drawing the text
1322	     of S to the right of that box line.  */
(gdb) 



Second, instance of Emacs with iso10646:

    set args -i -q \
    --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
    -fn '-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1' \
    -geometry 80x44+545+43 -name '-q GNU Emacs in Debugger, font: fixed 20'

with the breakpoint at xterm.c:1374 
and after I evaluated  (x-synchronize t)  in the debuggee

This instance of Emacs did not crash until I visited my
test file; then it did. 

(gdb) bt full
#0  x_draw_glyph_string_foreground (s=0xbfc2a290) at xterm.c:1374
	char1b = 0xbfc2a270 " \254"
	boff = 0
	i = 0
	x = 30
#1  0x080f5e1e in x_draw_glyph_string (s=0xbfc2a290) at xterm.c:2731
	relief_drawn_p = 0
#2  0x08095ad1 in draw_glyphs (w=0x8678580, x=50, row=0x869d8cc, area=TEXT_AREA, start=0, end=2, hl=DRAW_NORMAL_TEXT, overlaps=0) at xdisp.c:19850
	head = (struct glyph_string *) 0xbfc2a290
	tail = (struct glyph_string *) 0xbfc2a1e0
	s = (struct glyph_string *) 0xbfc2a290
	clip_head = (struct glyph_string *) 0x0
	clip_tail = (struct glyph_string *) 0x0
	last_x = 830
	area_width = 800
	x_reached = 50
	i = 2
	j = -1214725960
	f = (struct frame *) 0x86783f8
#3  0x0809a1c0 in x_write_glyphs (start=0x867c420, len=2) at xdisp.c:21149
	x = 160
	hpos = 0
#4  0x0805a8c7 in update_text_area (w=0x8678580, vpos=9) at dispnew.c:4446
	current_row = (struct glyph_row *) 0x86bcdc4
	desired_row = (struct glyph_row *) 0x869d8cc
	rif = (struct redisplay_interface *) 0x8231000
	changed_p = 0
#5  0x0805b099 in update_window_line (w=0x8678580, vpos=9, mouse_face_overwritten_p=0xbfc2a720) at dispnew.c:4678
	current_row = (struct glyph_row *) 0x86bcdc4
	desired_row = (struct glyph_row *) 0x869d8cc
	rif = (struct redisplay_interface *) 0x8231000
	changed_p = 0
#6  0x0805a532 in update_window (w=0x8678580, force_p=0) at dispnew.c:4302
	vpos = 9
	i = 0
	end = (struct glyph_row *) 0x869ed9c
	mode_line_row = (struct glyph_row *) 0x869ed9c
	header_line_row = (struct glyph_row *) 0x0
	changed_p = 1
	mouse_face_overwritten_p = 0
	row = (struct glyph_row *) 0x869d8cc
	yb = 840
	n_updated = 0
	desired_matrix = (struct glyph_matrix *) 0x867b478
	paused_p = 0
	rif = (struct redisplay_interface *) 0x8231000
#7  0x08059c1b in update_window_tree (w=0x8678580, force_p=0) at dispnew.c:3995
	paused_p = 0
#8  0x08059a40 in update_frame (f=0x86783f8, force_p=0, inhibit_hairy_id_p=0) at dispnew.c:3923
	paused_p = 0
	root_window = (struct window *) 0x8678580
#9  0x0807fff9 in redisplay_internal (preserve_echo_area=0) at xdisp.c:11455
	f = (struct frame *) 0x86783f8
	tail = 140052997
	frame = 141001724
	w = (struct window *) 0x8678580
	f = (struct frame *) 0x86783f8
	pause = 0
	must_finish = 1
	tlbufpos = {
  charpos = 1, 
  bytepos = 1
}
	tlendpos = {
  charpos = 0, 
  bytepos = 0
}
	number_of_visible_frames = 1
	count = 2
	count1 = 4
	sf = (struct frame *) 0x86783f8
	polling_stopped_here = 1
	old_frame = 141001724
	consider_all_windows_p = 1
#10 0x0807e22f in redisplay () at xdisp.c:10629
No locals.
#11 0x08134fd5 in read_char (commandflag=1, nmaps=2, maps=0xbfc2b2e0, prev_event=138033353, used_mouse_menu=0xbfc2b458, end_time=0x0) at keyboard.c:2748
	c = 138033353
	count = 0
	jmpcount = 0
	local_getcjmp = {{
    __jmpbuf = {138068729, 1, 1698, 0, 138350992, -1077759592}, 
    __mask_was_saved = 136372559, 
    __saved_mask = {
      __val = {138280445, 138068729, 3217207960, 135961291, 11336, 138068729, 143442996, 4294967295, 4294967295, 4294967295, 4294967295, 0 <repeats 21 times>}
    }
  }}
	save_jump = {{
    __jmpbuf = {1698, 1416, 0, 1418, 138350992, 11}, 
    __mask_was_saved = 138350992, 
    __saved_mask = {
      __val = {138033353, 3217207592, 1, 0, 1416, 3217207592, 136361940, 138195985, 143442996, 3217207624, 136369000, 138350992, 1417, 138350992, 136361734, 138350992, 138033353, 1, 1417, 0, 138033353, 3217207656, 136361940, 138068729, 138033353, 138033353, 138033353, 138033353, 138220737, 3217207688, 136361734, 138280445}
    }
  }}
	key_already_recorded = 0
	tem = 0
	save = 0
	previous_echo_area_message = 138033353
	also_record = 138033353
	reread = 0
	gcpro1 = {
  next = 0x82090ce, 
  var = 0x83f1190, 
  nvars = 1417
}
	gcpro2 = {
  next = 0x88cc434, 
  var = 0x1, 
  nvars = -1077759720
}
	polling_stopped_here = 0
	orig_kboard = (struct kboard *) 0x8658560
#12 0x0813f7a3 in read_key_sequence (keybuf=0xbfc2b634, bufsize=30, prompt=138033353, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9455
	interrupted_kboard = (KBOARD *) 0x8658560
	interrupted_frame = (struct frame *) 0x86783f8
	key = -1077758712
	used_mouse_menu = 0
	echo_local_start = 0
	last_real_key_start = 0
	keys_local_start = 0
	local_first_binding = 0
	from_string = 138033353
	count = 2
	t = 0
	echo_start = 0
	keys_start = 0
	nmaps = 2
	nmaps_allocated = 2
	defs = (Lisp_Object * volatile) 0xbfc2b2c0
	submaps = (Lisp_Object * volatile) 0xbfc2b2e0
	orig_local_map = 140046421
	orig_keymap = 138033353
	localized_local_map = 0
	first_binding = 0
	first_unbound = 31
	mock_input = 0
	fkey = {
  parent = 139600725, 
  map = 139600725, 
  start = 0, 
  end = 0
}
	keytran = {
  parent = 138025829, 
  map = 138025829, 
  start = 0, 
  end = 0
}
	indec = {
  parent = 139600733, 
  map = 139600733, 
  start = 0, 
  end = 0
}
	delayed_switch_frame = 138033353
	original_uppercase = 141038056
	original_uppercase_position = -1
	dummyflag = 0
	starting_buffer = (struct buffer *) 0x88cc430
	fake_prefixed_keys = 138033353
	gcpro1 = {
  next = 0x86811e8, 
  var = 0x83c35b2, 
  nvars = 138033353
}
#13 0x08132660 in command_loop_1 () at keyboard.c:1684
	cmd = 138384849
	lose = 0
	nonundocount = 0
	keybuf = {192, 48, -1216835760, -1208053772, -1077758320, -1220962092, -1077758268, -1208132384, 0, 0, 0, 0, -1208069572, -1077758320, -1077758044, -1472036457, 49, -1219556276, -1219561264, 134541582, -1472036458, 134541584, 134541586, 0, 0, 1, 994, -1220962008, 0, -1077758276}
	i = 2
	no_direct = 0
	prev_modiff = 17
	prev_buffer = (struct buffer *) 0x83ab540
	already_adjusted = 0
#14 0x081b761a in internal_condition_case (bfun=0x813230e <command_loop_1>, handlers=138090753, hfun=0x8131cec <cmd_error>) at eval.c:1493
	val = 138278685
	c = {
  tag = 138033353, 
  val = 138033353, 
  next = 0xbfc2b820, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {-1218244620, -1208054560, 0, -1077757976, -1855061887, 585850862}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {3217208932, 3086834912, 0, 3076722676, 140324248, 140346216, 3086897724, 3217208880, 3217209156, 276967387, 49, 3075411020, 3075410044, 134542368, 276967386, 3086717852, 134542372, 3217209568, 3086912736, 0, 3075426924, 3076739072, 3217209568, 110932256, 3086913524, 134522752, 3086915176, 3217209328, 3086852579, 3086915616, 3074005288, 1}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
	h = {
  handler = 138090753, 
  var = 138033353, 
  chosen_clause = 140327419, 
  tag = 0xbfc2b71c, 
  next = 0x0
}
#15 0x08132067 in command_loop_2 () at keyboard.c:1396
	val = 20
#16 0x081b70d6 in internal_catch (tag=138082313, func=0x8132044 <command_loop_2>, arg=138033353) at eval.c:1229
	c = {
  tag = 138082313, 
  val = 138033353, 
  next = 0x0, 
  gcpro = 0x0, 
  jmp = {{
      __jmpbuf = {-1218244620, -1208054560, 0, -1077757720, -1854922623, 585207790}, 
      __mask_was_saved = 0, 
      __saved_mask = {
        __val = {134921805, 104, 13, 0, 1, 2, 0, 3076727152, 0, 177, 22, 0, 0, 0, 0, 0, 3078993217, 140331568, 3076727152, 3217209576, 135929634, 138218001, 138219378, 138033353, 138065216, 140347928, 140348104, 3076727104, 138033353, 138033353, 138219378, 138219378}
      }
    }}, 
  backlist = 0x0, 
  handlerlist = 0x0, 
  lisp_eval_depth = 0, 
  pdlcount = 2, 
  poll_suppress_count = 1, 
  interrupt_input_blocked = 0, 
  byte_stack = 0x0
}
#17 0x0813201d in command_loop () at keyboard.c:1375
No locals.
#18 0x081318f9 in recursive_edit_1 () at keyboard.c:984
	count = 1
	val = -1077752095
#19 0x08131a67 in Frecursive_edit () at keyboard.c:1046
	count = 0
	buffer = 138033353
#20 0x08130339 in main (argc=15, argv=0xbfc2bd94) at emacs.c:1777
	dummy = -1216835760
	stack_bottom_variable = 8 '\b'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {
  rlim_cur = 8388608, 
  rlim_max = 18446744073709551615
}
	no_loadup = 0
	junk = 0x0
(gdb) p *s
$1 = {
  x = 30, 
  y = 180, 
  ybase = 196, 
  width = 10, 
  background_width = 10, 
  height = 20, 
  left_overhang = 0, 
  right_overhang = 0, 
  f = 0x86783f8, 
  w = 0x8678580, 
  display = 0x862fb00, 
  window = 37748952, 
  row = 0x869d8cc, 
  area = TEXT_AREA, 
  char2b = 0xbfc2a270, 
  nchars = 1, 
  hl = DRAW_NORMAL_TEXT, 
  face = 0x83b11f0, 
  font = 0x8678b50, 
  font_info = 0x8678c80, 
  cmp = 0x0, 
  gidx = 0, 
  extends_to_end_of_line_p = 0, 
  background_filled_p = 0, 
  two_byte_p = 1, 
  font_not_found_p = 0, 
  stippled_p = 0, 
  for_overlaps = 0, 
  gc = 0x88c3800, 
  first_glyph = 0x867c420, 
  img = 0x0, 
  slice = {
    x = 0, 
    y = 0, 
    width = 0, 
    height = 0
  }, 
  clip_head = 0x0, 
  clip_tail = 0x0, 
  next = 0xbfc2a1e0, 
  prev = 0x0
}
(gdb) p *s->font
$2 = {
  ext_data = 0x8678c68, 
  fid = 37748754, 
  direction = 0, 
  min_char_or_byte2 = 0, 
  max_char_or_byte2 = 255, 
  min_byte1 = 0, 
  max_byte1 = 255, 
  all_chars_exist = 0, 
  default_char = 0, 
  n_properties = 23, 
  properties = 0x8678ba8, 
  min_bounds = {
    lbearing = 0, 
    rbearing = 0, 
    width = 10, 
    ascent = -3, 
    descent = -15, 
    attributes = 0
  }, 
  max_bounds = {
    lbearing = 9, 
    rbearing = 10, 
    width = 10, 
    ascent = 16, 
    descent = 4, 
    attributes = 0
  }, 
  per_char = 0xb6ecb000, 
  ascent = 16, 
  descent = 4
}
(gdb) p *s->font_info
$3 = {
  font = 0x8678b50, 
  font_idx = 0, 
  name = 0x866db68 "-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1", 
  full_name = 0x8678a78 "-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1", 
  charset = 0, 
  size = 10, 
  height = 20, 
  space_width = 10, 
  average_width = 10, 
  vertical_centering = 0, 
  encoding = "\000\377", '\0' <repeats 126 times>, '\001' <repeats 127 times>, 
  baseline_offset = 0, 
  relative_compose = 0, 
  default_ascent = 0, 
  font_encoder = 0x866dba8
}
(gdb) p s->char2b[0]
$4 = {
  byte1 = 32 ' ', 
  byte2 = 172 '\254'
}
(gdb) l x_draw_glyph_string_foreground
1313	/* Draw the foreground of glyph string S.  */
1314	
1315	static void
1316	x_draw_glyph_string_foreground (s)
1317	     struct glyph_string *s;
1318	{
1319	  int i, x;
1320	
1321	  /* If first glyph of S has a left box line, start drawing the text
1322	     of S to the right of that box line.  */
(gdb) 

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-24 14:08                                         ` Robert J. Chassell
@ 2007-11-26 14:54                                           ` Jan Djärv
  2007-11-26 16:44                                             ` Robert J. Chassell
  0 siblings, 1 reply; 35+ messages in thread
From: Jan Djärv @ 2007-11-26 14:54 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel



Robert J. Chassell skrev:
> As I now expect, GNU Emacs crashes when I try to insert a Euro sign.
> Here are two debugging sessions, with misc-fixed-medium 20 point
> fonts, one ISO8859 and the other ISO10646, both with
> 
>     bt full
>     p *s
>     p *s->font
>     p *s->font_info
>     p s->char2b[0]
>     l x_draw_glyph_string_foreground
> 
> 
> Of a previous effort, jan.h.d@swipnet.se wrote
> 
>     This does not look like -O0.  You should not have any <value
>     optimized out> in such a build.
> 
> Hmm ... I compiled in Emacs with
>  (compile "time CFLAGS='-g -O0 -Wno-pointer-sign' make bootstrap"))
> but maybe that was wrong.  (Should I have put the CFLAGS expression
> after the `make'?)  
> 
> In this case, after changing -O2 to -O0 in three makefiles, I
> evaluated:
> 
>  (compile "time make bootstrap")
> 
> Today's GNU Emacs CVS snapshot, Sat, 2007 Nov 24  11:43 UTC
> GNU Emacs 23.0.50.1 (i686-pc-linux-gnu, GTK+ Version 2.12.1)
> started in debugger 
> 
> 
> First, 
> 
>     set args -i -q \
>     --eval '(emacs-version t)' -bg DodgerBlue4 -fg white \
>     -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1' \
>     -geometry 80x44+545+43 -name '-q GNU Emacs in Debugger, font: fixed 20'
> 
> with the breakpoint at xterm.c:1374 
> and after I evaluated  (x-synchronize t)  in the debuggee
> 
> As expected, this instance of Emacs did not crash until I visited my
> test file, ~/foo.mail, which tried to insert a Euro sign.  Then:

I wonder if we are miscommunicating here.  Do you mean crash, as in abort or 
core dump?  Or do you just mean the breakpoint was hit?

	Jan D.

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-26 14:54                                           ` Jan Djärv
@ 2007-11-26 16:44                                             ` Robert J. Chassell
  2007-11-26 19:04                                               ` Jan Djärv
  0 siblings, 1 reply; 35+ messages in thread
From: Robert J. Chassell @ 2007-11-26 16:44 UTC (permalink / raw)
  To: emacs-devel

    I wonder if we are miscommunicating here.  Do you mean crash, as
    in abort or core dump?  Or do you just mean the breakpoint was
    hit?

I mean the instance vanishes.  No more GNU Emacs, and the information
I typed in recently is NOT saved.

This only happens in my regular font

    -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1

which has a size of 20.  (I am now using a less desireable font to
prevent such crashes.)

My test file has two mail messages in it, the first harmless, the
second tries to insert 

    (make-char 'latin-iso8859-15 164)

You should be able to reproduce the problem by setting the arguments
of a GDB with

 set args -i -q -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1'

and then trying to insert a Euro symbol.

-- 
    Robert J. Chassell                          GnuPG Key ID: 004B4AC8
    bob@rattlesnake.com                         bob@gnu.org
    http://www.rattlesnake.com                  http://www.teak.cc

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: Emacs crashes, 07nov16
  2007-11-26 16:44                                             ` Robert J. Chassell
@ 2007-11-26 19:04                                               ` Jan Djärv
  0 siblings, 0 replies; 35+ messages in thread
From: Jan Djärv @ 2007-11-26 19:04 UTC (permalink / raw)
  To: bob; +Cc: emacs-devel

Robert J. Chassell skrev:
>     I wonder if we are miscommunicating here.  Do you mean crash, as
>     in abort or core dump?  Or do you just mean the breakpoint was
>     hit?
> 
> I mean the instance vanishes.  No more GNU Emacs, and the information
> I typed in recently is NOT saved.
> 
> This only happens in my regular font
> 
>     -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1
> 
> which has a size of 20.  (I am now using a less desireable font to
> prevent such crashes.)
> 
> My test file has two mail messages in it, the first harmless, the
> second tries to insert 
> 
>     (make-char 'latin-iso8859-15 164)
> 
> You should be able to reproduce the problem by setting the arguments
> of a GDB with
> 
>  set args -i -q -fn '-Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO8859-1'
> 
> and then trying to insert a Euro symbol.
> 

One would think so, but I can't make it crash.  I tried several different
builds, OS:es and machines.  Can you mail me the fonts in question (off-list)?
 They should be in /usr/share/fonts/X11/misc/ or /usr/lib/X11/fonts/misc, the
files should be 10x20-ISO8859-1.pcf.gz and 10x20.pcf.gz (check fonts.dir in
the misc directory).

	Jan D.

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: RMAIL misbehaving (Was: Re: Emacs crashes, 07nov16)
  2007-11-21 12:05   ` Richard Stallman
@ 2007-12-13  0:15     ` Alfred M. Szmidt
  2007-12-14 10:10       ` Richard Stallman
  0 siblings, 1 reply; 35+ messages in thread
From: Alfred M. Szmidt @ 2007-12-13  0:15 UTC (permalink / raw)
  To: rms; +Cc: bob, emacs-devel

       Maybe RMAIL should ignore such things (and replace them with
       something safe) if the first few lines of the file are not a
       BABYL header?

   That is a good idea.  I've been bothered by this before, but I
   didn't have that idea for a solution.  I will try to implement it
   now, because I think it could be easy.

Did you get around to doing this?  If not, I'll can do it.

^ permalink raw reply	[flat|nested] 35+ messages in thread

* Re: RMAIL misbehaving (Was: Re: Emacs crashes, 07nov16)
  2007-12-13  0:15     ` Alfred M. Szmidt
@ 2007-12-14 10:10       ` Richard Stallman
  0 siblings, 0 replies; 35+ messages in thread
From: Richard Stallman @ 2007-12-14 10:10 UTC (permalink / raw)
  To: ams; +Cc: bob, emacs-devel

	   Maybe RMAIL should ignore such things (and replace them with
	   something safe) if the first few lines of the file are not a
	   BABYL header?

       That is a good idea.  I've been bothered by this before, but I
       didn't have that idea for a solution.  I will try to implement it
       now, because I think it could be easy.

    Did you get around to doing this?  If not, I'll can do it.

I started writing this, then decided I should redo part of it, then got
too busy to do that.  Please try if you want to.

^ permalink raw reply	[flat|nested] 35+ messages in thread

end of thread, other threads:[~2007-12-14 10:10 UTC | newest]

Thread overview: 35+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-16 19:35 Emacs crashes, 07nov16 Robert J. Chassell
2007-11-18 13:01 ` Richard Stallman
2007-11-18 22:06   ` Robert J. Chassell
2007-11-19 12:25     ` Richard Stallman
2007-11-19 14:05       ` Robert J. Chassell
2007-11-20  3:59         ` Richard Stallman
2007-11-20 11:17           ` Robert J. Chassell
2007-11-20 12:08             ` Jan Djärv
2007-11-20 16:07               ` Robert J. Chassell
2007-11-21  7:42                 ` Jan Djärv
2007-11-21 12:45                   ` Robert J. Chassell
2007-11-21 15:13                     ` Stefan Monnier
2007-11-22  7:07                     ` Jan Djärv
2007-11-22 12:31                       ` Robert J. Chassell
2007-11-22 13:13                         ` Jan Djärv
2007-11-22 16:00                           ` Robert J. Chassell
2007-11-23  9:45                             ` Jan Djärv
2007-11-23 12:31                               ` Robert J. Chassell
2007-11-23 12:46                                 ` David Kastrup
2007-11-23 14:54                                   ` Jan Djärv
2007-11-23 17:07                                     ` Robert J. Chassell
2007-11-24  9:20                                       ` Jan Djärv
2007-11-24 14:08                                         ` Robert J. Chassell
2007-11-26 14:54                                           ` Jan Djärv
2007-11-26 16:44                                             ` Robert J. Chassell
2007-11-26 19:04                                               ` Jan Djärv
2007-11-24  9:19                                 ` Jan Djärv
2007-11-21 12:04                 ` Richard Stallman
2007-11-21 17:20                   ` Robert J. Chassell
2007-11-22  7:07                     ` Jan Djärv
2007-11-22 11:55                       ` Robert J. Chassell
2007-11-19 20:37 ` RMAIL misbehaving (Was: Re: Emacs crashes, 07nov16) Alfred M. Szmidt
2007-11-21 12:05   ` Richard Stallman
2007-12-13  0:15     ` Alfred M. Szmidt
2007-12-14 10:10       ` Richard Stallman

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).