unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* segfault when using XIM with multi-tty on gnu/linux
@ 2008-08-13 16:37 David Smith
  0 siblings, 0 replies; 9+ messages in thread
From: David Smith @ 2008-08-13 16:37 UTC (permalink / raw)
  To: emacs-devel


[-- Attachment #1.1: Type: text/plain, Size: 2423 bytes --]

This is with git commit 36d10c7d (Aug 13, 2008).

Steps to reproduce:
 1. start emacs -nw
 2. have XIM active for your X session (run scim -d)
 3. start X11-capable emacs frame with emacsclient -c
 4. close the X11 emacs frame
 5. segfault with error

*** glibc detected *** /usr/bin/emacs: corrupted double-linked list: 0x083afdf0 ***
 
Backtrace:
#0  0xb78575c0 in _XSend () from /usr/lib/libX11.so.6
#1  0xb7857792 in _XFlush () from /usr/lib/libX11.so.6
#2  0xb7830a91 in XFlush () from /usr/lib/libX11.so.6
#3  0xb7882160 in ?? () from /usr/lib/libX11.so.6
#4  0xb78818d2 in _XimFlush () from /usr/lib/libX11.so.6
#5  0xb7872618 in ?? () from /usr/lib/libX11.so.6
#6  0xb785d134 in XCloseIM () from /usr/lib/libX11.so.6
#7  0x080d34ed in x_delete_display (dpyinfo=0x942dba0) at xterm.c:8315
#8  0x080d35ea in x_delete_terminal (terminal=0x942dd58) at xterm.c:10650
#9  0x080ca538 in Fdelete_terminal (terminal=155376988, force=137841993) at terminal.c:334
#10 0x08063e0f in Fdelete_frame (frame=155892172, force=137841993) at frame.c:1512
#11 0x08180d4d in Ffuncall (nargs=1, args=0xbf808ee0) at eval.c:3045
#12 0x0817de71 in Fcall_interactively (function=137877289, record_flag=137841945, keys=137880348) at callint.c:857
#13 0x08180d34 in Ffuncall (nargs=4, args=0xbf809090) at eval.c:3048
#14 0x08180e89 in call3 (fn=138006169, arg1=137877289, arg2=137841945, arg3=137841945) at eval.c:2872
#15 0x0812743e in command_loop_1 () at keyboard.c:1879
#16 0x0817f5d0 in internal_condition_case (bfun=0x81270e0 <command_loop_1>, handlers=137885153,
    hfun=0x8122060 <cmd_error>) at eval.c:1511
#17 0x08121473 in command_loop_2 () at keyboard.c:1338
#18 0x0817f6aa in internal_catch (tag=137881129, func=0x8121450 <command_loop_2>, arg=137841945) at eval.c:1247
#19 0x08121ec7 in command_loop () at keyboard.c:1317
#20 0x0812223b in recursive_edit_1 () at keyboard.c:942
#21 0x08122371 in Frecursive_edit () at keyboard.c:1004
#22 0x08116ffc in main (argc=2, argv=0xbf809744) at emacs.c:1689

Analysis:

 Is the call to XCloseIM() in xim_close_dpy (xterm.c:8316) necessary?
 Since if we HAVE_X11R6_XIM, xim_destroy_callback is called, and it
 claims there is no need to call XCloseIM (xterm.c:8143). A small patch
 is attached that changes the logic of xim_close_dpy slightly to call
 XCloseIM iff HAVE_XIM && !HAVE_X11R6_XIM. This fixes the segfault here.

Cheers,
- dds


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: prevent double free segfault when using XIM and multi-tty --]
[-- Type: text/x-diff, Size: 1015 bytes --]

From 2bf89dbf20821870c55040187593aa6e07dda844 Mon Sep 17 00:00:00 2001
From: David Smith <dds@google.com>
Date: Thu, 14 Aug 2008 01:21:27 +0900
Subject: [PATCH] Prevent double-free segfault when using XIM and multi-tty. When
 HAVE_X11R6_XIM is defined, let xim_destroy_callback, there is no need to
 call XCloseIM.

---
 src/xterm.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/xterm.c b/src/xterm.c
index a32f4e1..ed982b8 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -8310,9 +8310,11 @@ xim_close_dpy (dpyinfo)
 	XUnregisterIMInstantiateCallback (dpyinfo->display, dpyinfo->xrdb,
 					  NULL, EMACS_CLASS,
 					  xim_instantiate_callback, NULL);
-#endif /* not HAVE_X11R6_XIM */
+#else /* not HAVE_X11R6_XIM */
+      /* if we have X11R6 xim, this causes a double-free */
       if (dpyinfo->display)
 	XCloseIM (dpyinfo->xim);
+#endif /* not HAVE_X11R6_XIM */
       dpyinfo->xim = NULL;
       XFree (dpyinfo->xim_styles);
     }
-- 
1.5.4.3


