unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#437: 23.0.60; Emacs aborts when IceWM is restarted
@ 2008-06-17 14:38 Sven Joachim
  0 siblings, 0 replies; 3+ messages in thread
From: Sven Joachim @ 2008-06-17 14:38 UTC (permalink / raw)
  To: emacs-pretest-bug

In GNU Emacs 23.0.60.4 (i686-pc-linux-gnu, GTK+ Version 2.12.10)
 of 2008-06-17 on debian
Windowing system distributor `The X.Org Foundation', version 11.0.10400090

Restarting my favorite window manager, IceWM, kills Emacs with an X
protocol error.  This problem does not exist in Emacs 22.

(gdb) run
Starting program: /usr/local/src/emacs/src/emacs 
[Thread debugging using libthread_db enabled]
[New Thread 0xb71a0720 (LWP 7709)]
Locking assertion failure.  Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0xb73d3767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0xb73d381e]
#2 /usr/lib/libX11.so.6 [0xb785fdc9]
#3 /usr/lib/libX11.so.6(XFlush+0x29) [0xb7838d69]
#4 /usr/lib/libgdk-x11-2.0.so.0(gdk_display_flush+0x81) [0xb7c3eed1]
#5 /usr/lib/libgdk-x11-2.0.so.0(gdk_window_process_all_updates+0xda) [0xb7c3633a]
#6 /usr/local/src/emacs/src/emacs [0x80dc572]
#7 /usr/local/src/emacs/src/emacs [0x80dc635]
#8 /usr/local/src/emacs/src/emacs [0x80dca8a]
#9 /usr/local/src/emacs/src/emacs [0x80dcae3]
#10 /usr/lib/libX11.so.6(_XError+0xd9) [0xb78587b9]
#11 /usr/lib/libX11.so.6(_XReply+0x229) [0xb7860bf9]
#12 /usr/lib/libX11.so.6(XGetWindowProperty+0x93) [0xb783ddf3]
#13 /usr/local/src/emacs/src/emacs [0x80dd9dc]
#14 /usr/local/src/emacs/src/emacs [0x80ddc97]
#15 /usr/local/src/emacs/src/emacs [0x80ddf29]
#16 /usr/local/src/emacs/src/emacs [0x80de05f]
#17 /usr/local/src/emacs/src/emacs [0x80e0aba]
#18 /usr/local/src/emacs/src/emacs [0x80e26e2]
#19 /usr/lib/libgdk-x11-2.0.so.0 [0xb7c4a508]
X protocol error: BadWindow (invalid Window parameter) on protocol request 20
[Switching to Thread 0xb71a0720 (LWP 7709)]

Breakpoint 1, abort () at emacs.c:427
(gdb) bt full
#0  abort () at emacs.c:427
No locals.
#1  0x08089747 in redisplay_preserve_echo_area (from_where=13) at xdisp.c:11863
No locals.
#2  0x081bedf3 in status_notify (deleting_process=0x86e6730) at process.c:7159
	proc = 141453108
	buffer = 137850137
	tail = 147035800
	msg = 148330715
#3  0x081c4448 in Fdelete_process (process=141453108) at process.c:838
	symbol = <value optimized out>
	pid = 137850137
	p = (struct Lisp_Process *) 0x86e6730
#4  0x081c4598 in kill_buffer_processes (buffer=137850137) at process.c:6743
	tail = <value optimized out>
	proc = 141453108
#5  0x08119abc in shut_down_emacs (sig=0, no_x=0, stuff=137850137) at emacs.c:2127
No locals.
#6  0x080dc9b5 in x_connection_closed (dpy=0x88cd4e8, error_message=0xbfa44fa8 "X protocol error: BadWindow (invalid Window parameter) on protocol request 20") at xterm.c:7938
	dpyinfo = (struct x_display_info *) 0x845b048
	frame = <value optimized out>
	tail = <value optimized out>
#7  0x080dca8a in x_error_quitter (display=0x8ccfeb0, error=0xbfa4525c) at xterm.c:8016
	buf = "BadWindow (invalid Window parameter)", '\0' <repeats 219 times>
	buf1 = "X protocol error: BadWindow (invalid Window parameter) on protocol request 20", '\0' <repeats 223 times>, "+O\003\270", '\0' <repeats 36 times>, "\364o\004\2708\211\033\267\026\000\000\000\204Q\244\277"
#8  0x080dcae3 in x_error_handler (display=0x8ccfeb0, error=0xbfa4525c) at xterm.c:7972
No locals.
#9  0xb78587b9 in _XError () from /usr/lib/libX11.so.6
No symbol table info available.
#10 0xb7860bf9 in _XReply () from /usr/lib/libX11.so.6
No symbol table info available.
#11 0xb783ddf3 in XGetWindowProperty () from /usr/lib/libX11.so.6
No symbol table info available.
#12 0x080dd9dc in x_set_frame_alpha (f=0x8c39698) at xterm.c:503
	data = <value optimized out>
	actual = <value optimized out>
	format = 5
	n = 1
	left = 147655888
	dpyinfo = (struct x_display_info *) 0x845b048
	dpy = (Display *) 0x8ccfeb0
	win = 12584820
	alpha = 0
	alpha_min = 0
	opac = 4294967295
#13 0x080ddc97 in x_frame_rehighlight (dpyinfo=0x845b048) at xterm.c:3244
	old_highlight = (struct frame *) 0x0
#14 0x080ddf29 in x_focus_changed (type=<value optimized out>, state=2, dpyinfo=0x846bc04, frame=0x8c39698, bufp=0xbfa45830) at xterm.c:3318
No locals.
#15 0x080de05f in x_detect_focus_change (dpyinfo=0x845b048, event=0xbfa457d0, bufp=0xbfa45830) at xterm.c:3393
	frame = <value optimized out>
#16 0x080e0aba in handle_one_xevent (dpyinfo=0x845b048, eventp=0xbfa45aec, finish=0x8330ef0, hold_quit=0xbfa45fa4) at xterm.c:6685
	inev = {
  ie = {
    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 = 137850137
  }, 
  sie = {
    kind = 0, 
    display = 0x0, 
    requestor = 0, 
    selection = 0, 
    target = 0, 
    property = 0, 
    time = 0
  }
}
	count = <value optimized out>
	do_help = 0
	nbytes = <value optimized out>
	f = <value optimized out>
	coding = {
  id = -1214285556, 
  common_flags = 139068480, 
  mode = 3215218456, 
  spec = {
    iso_2022 = {
      flags = 0, 
      current_invocation = {1, 139068480}, 
      current_designation = {-1079748856, -1214291314, 0, 139068480}, 
      single_shifting = -1079748840, 
      bol = -1220251504
    }, 
    ccl = 0x0, 
    utf_16 = {
      bom = utf_detect_bom, 
      endian = utf_16_little_endian, 
      surrogate = 139068480
    }, 
    utf_8_bom = utf_detect_bom, 
    emacs_mule_full_support = 0
  }, 
  max_charset_id = 139068492, 
  safe_charsets = 0x0, 
  src_multibyte = 0, 
  dst_multibyte = 0, 
  head_ascii = -1220243736, 
  produced = 139068480, 
  produced_char = 7709, 
  consumed = -1079748696, 
  consumed_char = -1215957508, 
  errors = 139068480, 
  error_positions = 0x1e1d, 
  result = 3077013492, 
  src_pos = -1220187124, 
  src_pos_byte = -1214285556, 
  src_chars = 147652272, 
  src_bytes = -1079748744, 
  src_object = 0, 
  source = 0x1 <Address 0x1 out of bounds>, 
  dst_pos = 2604, 
  dst_pos_byte = -1079748712, 
  dst_bytes = -1220187124, 
  dst_object = 139068480, 
  destination = 0xb71a0720 " \a\032\267\230\v\032\267 \a\032\267", 
  chars_at_source = -1079748744, 
  charbuf = 0xb7447090, 
  charbuf_size = 139068492, 
  charbuf_used = -1220719800, 
  annotated = -1079748696, 
  carryover = "\3578=\267@\004J\b\000\000\000\000\264\236\220\267", '\0' <repeats 16 times>, "Lx\220\267\260\376\314\b\260\376\314\b\310W\244\277\321\374\205\267@\004J\b\000\000\000\000\000\000\000", 
  carryover_bytes = -1220250597, 
  default_char = -1215268788, 
  detector = 0, 
  decoder = 0xbfa457e8, 
  encoder = 0xb78493b3 <XPending+67>
}
	event = {
  type = 9, 
  xany = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145
  }, 
  xkey = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    root = 2, 
    subwindow = 4, 
    time = 0, 
    x = 16445576, 
    y = 0, 
    x_root = 0, 
    y_root = 0, 
    state = 0, 
    keycode = 5260288, 
    same_screen = 1174425669
  }, 
  xbutton = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    root = 2, 
    subwindow = 4, 
    time = 0, 
    x = 16445576, 
    y = 0, 
    x_root = 0, 
    y_root = 0, 
    state = 0, 
    button = 5260288, 
    same_screen = 1174425669
  }, 
  xmotion = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    root = 2, 
    subwindow = 4, 
    time = 0, 
    x = 16445576, 
    y = 0, 
    x_root = 0, 
    y_root = 0, 
    state = 0, 
    is_hint = 0 '\0', 
    same_screen = 1174425669
  }, 
  xcrossing = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    root = 2, 
    subwindow = 4, 
    time = 0, 
    x = 16445576, 
    y = 0, 
    x_root = 0, 
    y_root = 0, 
    mode = 0, 
    detail = 5260288, 
    same_screen = 1174425669, 
    focus = 1346830416, 
    state = 5261312
  }, 
  xfocus = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    mode = 2, 
    detail = 4
  }, 
  xexpose = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    x = 2, 
    y = 4, 
    width = 0, 
    height = 16445576, 
    count = 0
  }, 
  xgraphicsexpose = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    drawable = 29360145, 
    x = 2, 
    y = 4, 
    width = 0, 
    height = 16445576, 
    count = 0, 
    major_code = 0, 
    minor_code = 0
  }, 
  xnoexpose = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    drawable = 29360145, 
    major_code = 2, 
    minor_code = 4
  }, 
  xvisibility = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    state = 2
  }, 
  xcreatewindow = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    parent = 29360145, 
    window = 2, 
    x = 4, 
    y = 0, 
    width = 16445576, 
    height = 0, 
    border_width = 0, 
    override_redirect = 0
  }, 
  xdestroywindow = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    event = 29360145, 
    window = 2
  }, 
  xunmap = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    event = 29360145, 
    window = 2, 
    from_configure = 4
  }, 
  xmap = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    event = 29360145, 
    window = 2, 
    override_redirect = 4
  }, 
  xmaprequest = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    parent = 29360145, 
    window = 2
  }, 
  xreparent = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    event = 29360145, 
    window = 2, 
    parent = 4, 
    x = 0, 
    y = 16445576, 
    override_redirect = 0
  }, 
  xconfigure = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    event = 29360145, 
    window = 2, 
    x = 4, 
    y = 0, 
    width = 16445576, 
    height = 0, 
    border_width = 0, 
    above = 0, 
    override_redirect = 0
  }, 
  xgravity = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    event = 29360145, 
    window = 2, 
    x = 4, 
    y = 0
  }, 
  xresizerequest = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    width = 2, 
    height = 4
  }, 
  xconfigurerequest = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    parent = 29360145, 
    window = 2, 
    x = 4, 
    y = 0, 
    width = 16445576, 
    height = 0, 
    border_width = 0, 
    above = 0, 
    detail = 0, 
    value_mask = 5260288
  }, 
  xcirculate = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    event = 29360145, 
    window = 2, 
    place = 4
  }, 
  xcirculaterequest = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    parent = 29360145, 
    window = 2, 
    place = 4
  }, 
  xproperty = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    atom = 2, 
    time = 4, 
    state = 0
  }, 
  xselectionclear = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    selection = 2, 
    time = 4
  }, 
  xselectionrequest = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    owner = 29360145, 
    requestor = 2, 
    selection = 4, 
    target = 0, 
    property = 16445576, 
    time = 0
  }, 
  xselection = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    requestor = 29360145, 
    selection = 2, 
    target = 4, 
    property = 0, 
    time = 16445576
  }, 
  xcolormap = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    colormap = 2, 
    new = 4, 
    state = 0
  }, 
  xclient = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    message_type = 2, 
    format = 4, 
    data = {
      b = "\000\000\000\000\210\360\372", '\0' <repeats 12 times>, 
      s = {0, 0, -3960, 250, 0, 0, 0, 0, 0, 0}, 
      l = {0, 16445576, 0, 0, 0}
    }
  }, 
  xmapping = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    request = 2, 
    first_keycode = 4, 
    count = 0
  }, 
  xerror = {
    type = 9, 
    display = 0xa2c, 
    resourceid = 0, 
    serial = 147652272, 
    error_code = 17 '\021', 
    request_code = 0 '\0', 
    minor_code = 192 '\300'
  }, 
  xkeymap = {
    type = 9, 
    serial = 2604, 
    send_event = 0, 
    display = 0x8ccfeb0, 
    window = 29360145, 
    key_vector = "\002\000\000\000\004\000\000\000\000\000\000\000\210\360\372", '\0' <repeats 16 times>
  }, 
  pad = {9, 2604, 0, 147652272, 29360145, 2, 4, 0, 16445576, 0, 0, 0, 0, 5260288, 1174425669, 1346830416, 5261312, 1241534537, 1347092560, 5262336, 1308643405, 1347354704, 141698304, 8}
}
#17 0x080e26e2 in event_handler_gdk (gxev=0xbfa45aec, ev=0x861bd40, data=0x0) at xterm.c:5781
	dpyinfo = (struct x_display_info *) 0x845b048
	xev = (XEvent *) 0x8c39698
#18 0xb7c4a508 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
No symbol table info available.
#19 0xbfa45aec in ?? ()
No symbol table info available.
#20 0x0861bd40 in ?? ()
No symbol table info available.
#21 0x00000000 in ?? ()
No symbol table info available.
(gdb)






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

* bug#437: 23.0.60; Emacs aborts when IceWM is restarted
@ 2008-06-21 21:55 Seiji Zenitani
  2008-06-22  6:08 ` Sven Joachim
  0 siblings, 1 reply; 3+ messages in thread