[-- Attachment #2: Type: application/pgp-signature, Size: 480 bytes --]

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

* Re: segfault when using XIM with multi-tty on gnu/linux
@ 2008-12-13  5:55 Chong Yidong
  2008-12-13 11:03 ` Zsitvai János
  0 siblings, 1 reply; 9+ messages in thread
From: Chong Yidong @ 2008-12-13  5:55 UTC (permalink / raw)
  To: David Smith; +Cc: emacs-devel

> Is the call to XCloseIM() in xim_close_dpy (xterm.c:8316) necessary?
> Since if we HAVE_X11R6_XIM, xim_destroy_callback is called, and it
> claims there is no need to call XCloseIM (xterm.c:8143). A small patch
> is attached that changes the logic of xim_close_dpy slightly to call
> XCloseIM iff HAVE_XIM && !HAVE_X11R6_XIM. This fixes the segfault
> here.

I reverted your patch, as it was causing a memory leak.

> Steps to reproduce:
>  1. start emacs -nw
>  2. have XIM active for your X session (run scim -d)
>  3. start X11-capable emacs frame with emacsclient -c
>  4. close the X11 emacs frame
>  5. segfault with error 

I can't reproduce this bug, even now that Emacs calls XCloseIM.  Do you
still see the segfault?




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

* Re: segfault when using XIM with multi-tty on gnu/linux
  2008-12-13  5:55 segfault when using XIM with multi-tty on gnu/linux Chong Yidong
@ 2008-12-13 11:03 ` Zsitvai János
  2008-12-13 14:46   ` Chong Yidong
  0 siblings, 1 reply; 9+ messages in thread
From: Zsitvai János @ 2008-12-13 11:03 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 738 bytes --]

On Sat, Dec 13, 2008 at 06:55, Chong Yidong <cyd@stupidchicken.com> wrote:
>> Steps to reproduce:
>>  1. start emacs -nw
>>  2. have XIM active for your X session (run scim -d)
>>  3. start X11-capable emacs frame with emacsclient -c
>>  4. close the X11 emacs frame
>>  5. segfault with error
>
> I can't reproduce this bug, even now that Emacs calls XCloseIM.  Do you
> still see the segfault?

Yes, it's happening again. I have attached a backtrace of it. One
workaround is to unset XMODIFIERS before starting emacs.

With XMODIFIERS=@im=SCIM set, for me, the procedure to reproduce
differs a bit from above:
5. start X11-capable emacs frame with emacsclient -c again
6. close the X11 emacs frame
7. segfault

Thank you for your time.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: backtrace.log --]
[-- Type: text/x-log; name=backtrace.log, Size: 8257 bytes --]

#0  0xffffe424 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7cbfeb6 in kill () from /lib/libc.so.6
No symbol table info available.
#2  0x080ed4d9 in fatal_error_signal (sig=11) at emacs.c:399
No locals.
#3  <signal handler called>
No symbol table info available.
#4  0xb7e70c64 in _XSend (dpy=0x9c6d978, data=0x0, size=0) at xcb_io.c:224
	c = <value optimized out>
	__PRETTY_FUNCTION__ = "_XSend"
#5  0xb7e70dfd in _XFlush (dpy=0x9c6d978) at xcb_io.c:258
No locals.
#6  0xb7e4bc85 in XFlush (dpy=0x9c6d978) at Flush.c:41
No locals.
#7  0xb7e8fe50 in _XimXFlush (im=0x854e448) at imTrX.c:462
No locals.
#8  0xb7e8957e in _XimFlush (im=0x854e448) at imTransR.c:260
No locals.
#9  0xb7e8ae31 in _XimClose (im=0x854e448) at imDefIm.c:925
	buf32 = {65568, 43, 0 <repeats 17 times>, 524288, 65588, 2097195, 164368328, 0, 0, 8192, 0, 21, 0, 0, 0, 0, 4294967295, 139452236, 21, 
  3213335272, 135678600, 62, 1, 3213335272, 135676557, 3213335255, 164368359, 1, 0, 3213335420, 3084693492, 10, 4, 3213335272, 1053671007, 
  3213335732, 3213335732, 139452236, 4, 3213335784, 135685507, 137619657, 0, 139452232, 3083849381, 0, 137619657, 3213335480, 3213337064, 
  139452236, 3084693492, 0, 135968575, 3213336888, 3083675770, 3213336916, 135968575, 0, 0, 3213335528, 135280500, 4294967232, 816, 139452232, 
  3213335728, 3213336760, 3083682258, 3213335560, 135280500, 1, 3213335572, 3213335420, 4294966994, 674, 132, 3213337064, 4294967288, 0, 1, 
  164337896, 0, 3083859612, 0, 0, 0, 0, 0, 3213335560, 0, 164366824, 3084697920, 0, 135968574, 135968572, 0, 3213336760, 3213337128, 0, 11, 0, 
  0, 0, 10, 3213336752, 3084693492, 33, 164366816, 3213335604, 3083869619, 3084697920, 164366824, 1, 0, 164364800, 0, 2048, 164364768, 32, 2064, 
  3084693492, 4294967295, 39, 164313579, 3213335640, 135863128, 0, 39, 3084697920, 4294967295, 39, 164313579, 3213335688, 135894791, 39, 
  137840017, 3213335764, 3213335704, 1, 3213336092, 3084219970, 1, 3213336092, 6, 164279132, 3083386868, 1, 6, 164279120, 3083324606, 6, 
  3213336092, 1, 0, 0, 3213335740, 3213335868, 64, 0 <repeats 25 times>, 3083520612, 3213335864, 135191678, 0, 0, 164279120, 4294960128, 29, 51, 
  0, 123, 123, 0, 0, 164279120, 3213336608, 7, 3213336668, 3213336796, 1, 0, 0, 4294960164, 115...}
	buf = (CARD8 *) 0xbf879a0c " "
	buf_s = <value optimized out>
	len = <value optimized out>
	reply32 = {163953024, 3086024692, 139781192, 164288416, 3213337192, 3085533124, 163953024, 3213335130, 3213333080, 2048, 3085528853, 
  164288416, 3213335176, 3213335130, 164288416, 3213335132, 2048, 3213335160, 0, 0, 65589, 2097195, 0 <repeats 490 times>}
	reply = 0xbf879208 "\200¹Å\tôÿð·HäT\b ×Ê\th¢\207¿Ä\177é·\200¹Å\tZ\232\207¿X\222\207¿"
	preply = <value optimized out>
	buf_size = <value optimized out>
	ret_code = <value optimized out>
#10 0xb7e8c227 in _XimProtoCloseIM (xim=0x854e448) at imDefIm.c:1107
	im = (Xim) 0x854e448
	ic = (XIC) 0x0
	next = (XIC) 0x85869e4
	status = <value optimized out>
#11 0xb7e7586d in XCloseIM (im=0x854e448) at IMWrap.c:149
	s = <value optimized out>
	ic = <value optimized out>
	lcd = (XLCd) 0x85a4100
#12 0x080c70c2 in x_delete_display (dpyinfo=0x9caa1d0) at xterm.c:8328
	t = (struct terminal *) 0x85869e0
#13 0x080c716b in x_delete_terminal (terminal=0x85869e0) at xterm.c:10656
	dpyinfo = (struct x_display_info *) 0x9caa1d0
#14 0x080beb9a in Fdelete_terminal (terminal=140012004, force=137619705) at terminal.c:334
	t = (struct terminal *) 0x85869e0
#15 0x0805bc8b in Fdelete_frame (frame=139452236, force=137619657) at frame.c:1515
	terminal = (struct terminal *) 0x9c6d978
	f = (struct frame *) 0x84fdf48
	sf = (struct frame *) 0x835e7e8
	kb = <value optimized out>
#16 0x0814f27c in Ffuncall (nargs=1, args=0xbf87a400) at eval.c:3047
	fun = 3
	original_fun = 137654977
	funcar = <value optimized out>
	numargs = 0
	val = <value optimized out>
	backtrace = {next = 0xbf87a568, function = 0xbf87a400, args = 0xbf87a404, nargs = 0, evalargs = 0 '\0', debug_on_exit = 0 '\0'}
	internal_args = (Lisp_Object *) 0xbf87a330
	i = <value optimized out>
#17 0x0814d485 in Fcall_interactively (function=137654977, record_flag=137619657, keys=137658092) at callint.c:857
	val = <value optimized out>
	args = (Lisp_Object *) 0xbf87a400
	visargs = (Lisp_Object *) 0xbf87a3e0
	specs = <value optimized out>
	filter_specs = <value optimized out>
	teml = <value optimized out>
	up_event = 137619657
	enable = 137619657
	speccount = 3
	next_event = 3
	prefix_arg = 137619657
	string = (unsigned char *) 0xbf87a420 ""
	tem = (unsigned char *) 0xbf87a420 ""
	varies = (int *) 0xbf87a3c0
	i = 0
	j = 0
	foo = <value optimized out>
	prompt1 = '\0' <repeats 89 times>, " \000\000\000\000\000\000\000\000\000"
	tem1 = <value optimized out>
	arg_from_tty = 0
	key_count = 3
	record_then_fail = 0
	save_this_command = 137654977
	save_last_command = 137619657
	save_this_original_command = 137654977
	save_real_this_command = 137654977
#18 0x0814f29c in Ffuncall (nargs=4, args=0xbf87a5a0) at eval.c:3050
	fun = 137312284
	original_fun = 137783625
	funcar = <value optimized out>
	numargs = 3
	val = <value optimized out>
	backtrace = {next = 0x0, function = 0xbf87a5a0, args = 0xbf87a5a4, nargs = 3, evalargs = 0 '\0', debug_on_exit = 0 '\0'}
	internal_args = (Lisp_Object *) 0xbf87a5a4
	i = <value optimized out>
#19 0x0814f51c in call3 (fn=137783625, arg1=137654977, arg2=137619657, arg3=137619657) at eval.c:2874
	ret_ungc_val = 1344
#20 0x080f0947 in Fcommand_execute (cmd=137654977, record_flag=137619657, keys=137619657, special=137619657) at keyboard.c:10332
	final = 136022228
	tem = <value optimized out>
	prefixarg = 137619657
#21 0x080fc3f2 in command_loop_1 () at keyboard.c:1880
	cmd = <value optimized out>
	lose = <value optimized out>
	nonundocount = 0
	keybuf = {192, 424, 384, 140394893, 137619705, -1081629094, 137783625, 0, 137619657, -1081629032, 135224996, 140394909, -1081629094, 0, 
  0, 0, 0, 0, 0, 0, -1081629064, -1081629216, 0, 0, 137619657, 138569001, 138143936, 138143936, 138143952, -1081629032}
	i = <value optimized out>
	prev_modiff = 11
	prev_buffer = (struct buffer *) 0x8344dc8
	already_adjusted = 0
#22 0x0814e923 in internal_condition_case (bfun=0x80fb4b9 <command_loop_1>, handlers=137662873, hfun=0x80f5dd9 <cmd_error>) at eval.c:1511
	val = <value optimized out>
	c = {tag = 137619657, val = 137619657, next = 0xbf87a7c0, gcpro = 0x0, jmp = {{__jmpbuf = {138143936, 138143936, 138143952, -1081628792, 
        681140230, 235252585}, __mask_was_saved = 0, __saved_mask = {__val = {140082144, 3083861463, 3083794258, 3086171408, 0, 3086344180, 
          3213338160, 3086455412, 3213338720, 3213338428, 3213338708, 3213338568, 135280431, 2, 3213338580, 3213338428, 0, 1, 0, 3085721784, 
          0 <repeats 12 times>}}}}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, 
  interrupt_input_blocked = 0, byte_stack = 0x0}
	h = {handler = 137662873, var = 137619657, chosen_clause = 137619705, tag = 0xbf87a6c0, next = 0x0}
#23 0x080f5452 in command_loop_2 () at keyboard.c:1338
	val = 1344
#24 0x0814e9d9 in internal_catch (tag=137658849, func=0x80f542f <command_loop_2>, arg=137619657) at eval.c:1247
	c = {tag = 137658849, val = 137619657, next = 0x0, gcpro = 0x0, jmp = {{__jmpbuf = {138143936, 138143936, 138143952, -1081628536, 
        681263110, 235387241}, __mask_was_saved = 0, __saved_mask = {__val = {0, 0, 0, 0, 0, 0, 3083863421, 0, 0, 0, 0, 0, 0, 0, 3084698000, 
          192, 3084697976, 0, 177, 22, 137867424, 137855682, 137645512, 3213338744, 135536099, 137867425, 137855682, 137619657, 137645512, 
          137619681, 137855680, 0}}}}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, 
  interrupt_input_blocked = 0, byte_stack = 0x0}
#25 0x080f5c56 in command_loop () at keyboard.c:1317
No locals.
#26 0x080f5f40 in recursive_edit_1 () at keyboard.c:942
	val = <value optimized out>
#27 0x080f605a in Frecursive_edit () at keyboard.c:1004
	buffer = 137619657
#28 0x080ed3ad in main (argc=3, argv=0xbf87ac94) at emacs.c:1781
	dummy = -1208519706
	stack_bottom_variable = 0 '\0'
	do_initial_setlocale = 1
	skip_args = 1
	rlim = {rlim_cur = 8388608, rlim_max = 18446744073709551615}
	no_loadup = 0
	junk = 0x0
	dname_arg = 0x0

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

* Re: segfault when using XIM with multi-tty on gnu/linux
  2008-12-13 11:03 ` Zsitvai János
@ 2008-12-13 14:46   ` Chong Yidong
  2008-12-13 17:18     ` Zsitvai János
  0 siblings, 1 reply; 9+ messages in thread
From: Chong Yidong @ 2008-12-13 14:46 UTC (permalink / raw)
  To: Zsitvai János; +Cc: emacs-devel

"Zsitvai János" <zsitvaij@gmail.com> writes:

>> I can't reproduce this bug, even now that Emacs calls XCloseIM.  Do you
>> still see the segfault?
>
> Yes, it's happening again. I have attached a backtrace of it. One
> workaround is to unset XMODIFIERS before starting emacs.
>
> With XMODIFIERS=@im=SCIM set, for me, the procedure to reproduce
> differs a bit from above:
> 5. start X11-capable emacs frame with emacsclient -c again
> 6. close the X11 emacs frame
> 7. segfault

Does the following patch change anything?

If not, could you run Emacs under a debugger with breakpoints at
xim_close_dpy and xim_destroy_callback?  Is xim_destroy_callback called
during frame deletion?  If not, could you verify that XIMClose is called
by Emacs exactly once per frame deletion?


*** trunk/src/xterm.c.~1.1016.~	2008-12-13 09:39:37.000000000 -0500
--- trunk/src/xterm.c	2008-12-13 09:42:20.000000000 -0500
***************
*** 8324,8330 ****
        xfree (dpyinfo->xim_callback_data->resource_name);
        xfree (dpyinfo->xim_callback_data);
  #endif /* HAVE_X11R6_XIM */
!       if (dpyinfo->display)
  	XCloseIM (dpyinfo->xim);
        dpyinfo->xim = NULL;
        XFree (dpyinfo->xim_styles);
--- 8324,8330 ----
        xfree (dpyinfo->xim_callback_data->resource_name);
        xfree (dpyinfo->xim_callback_data);
  #endif /* HAVE_X11R6_XIM */
!       if (dpyinfo->display && dpyinfo->xim)
  	XCloseIM (dpyinfo->xim);
        dpyinfo->xim = NULL;
        XFree (dpyinfo->xim_styles);




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

* Re: segfault when using XIM with multi-tty on gnu/linux
  2008-12-13 14:46   ` Chong Yidong
@ 2008-12-13 17:18     ` Zsitvai János
  2008-12-13 17:31       ` Chong Yidong
  0 siblings, 1 reply; 9+ messages in thread
From: Zsitvai János @ 2008-12-13 17:18 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel

On Sat, Dec 13, 2008 at 15:46, Chong Yidong <cyd@stupidchicken.com> wrote:
> Does the following patch change anything?
>
> If not, could you run Emacs under a debugger with breakpoints at
> xim_close_dpy and xim_destroy_callback?  Is xim_destroy_callback called
> during frame deletion?  If not, could you verify that XIMClose is called
> by Emacs exactly once per frame deletion?

Sadly, the patch did not fix it. I set breakpoints at xterm.c:8203 and
xterm.c:10529
where xim_close_dpy and xim_destroy_callback are called. xim_close_dpy never
got called, and xim_destroy_callback was called only when creating an X frame.

The XCloseIM breakpoint at xterm.c:8328 claims that it was hit 3
times: once after deleting the first
X frame, twice after deleting the second.




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

* Re: segfault when using XIM with multi-tty on gnu/linux
  2008-12-13 17:18     ` Zsitvai János
@ 2008-12-13 17:31       ` Chong Yidong
  2008-12-13 17:48         ` Zsitvai János
  0 siblings, 1 reply; 9+ messages in thread
From: Chong Yidong @ 2008-12-13 17:31 UTC (permalink / raw)
  To: Zsitvai János; +Cc: emacs-devel

"Zsitvai János" <zsitvaij@gmail.com> writes:

> xim_close_dpy never got called, and xim_destroy_callback was called
> only when creating an X frame.
>
> The XCloseIM breakpoint at xterm.c:8328 claims that it was hit 3
> times: once after deleting the first X frame, twice after deleting the
> second.

What are the backtraces where XCloseIM was called (with my patch
applied)?

With the patch, XCloseIM is called only if dpyinfo->xim in non-NULL, and
dpyinfo->xim is set to NULL after calling XCloseIM.  So I would like to
know why XCloseIM is called again.




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

* Re: segfault when using XIM with multi-tty on gnu/linux
  2008-12-13 17:31       ` Chong Yidong
@ 2008-12-13 17:48         ` Zsitvai János
  2008-12-13 22:11           ` Chong Yidong
  0 siblings, 1 reply; 9+ messages in thread
From: Zsitvai János @ 2008-12-13 17:48 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 613 bytes --]

> What are the backtraces where XCloseIM was called (with my patch
> applied)?
>
> With the patch, XCloseIM is called only if dpyinfo->xim in non-NULL, and
> dpyinfo->xim is set to NULL after calling XCloseIM.  So I would like to
> know why XCloseIM is called again.
>

The attached log 01 is the backtrace after the first frame deletion,
the 02 after the second, and 03 is at the segfault.

The break counter in the emacs gdb mode claims 1 XCloseIM hit after
the first deletion, 3 after the second, and 4 when it segfaults. I
don't seem to be able to get a backtrace from between 1 and 3 when I
let it continue.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 01.log --]
[-- Type: text/x-log; name=01.log, Size: 5175 bytes --]

#0  x_delete_display (dpyinfo=0x8bb1a00) at xterm.c:8328
	t = (struct terminal *) 0x8ba8f08
#1  0x080d03c4 in x_delete_terminal (terminal=0x8ba8f08) at xterm.c:10656
	dpyinfo = (struct x_display_info *) 0x8bb1a00
#2  0x080c7ca2 in Fdelete_terminal (terminal=146444044, force=137836793) at terminal.c:334
	t = (struct terminal *) 0x8ba8f08
#3  0x080626e7 in Fdelete_frame (frame=146459044, force=137836745) at frame.c:1516
	terminal = (struct terminal *) 0xb7693140
	f = (struct frame *) 0x8bac9a0
	sf = (struct frame *) 0x8c04700
	kb = <value optimized out>
#4  0x0817bc6c in Ffuncall (nargs=1, args=0xbf99fa40) at eval.c:3047
	fun = 3
	original_fun = 137872089
	funcar = <value optimized out>
	numargs = 0
	val = <value optimized out>
	backtrace = {next = 0xbf99fba8, function = 0xbf99fa40, args = 0xbf99fa44, nargs = 0, evalargs = 0 '\0', debug_on_exit = 0 '\0'}
	internal_args = (Lisp_Object *) 0xbf99f970
	i = <value optimized out>
#5  0x08179e6d in Fcall_interactively (function=137872089, record_flag=137836745, keys=137875180) at callint.c:857
	val = <value optimized out>
	args = (Lisp_Object *) 0xbf99fa40
	visargs = (Lisp_Object *) 0xbf99fa20
	specs = <value optimized out>
	filter_specs = <value optimized out>
	teml = <value optimized out>
	up_event = 137836745
	enable = 137836745
	speccount = 3
	next_event = 3
	prefix_arg = 137836745
	string = (unsigned char *) 0xbf99fa60 ""
	tem = (unsigned char *) 0xbf99fa60 ""
	varies = (int *) 0xbf99fa00
	i = 0
	j = 0
	foo = <value optimized out>
	prompt1 = '\0' <repeats 89 times>, " \000\000\000\000\000\000\000\000\000"
	tem1 = <value optimized out>
	arg_from_tty = 0
	key_count = 3
	record_then_fail = 0
	save_this_command = 137872089
	save_last_command = 138050545
	save_this_original_command = 137872089
	save_real_this_command = 137872089
#6  0x0817bc8c in Ffuncall (nargs=4, args=0xbf99fbe0) at eval.c:3050
	fun = 137525788
	original_fun = 138000761
	funcar = <value optimized out>
	numargs = 3
	val = <value optimized out>
	backtrace = {next = 0x0, function = 0xbf99fbe0, args = 0xbf99fbe4, nargs = 3, evalargs = 0 '\0', debug_on_exit = 0 '\0'}
	internal_args = (Lisp_Object *) 0xbf99fbe4
	i = <value optimized out>
#7  0x0817bf0c in call3 (fn=138000761, arg1=137872089, arg2=137836745, arg3=137836745) at eval.c:2874
	ret_ungc_val = 139693040
#8  0x0811c897 in Fcommand_execute (cmd=137872089, record_flag=137836745, keys=137836745, special=137836745) at keyboard.c:10332
	final = 136232788
	tem = <value optimized out>
	prefixarg = 137836745
#9  0x0812862c in command_loop_1 () at keyboard.c:1880
	cmd = <value optimized out>
	lose = <value optimized out>
	nonundocount = 0
	keybuf = {192, 424, 384, 0, 0, 0, -1207313676, -1472036457, 1011, 88216588, 70, -1219142364, -1219147460, 0, 0, 0, 1, 1012, -1224813992, 0, -1080427336, -1080427488, 0, 0, 137836745, 138716081, 138363592, 138363592, 138363608, -1080427304}
	i = <value optimized out>
	prev_modiff = 11
	prev_buffer = (struct buffer *) 0x8379dc8
	already_adjusted = 0
#10 0x0817b303 in internal_condition_case (bfun=0x81276f9 <command_loop_1>, handlers=137879985, hfun=0x8122ae9 <cmd_error>) at eval.c:1511
	val = <value optimized out>
	c = {tag = 137836745, val = 137836745, next = 0xbf99fe00, gcpro = 0x0, jmp = {{__jmpbuf = {138363592, 138363592, 138363608, -1080427064, 1472476842, 1264106949}, __mask_was_saved = 0, __saved_mask = {__val = {0, 3077412804, 3087667140, 3214539820, 3070153096, 3214539872, 3087583591, 3076255473, 139325848, 3214539804, 0, 3077412872, 3214540448, 3214540156, 3214540436, 3214540296, 135461356, 2, 3214540308, 3075841124, 3077412872, 0, 4294967295, 3087667140, 3087668824, 134518556, 3214540240, 3087603622, 3087669264, 3070153304, 1, 1}}}}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0}
	h = {handler = 137879985, var = 137836745, chosen_clause = 0, tag = 0xbf99fd00, next = 0x0}
#11 0x0812215a in command_loop_2 () at keyboard.c:1338
	val = 139693040
#12 0x0817b3b9 in internal_catch (tag=137875961, func=0x8122137 <command_loop_2>, arg=137836745) at eval.c:1247
	c = {tag = 137875961, val = 137836745, next = 0x0, gcpro = 0x0, jmp = {{__jmpbuf = {138363592, 138363592, 138363608, -1080426808, 1472599722, 1264234437}, __mask_was_saved = 0, __saved_mask = {__val = {0, 0, 0, 0, 0, 0, 3076257534, 0, 0, 0, 0, 0, 0, 0, 3077124648, 192, 3077124472, 0, 177, 22, 138084728, 138074890, 137862600, 3214540472, 135718790, 138084729, 138074890, 137836745, 137862600, 137836769, 138074888, 0}}}}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0}
#13 0x08122966 in command_loop () at keyboard.c:1317
No locals.
#14 0x08122c7b in recursive_edit_1 () at keyboard.c:942
	val = <value optimized out>
#15 0x08122da2 in Frecursive_edit () at keyboard.c:1004
	buffer = 137836745
#16 0x0811908d in main (argc=2, argv=0xbf9a02d4) at emacs.c:1781
	dummy = -1217554424
	stack_bottom_variable = 0 '\0'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {rlim_cur = 8388608, rlim_max = 18446744073709551615}
	no_loadup = 0
	junk = 0x0
	dname_arg = 0x0

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 02.log --]
[-- Type: text/x-log; name=02.log, Size: 5220 bytes --]

#0  x_delete_display (dpyinfo=0x8c7d9e8) at xterm.c:8328
	t = (struct terminal *) 0x853e008
#1  0x080d03c4 in x_delete_terminal (terminal=0x853e008) at xterm.c:10656
	dpyinfo = (struct x_display_info *) 0x8c7d9e8
#2  0x080c7ca2 in Fdelete_terminal (terminal=139714572, force=137836793) at terminal.c:334
	t = (struct terminal *) 0x853e008
#3  0x080626e7 in Fdelete_frame (frame=147486212, force=137836745) at frame.c:1516
	terminal = (struct terminal *) 0xb7693140
	f = (struct frame *) 0x8ca7600
	sf = (struct frame *) 0x8c04700
	kb = <value optimized out>
#4  0x0817bc6c in Ffuncall (nargs=1, args=0xbf99fa40) at eval.c:3047
	fun = 3
	original_fun = 137872089
	funcar = <value optimized out>
	numargs = 0
	val = <value optimized out>
	backtrace = {next = 0xbf99fba8, function = 0xbf99fa40, args = 0xbf99fa44, nargs = 0, evalargs = 0 '\0', debug_on_exit = 0 '\0'}
	internal_args = (Lisp_Object *) 0xbf99f970
	i = <value optimized out>
#5  0x08179e6d in Fcall_interactively (function=137872089, record_flag=137836745, keys=137875180) at callint.c:857
	val = <value optimized out>
	args = (Lisp_Object *) 0xbf99fa40
	visargs = (Lisp_Object *) 0xbf99fa20
	specs = <value optimized out>
	filter_specs = <value optimized out>
	teml = <value optimized out>
	up_event = 137836745
	enable = 137836745
	speccount = 3
	next_event = 3
	prefix_arg = 137836745
	string = (unsigned char *) 0xbf99fa60 ""
	tem = (unsigned char *) 0xbf99fa60 ""
	varies = (int *) 0xbf99fa00
	i = 0
	j = 0
	foo = <value optimized out>
	prompt1 = '\0' <repeats 89 times>, " \000\000\000\000\000\000\000\000\000"
	tem1 = <value optimized out>
	arg_from_tty = 0
	key_count = 3
	record_then_fail = 0
	save_this_command = 137872089
	save_last_command = 137836745
	save_this_original_command = 137872089
	save_real_this_command = 137872089
#6  0x0817bc8c in Ffuncall (nargs=4, args=0xbf99fbe0) at eval.c:3050
	fun = 137525788
	original_fun = 138000761
	funcar = <value optimized out>
	numargs = 3
	val = <value optimized out>
	backtrace = {next = 0x0, function = 0xbf99fbe0, args = 0xbf99fbe4, nargs = 3, evalargs = 0 '\0', debug_on_exit = 0 '\0'}
	internal_args = (Lisp_Object *) 0xbf99fbe4
	i = <value optimized out>
#7  0x0817bf0c in call3 (fn=138000761, arg1=137872089, arg2=137836745, arg3=137836745) at eval.c:2874
	ret_ungc_val = 141247080
#8  0x0811c897 in Fcommand_execute (cmd=137872089, record_flag=137836745, keys=137836745, special=137836745) at keyboard.c:10332
	final = 136232788
	tem = <value optimized out>
	prefixarg = 137836745
#9  0x0812862c in command_loop_1 () at keyboard.c:1880
	cmd = <value optimized out>
	lose = <value optimized out>
	nonundocount = 0
	keybuf = {192, 424, 384, 140685773, 137836793, -1080427362, 138000761, -1472036457, 137836745, -1080427304, 135408602, 140685757, -1080427362, 0, 0, 0, 1, 1012, -1241460136, 0, -1080427336, -1080427488, 0, 0, 137836745, 138716081, 138363592, 138363592, 138363608, -1080427304}
	i = <value optimized out>
	prev_modiff = 11
	prev_buffer = (struct buffer *) 0x8379dc8
	already_adjusted = 0
#10 0x0817b303 in internal_condition_case (bfun=0x81276f9 <command_loop_1>, handlers=137879985, hfun=0x8122ae9 <cmd_error>) at eval.c:1511
	val = <value optimized out>
	c = {tag = 137836745, val = 137836745, next = 0xbf99fe00, gcpro = 0x0, jmp = {{__jmpbuf = {138363592, 138363592, 138363608, -1080427064, 1472476842, 1264106949}, __mask_was_saved = 0, __saved_mask = {__val = {0, 3077412804, 3087667140, 3214539820, 3070153096, 3214539872, 3087583591, 3076255473, 139325848, 3214539804, 0, 3077412872, 3214540448, 3214540156, 3214540436, 3214540296, 135461356, 2, 3214540308, 3075841124, 3077412872, 0, 4294967295, 3087667140, 3087668824, 134518556, 3214540240, 3087603622, 3087669264, 3070153304, 1, 1}}}}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0}
	h = {handler = 137879985, var = 137836745, chosen_clause = 137836793, tag = 0xbf99fd00, next = 0x0}
#11 0x0812215a in command_loop_2 () at keyboard.c:1338
	val = 141247080
#12 0x0817b3b9 in internal_catch (tag=137875961, func=0x8122137 <command_loop_2>, arg=137836745) at eval.c:1247
	c = {tag = 137875961, val = 137836745, next = 0x0, gcpro = 0x0, jmp = {{__jmpbuf = {138363592, 138363592, 138363608, -1080426808, 1472599722, 1264234437}, __mask_was_saved = 0, __saved_mask = {__val = {0, 0, 0, 0, 0, 0, 3076257534, 0, 0, 0, 0, 0, 0, 0, 3077124648, 192, 3077124472, 0, 177, 22, 138084728, 138074890, 137862600, 3214540472, 135718790, 138084729, 138074890, 137836745, 137862600, 137836769, 138074888, 0}}}}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0}
#13 0x08122966 in command_loop () at keyboard.c:1317
No locals.
#14 0x08122c7b in recursive_edit_1 () at keyboard.c:942
	val = <value optimized out>
#15 0x08122da2 in Frecursive_edit () at keyboard.c:1004
	buffer = 137836745
#16 0x0811908d in main (argc=2, argv=0xbf9a02d4) at emacs.c:1781
	dummy = -1217554424
	stack_bottom_variable = 0 '\0'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {rlim_cur = 8388608, rlim_max = 18446744073709551615}
	no_loadup = 0
	junk = 0x0
	dname_arg = 0x0

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 03.log --]
[-- Type: text/x-log; name=03.log, Size: 9672 bytes --]

#0  0xb78a9197 in _XSend (dpy=0x8c59750, data=0x0, size=0) at xcb_io.c:224
	c = <value optimized out>
	__PRETTY_FUNCTION__ = "_XSend"
#1  0xb78a9347 in _XFlush (dpy=0x8c59750) at xcb_io.c:258
No locals.
#2  0xb7883ce5 in XFlush (dpy=0x8c59750) at Flush.c:41
No locals.
#3  0xb78d2297 in _XimXFlush (im=0x86b4268) at imTrX.c:462
No locals.
#4  0xb78cddee in _XimFlush (im=0x86b4268) at imTransR.c:260
No locals.
#5  0xb78ca131 in _XimClose (im=0x86b4268) at imDefIm.c:925
	buf32 = {65568, 63, 3077124416, 3081038776, 3082253672, 148997456, 4294967295, 3087667140, 3082252984, 149215680, 3077124416, 3087603622, 151557640, 3070154184, 149215808, 24, 0, 3081168464, 3081129984, 872576, 1, 3081038776, 3082002420, 149215680, 3077119988, 3077124416, 1, 3214536920, 3076255612, 3077124416, 149215680, 149215680, 3082002420, 149215680, 146402672, 147533735, 3081391542, 3076253524, 3082002420, 149215680, 3081396959, 149215680, 0, 45, 18800, 149420072, 3077124416, 6, 3081749237, 3081726841, 3214537017, 1, 148974688, 146404368, 2, 3081854464, 3082002420, 0, 5, 1230127893, 3077119988, 3077124416, 1, 3214537064, 3076255612, 3077124416, 149420072, 149420072, 3082002420, 149420072, 5, 8, 3081391542, 149420072, 3082002420, 149420072, 3081397953, 149420072, 8, 149420072, 0, 3082003392, 0, 0, 0, 0, 0, 3081396336, 0, 8, 1, 8, 3082248180, 3082248180, 0, 3214537376, 3082130972, 139914168, 0, 1, 148974688, 3214537356, 0, 0, 0, 0, 3082003352, 3082003392, 147668880, 8, 3214537256, 3076266038, 3082151292, 8, 3214537348, 148906480, 3214537396, 0, 146433312, 16777222, 3082248180, 0, 139914168, 0, 0, 8, 4756, 0, 139610616, 3082248180, 3082248180, 148974688, 3082064656, 146727504, 146432912, 148974688, 3082157220, 146735248, 3082098176, 1, 3082248180, 148974688, 146727504, 3, 3082054195, 146727508, 3, 2, 3081480996, 0, 0, 3214537400, 135371269, 148974688, 51, 148906480, 3087660032, 29, 51, 0, 123, 123, 0, 0, 148906480, 3214538144, 12, 3214538204, 3214538332, 1, 1, 0, 3087660068, 115, 2097734, 3214538144, 123, 3214537500, 0, 0, 4294902655, 4294901792, 4294967295, 135711514, 98041971, 3214535400, 123, 0, 2147483648, 49151, 0, 0, 0, 2147483648, 16383, 0, 2147483648, 0, 2147483648, 16387...}
	buf = (CARD8 *) 0xbf99f04c " "
	buf_s = <value optimized out>
	len = <value optimized out>
	reply32 = {9, 3082248180, 0, 147785032, 3082125785, 3087339508, 147785032, 147785032, 3214534776, 3084988685, 147785032, 3087339508, 3214534808, 3085976275, 147785032, 235, 0, 3085976138, 3087339508, 147785032, 3214534840, 3084286580, 147785032, 3086014592, 0, 3082248180, 3082248180, 3084286496, 139914168, 3082101696, 147785032, 139559632, 139914168, 3082248180, 148971088, 139914168, 3214535676, 3082039086, 139914168, 0, 1, 148971088, 3214535260, 3084286496, 1, 148974024, 3082248180, 139914168, 139914168, 3082045481, 139914168, 1073774596, 1073774596, 148971088, 3214535260, 76, 1073774596, 148974024, 3214535260, 148971088, 1, 0, 3214535169, 148974024, 1, 0, 146460417, 40, 1073741827, 3082044183, 139914168, 1073774596, 1073774595, 3082044183, 1073774596, 1073774596, 3076242467, 3081300164, 1073774595, 146460520, 3214536816, 0, 3077119988, 3, 3081749311, 3214536636, 3076063385, 3214536668, 3081749311, 3, 0, 0, 1, 148974024, 4294967232, 837, 3082003392, 3082169364, 3076069908, 3082003352, 3082003392, 3082151292, 75, 3214535252, 3082110331, 3214536508, 0, 146433312, 3214536816, 4294967291, 0, 139914168, 0, 4294967288, 8, 4756, 0, 139610616, 3082248180, 3082248180, 3076242467, 3082064656, 147785032, 0, 4294967295, 3081749310, 3081749305, 0, 3214536508, 3214536952, 1, 11, 0, 0, 0, 10, 3214536503, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 32, 3214536684, 0, 20, 1973023008, 0, 20, 148971088, 148971088, 4294967276, 20, 148974024, 148974024, 3081482400, 146433312, 3082003352, 3082003392, 3214535528, 146433312, 0, 4294967295, 3081749391, 3081749375, 0, 3214536684, 3214538252, 1, 11, 0, 0, 146417152, 3081749314, 1, 0, 0, 139765416, 0, 0, 0, 0, 0, 18, 3214536503, 1, 0, 3081749314, 3214536956, 149164688, 1941530656, 0, 1, 3214535580...}
	reply = 0xbf99e848 "\t"
	preply = <value optimized out>
	buf_size = <value optimized out>
	ret_code = <value optimized out>
#6  0xb78cb547 in _XimProtoCloseIM (xim=0x86b4268) at imDefIm.c:1107
	im = (Xim) 0x86b4268
	ic = (XIC) 0x0
	next = (XIC) 0x853e00c
	status = <value optimized out>
#7  0xb78aded5 in XCloseIM (im=0x86b4268) at IMWrap.c:149
	s = <value optimized out>
	ic = <value optimized out>
	lcd = (XLCd) 0x83afe38
#8  0x080d031b in x_delete_display (dpyinfo=0x8c7d9e8) at xterm.c:8328
	t = (struct terminal *) 0x853e008
#9  0x080d03c4 in x_delete_terminal (terminal=0x853e008) at xterm.c:10656
	dpyinfo = (struct x_display_info *) 0x8c7d9e8
#10 0x080c7ca2 in Fdelete_terminal (terminal=139714572, force=137836793) at terminal.c:334
	t = (struct terminal *) 0x853e008
#11 0x080626e7 in Fdelete_frame (frame=147486212, force=137836745) at frame.c:1516
	terminal = (struct terminal *) 0x8b87400
	f = (struct frame *) 0x8ca7600
	sf = (struct frame *) 0x8c04700
	kb = <value optimized out>
#12 0x0817bc6c in Ffuncall (nargs=1, args=0xbf99fa40) at eval.c:3047
	fun = 3
	original_fun = 137872089
	funcar = <value optimized out>
	numargs = 0
	val = <value optimized out>
	backtrace = {next = 0xbf99fba8, function = 0xbf99fa40, args = 0xbf99fa44, nargs = 0, evalargs = 0 '\0', debug_on_exit = 0 '\0'}
	internal_args = (Lisp_Object *) 0xbf99f970
	i = <value optimized out>
#13 0x08179e6d in Fcall_interactively (function=137872089, record_flag=137836745, keys=137875180) at callint.c:857
	val = <value optimized out>
	args = (Lisp_Object *) 0xbf99fa40
	visargs = (Lisp_Object *) 0xbf99fa20
	specs = <value optimized out>
	filter_specs = <value optimized out>
	teml = <value optimized out>
	up_event = 137836745
	enable = 137836745
	speccount = 3
	next_event = 3
	prefix_arg = 137836745
	string = (unsigned char *) 0xbf99fa60 ""
	tem = (unsigned char *) 0xbf99fa60 ""
	varies = (int *) 0xbf99fa00
	i = 0
	j = 0
	foo = <value optimized out>
	prompt1 = '\0' <repeats 89 times>, " \000\000\000\000\000\000\000\000\000"
	tem1 = <value optimized out>
	arg_from_tty = 0
	key_count = 3
	record_then_fail = 0
	save_this_command = 137872089
	save_last_command = 137836745
	save_this_original_command = 137872089
	save_real_this_command = 137872089
#14 0x0817bc8c in Ffuncall (nargs=4, args=0xbf99fbe0) at eval.c:3050
	fun = 137525788
	original_fun = 138000761
	funcar = <value optimized out>
	numargs = 3
	val = <value optimized out>
	backtrace = {next = 0x0, function = 0xbf99fbe0, args = 0xbf99fbe4, nargs = 3, evalargs = 0 '\0', debug_on_exit = 0 '\0'}
	internal_args = (Lisp_Object *) 0xbf99fbe4
	i = <value optimized out>
#15 0x0817bf0c in call3 (fn=138000761, arg1=137872089, arg2=137836745, arg3=137836745) at eval.c:2874
	ret_ungc_val = 1344
#16 0x0811c897 in Fcommand_execute (cmd=137872089, record_flag=137836745, keys=137836745, special=137836745) at keyboard.c:10332
	final = 136232788
	tem = <value optimized out>
	prefixarg = 137836745
#17 0x0812862c in command_loop_1 () at keyboard.c:1880
	cmd = <value optimized out>
	lose = <value optimized out>
	nonundocount = 0
	keybuf = {192, 424, 384, 140685773, 137836793, -1080427362, 138000761, -1472036457, 137836745, -1080427304, 135408602, 140685757, -1080427362, 0, 0, 0, 1, 1012, -1241460136, 0, -1080427336, -1080427488, 0, 0, 137836745, 138716081, 138363592, 138363592, 138363608, -1080427304}
	i = <value optimized out>
	prev_modiff = 11
	prev_buffer = (struct buffer *) 0x8379dc8
	already_adjusted = 0
#18 0x0817b303 in internal_condition_case (bfun=0x81276f9 <command_loop_1>, handlers=137879985, hfun=0x8122ae9 <cmd_error>) at eval.c:1511
	val = <value optimized out>
	c = {tag = 137836745, val = 137836745, next = 0xbf99fe00, gcpro = 0x0, jmp = {{__jmpbuf = {138363592, 138363592, 138363608, -1080427064, 1472476842, 1264106949}, __mask_was_saved = 0, __saved_mask = {__val = {0, 3077412804, 3087667140, 3214539820, 3070153096, 3214539872, 3087583591, 3076255473, 139325848, 3214539804, 0, 3077412872, 3214540448, 3214540156, 3214540436, 3214540296, 135461356, 2, 3214540308, 3075841124, 3077412872, 0, 4294967295, 3087667140, 3087668824, 134518556, 3214540240, 3087603622, 3087669264, 3070153304, 1, 1}}}}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0}
	h = {handler = 137879985, var = 137836745, chosen_clause = 137836793, tag = 0xbf99fd00, next = 0x0}
#19 0x0812215a in command_loop_2 () at keyboard.c:1338
	val = 1344
#20 0x0817b3b9 in internal_catch (tag=137875961, func=0x8122137 <command_loop_2>, arg=137836745) at eval.c:1247
	c = {tag = 137875961, val = 137836745, next = 0x0, gcpro = 0x0, jmp = {{__jmpbuf = {138363592, 138363592, 138363608, -1080426808, 1472599722, 1264234437}, __mask_was_saved = 0, __saved_mask = {__val = {0, 0, 0, 0, 0, 0, 3076257534, 0, 0, 0, 0, 0, 0, 0, 3077124648, 192, 3077124472, 0, 177, 22, 138084728, 138074890, 137862600, 3214540472, 135718790, 138084729, 138074890, 137836745, 137862600, 137836769, 138074888, 0}}}}, backlist = 0x0, handlerlist = 0x0, lisp_eval_depth = 0, pdlcount = 2, poll_suppress_count = 1, interrupt_input_blocked = 0, byte_stack = 0x0}
#21 0x08122966 in command_loop () at keyboard.c:1317
No locals.
#22 0x08122c7b in recursive_edit_1 () at keyboard.c:942
	val = <value optimized out>
#23 0x08122da2 in Frecursive_edit () at keyboard.c:1004
	buffer = 137836745
#24 0x0811908d in main (argc=2, argv=0xbf9a02d4) at emacs.c:1781
	dummy = -1217554424
	stack_bottom_variable = 0 '\0'
	do_initial_setlocale = 1
	skip_args = 0
	rlim = {rlim_cur = 8388608, rlim_max = 18446744073709551615}
	no_loadup = 0
	junk = 0x0
	dname_arg = 0x0

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

* Re: segfault when using XIM with multi-tty on gnu/linux
  2008-12-13 17:48         ` Zsitvai János
@ 2008-12-13 22:11           ` Chong Yidong
  2008-12-14  4:08             ` Zsitvai János
  0 siblings, 1 reply; 9+ messages in thread
From: Chong Yidong @ 2008-12-13 22:11 UTC (permalink / raw)
  To: Zsitvai János; +Cc: emacs-devel

"Zsitvai János" <zsitvaij@gmail.com> writes:

> The attached log 01 is the backtrace after the first frame deletion,
> the 02 after the second, and 03 is at the segfault.
>
> The break counter in the emacs gdb mode claims 1 XCloseIM hit after
> the first deletion, 3 after the second, and 4 when it segfaults. I
> don't seem to be able to get a backtrace from between 1 and 3 when I
> let it continue.

Thanks, I've checked in a fix.




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

* Re: segfault when using XIM with multi-tty on gnu/linux
  2008-12-13 22:11           ` Chong Yidong
@ 2008-12-14  4:08             ` Zsitvai János
  0 siblings, 0 replies; 9+ messages in thread
From: Zsitvai János @ 2008-12-14  4:08 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel

On Sat, Dec 13, 2008 at 23:11, Chong Yidong <cyd@stupidchicken.com> wrote:
> Thanks, I've checked in a fix.

It does seem to work, thank you!




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

end of thread, other threads:[~2008-12-14  4:08 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-12-13  5:55 segfault when using XIM with multi-tty on gnu/linux Chong Yidong
2008-12-13 11:03 ` Zsitvai János
2008-12-13 14:46   ` Chong Yidong
2008-12-13 17:18     ` Zsitvai János
2008-12-13 17:31       ` Chong Yidong
2008-12-13 17:48         ` Zsitvai János
2008-12-13 22:11           ` Chong Yidong
2008-12-14  4:08             ` Zsitvai János
  -- strict thread matches above, loose matches on Subject: below --
2008-08-13 16:37 David Smith

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).