From: Seiji Zenitani @ 2008-06-21 21:55 UTC (permalink / raw)
  To: 437; +Cc: svenjoac

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

Hi,

Here's a fix.  It would be nice if you will try this.

Sincerely,
Seiji

---

2008-06-21 Seiji Zenitani <zenitani@mac.com>, Ryo Yoshitake <ryo@shiftmode.net>
	
	* xterm.c (x_set_frame_alpha): Add x_catch_errors for bug#437.

[-- Attachment #2: xterm.diff --]
[-- Type: application/octet-stream, Size: 1078 bytes --]

--- ../emacs.aho/src/xterm.c.orig	2008-06-10 16:22:10.000000000 -0400
+++ src/xterm.c	2008-06-20 20:56:41.000000000 -0400
@@ -497,26 +497,32 @@
   {
     unsigned char *data;
     Atom actual;
-    int format;
+    int rc, format;
     unsigned long n, left;
 
-    XGetWindowProperty(dpy, win, XInternAtom(dpy, OPACITY, False),
-		       0L, 1L, False, XA_CARDINAL, &actual, &format, &n, &left,
-		       &data);
-    if (actual != None)
+    x_catch_errors (dpy);
+    rc = XGetWindowProperty(dpy, win, XInternAtom(dpy, OPACITY, False),
+			    0L, 1L, False, XA_CARDINAL,
+			    &actual, &format, &n, &left,
+			    &data);
+
+    if (rc == Success && actual != None)
       if (*(unsigned long *)data == opac)
 	{
 	  XFree ((void *) data);
+	  x_uncatch_errors ();
 	  return;
 	}
       else
 	XFree ((void *) data);
+    x_uncatch_errors ();
   }
 
+  x_catch_errors (dpy);
   XChangeProperty (dpy, win, XInternAtom (dpy, OPACITY, False),
 		   XA_CARDINAL, 32, PropModeReplace,
 		   (unsigned char *) &opac, 1L);
-  XSync (dpy, False);
+  x_uncatch_errors ();
 }
 
 \f

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

* bug#437: 23.0.60; Emacs aborts when IceWM is restarted
  2008-06-21 21:55 bug#437: 23.0.60; Emacs aborts when IceWM is restarted Seiji Zenitani
@ 2008-06-22  6:08 ` Sven Joachim
  0 siblings, 0 replies; 3+ messages in thread
From: Sven Joachim @ 2008-06-22  6:08 UTC (permalink / raw)
  To: Seiji Zenitani; +Cc: 437

On 2008-06-21 23:55 +0200, Seiji Zenitani wrote:

> Here's a fix.  It would be nice if you will try this.

Works for me. :-)

Cheers,
       Sven






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

end of thread, other threads:[~2008-06-22  6:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-21 21:55 bug#437: 23.0.60; Emacs aborts when IceWM is restarted Seiji Zenitani
2008-06-22  6:08 ` Sven Joachim
  -- strict thread matches above, loose matches on Subject: below --
2008-06-17 14:38 Sven Joachim

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