From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: =?UTF-8?B?SmFuIERqw6Rydg==?= Newsgroups: gmane.emacs.devel Subject: Re: emacs crashs when remote x-windows closes after make-frame-on-display even when other frame was closed due to assertion in xcd_xlib.c (!c->xlib.lock) Date: Fri, 04 Jan 2008 09:14:01 +0100 Message-ID: <477DEAC9.5020005@swipnet.se> References: <471847F6.1000406@swipnet.se> <14487449.post@talk.nabble.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1199434513 15676 80.91.229.12 (4 Jan 2008 08:15:13 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 4 Jan 2008 08:15:13 +0000 (UTC) Cc: Emacs-devel@gnu.org To: Matan Ninio Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Jan 04 09:15:33 2008 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1JAhiF-0003kw-Ba for ged-emacs-devel@m.gmane.org; Fri, 04 Jan 2008 09:15:31 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JAhhs-0002io-FR for ged-emacs-devel@m.gmane.org; Fri, 04 Jan 2008 03:15:08 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JAhhn-0002ih-Aj for emacs-devel@gnu.org; Fri, 04 Jan 2008 03:15:03 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JAhhk-0002iI-Hd for Emacs-devel@gnu.org; Fri, 04 Jan 2008 03:15:02 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JAhhk-0002iF-BX for Emacs-devel@gnu.org; Fri, 04 Jan 2008 03:15:00 -0500 Original-Received: from av9-2-sn3.vrr.skanova.net ([81.228.9.186]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JAhhj-0002JI-Og for Emacs-devel@gnu.org; Fri, 04 Jan 2008 03:15:00 -0500 Original-Received: by av9-2-sn3.vrr.skanova.net (Postfix, from userid 502) id D15893851E; Fri, 4 Jan 2008 09:14:58 +0100 (CET) Original-Received: from smtp3-1-sn3.vrr.skanova.net (smtp3-1-sn3.vrr.skanova.net [81.228.9.101]) by av9-2-sn3.vrr.skanova.net (Postfix) with ESMTP id AE6603850D; Fri, 4 Jan 2008 09:14:58 +0100 (CET) Original-Received: from husetbladh.homeip.net (90-231-102-24-no59.tbcn.telia.com [90.231.102.24]) by smtp3-1-sn3.vrr.skanova.net (Postfix) with ESMTP id 199FD37E44; Fri, 4 Jan 2008 09:14:58 +0100 (CET) User-Agent: Thunderbird 2.0.0.9 (Macintosh/20071031) In-Reply-To: <14487449.post@talk.nabble.com> X-detected-kernel: by monty-python.gnu.org: Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:86046 Archived-At: Thanks for the backtrace. This is a bug in xcb. Granted the XSync call is not needed and can be=20 avoided. But that doesn't help. Emacs uses Xt/Gtk+ and Emacs must call=20 functions in those toolkits to close the display and clean up data. Othe= rwise=20 there will be a memory leak. Those functions will call Xlib functions al= so.=20 Xcb must allow this. Most applications just exit when they get an I/O er= ror,=20 but Emacs can have several display conections and shall not exit just bec= ause=20 one of them is closed. The Xlib calls below is all done from the same thread so what is the lock= =20 protecting anyway? I suggest filing a bug report to Xcb. This is a change in behaviour from= =20 classic Xlib. Jan D. Matan Ninio skrev: > emacs: xcb_xlib.c:41: xcb_xlib_lock: Assertion `!c->xlib.lock' failed. >=20 > Program received signal SIGABRT, Aborted. > 0xb7a547d6 in raise () from /lib/libc.so.6 > (gdb) backtrace > #0 0xb7a547d6 in raise () from /lib/libc.so.6 > #1 0xb7a560f1 in abort () from /lib/libc.so.6 > #2 0xb7a4db50 in __assert_fail () from /lib/libc.so.6 > #3 0xb7a256f4 in xcb_xlib_lock () from /usr/lib/libxcb-xlib.so.0 > #4 0xb7cbc6cc in _XCBInitDisplayLock () from /usr/lib/libX11.so.6 > #5 0xb7cb12f5 in XSync () from /usr/lib/libX11.so.6 > #6 0x080c58e9 in x_catch_errors (dpy=3D0x8a25f40) at xterm.c:7572 > #7 0x080c7187 in x_connection_closed (dpy=3D0x8a25f40, > error_message=3D0xbfac7550 "Connection lost to X server `:1.0'") at > xterm.c:7726 > #8 0x080c747b in x_io_error_quitter (display=3D0x8a25f40) at xterm.c:7= 888 > #9 0xb7cb59dd in _XIOError () from /usr/lib/libX11.so.6 > #10 0xb7cbd1ba in _XReadPad () from /usr/lib/libX11.so.6 > #11 0xb7cbd918 in _XEventsQueued () from /usr/lib/libX11.so.6 > #12 0xb7ca69a3 in XPending () from /usr/lib/libX11.so.6 > #13 0x080cb141 in XTread_socket (sd=3D0, expected=3D1, hold_quit=3D0xbf= ac8a70) at > xterm.c:7070 > #14 0x080f3b50 in read_avail_input (expected=3D1) at keyboard.c:6843 > #15 0x080f3d9a in handle_async_input () at keyboard.c:6989 > #16 0x080f3f51 in input_available_signal (signo=3D29) at keyboard.c:703= 1 > #17 > #18 0xb7af5ff8 in ___newselect_nocancel () from /lib/libc.so.6 > #19 0x08181f55 in select_wrapper (n=3D1, rfd=3D0x0, wfd=3D0xbfac8ff8, x= fd=3D0x0, > tmo=3D0xbfac9128) at process.c:4225 > #20 0x08184e23 in wait_reading_process_output (time_limit=3D30, microse= cs=3D0, > read_kbd=3D-1, do_display=3D1, wait_for_cell=3D137472201, wait_proc=3D0= x0, > just_wait_proc=3D0) at process.c:4594 > #21 0x08053fe6 in sit_for (timeout=3D240, reading=3D1, do_display=3D1) = at > dispnew.c:6579 > #22 0x080f8fdb in read_char (commandflag=3D1, nmaps=3D2, maps=3D0xbfac9= 3f0, > prev_event=3D137472201, used_mouse_menu=3D0xbfac9488, end_time=3D0x0) a= t > keyboard.c:2904 > #23 0x080fabe5 in read_key_sequence (keybuf=3D0xbfac9534, bufsize=3D30, > prompt=3D137472201, dont_downcase_last=3D0, can_return_switch_frame=3D1= , > fix_current_buffer=3D1) at keyboard.c:9135 > #24 0x080fc6f3 in command_loop_1 () at keyboard.c:1618 > #25 0x08152e20 in internal_condition_case (bfun=3D0x80fc560 , > handlers=3D137517657, hfun=3D0x80f7020 ) at eval.c:1481 > #26 0x080f6473 in command_loop_2 () at keyboard.c:1329 > #27 0x08152efa in internal_catch (tag=3D137510841, func=3D0x80f6450 > , arg=3D137472201) at eval.c:1222 > #28 0x080f6e5c in command_loop () at keyboard.c:1308 > #29 0x080f71fa in recursive_edit_1 () at keyboard.c:1006 > #30 0x080f72e6 in Frecursive_edit () at keyboard.c:1067 > #31 0x080ed160 in main (argc=3D3, argv=3D0xbfac9bb4) at emacs.c:1762 > (gdb)=20 >=20 > Jan Dj=C3=A4rv wrote: >> >> Can you put a break at the assertion position and get a backtrace when= the=20 >> assertion is hit? >> >> Jan D. >> >> Richard Stallman skrev: >>> Would someone please fix this, then ack? >>> >>> To: bug-gnu-emacs@gnu.org >>> From: Matan Ninio >>> Date: Mon, 15 Oct 2007 09:10:05 +0200 >>> MIME-Version: 1.0 >>> Content-Type: text/plain; charset=3Dus-ascii >>> Subject: emacs crashs when remote x-windows closes after >>> make-frame-on-display even when other frame was closed due to >>> assertion in xcd_xlib.c (!c->xlib.lock)=20 >>> >>> >>> Please write in English if possible, because the Emacs maintainers >>> usually do not have translators to read other languages for them. >>> >>> Your bug report will be posted to the bug-gnu-emacs@gnu.org mailing l= ist, >>> and to the gnu.emacs.bug news group. >>> >>> Please describe exactly what actions triggered the bug >>> and the precise symptoms of the bug: >>> >>> open emacs in X, make frame on display to some other display (either >>> directly or via ssh -X -Y) with "make-frame-on-display". Close the >>> other frame. all still OK. close the other display (logout, kill X = or >>> kill ssh link), and emacs will crash with: >>> emacs: xcb_xlib.c:41: xcb_xlib_lock: Assertion `!c->xlib.lock' fail= ed. >>> >>> Similar problems happened with other applications when the system mov= ed >>> from xlib to xcb-xlib. This is probably due to strict checking of >>> actions that had been left unchecked in past versions of the library, >>> and therefor should be considered an Emacs bug rather then a library >>> bug. >>> =20 >>> >>> If Emacs crashed, and you have the Emacs process in the gdb debugger, >>> please include the output from the following gdb commands: >>> `bt full' and `xbacktrace'. >>> If you would like to further debug the crash, please read the file >>> /usr/share/emacs/22.1/etc/DEBUG for instructions. >>> >>> >>> In GNU Emacs 22.1.1 (i486-pc-linux-gnu, GTK+ Version 2.10.13) >>> of 2007-08-22 on raven, modified by Debian >>> Windowing system distributor `The X.Org Foundation', version >>> 11.0.10300000 >>> configured using `configure '--build=3Di486-linux-gnu' >>> '--host=3Di486-linux-gnu' '--prefix=3D/usr' '--sharedstatedir=3D/var/= lib' >>> '--libexecdir=3D/usr/lib' '--localstatedir=3D/var/lib' >>> '--infodir=3D/usr/share/info' '--mandir=3D/usr/share/man' '--with-pop= =3Dyes' >>> '--enable-locallisppath=3D/etc/emacs22:/etc/emacs:/usr/local/share/em= acs/22.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/22.1= /site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/22.1/leim' >>> '--with-x=3Dyes' '--with-x-toolkit=3Dgtk' '--with-toolkit-scroll-bars= ' >>> 'build_alias=3Di486-linux-gnu' 'host_alias=3Di486-linux-gnu' 'CFLAGS=3D= -DDEBIAN >>> -g -O2'' >>> >>> Important settings: >>> value of $LC_ALL: nil >>> value of $LC_COLLATE: nil >>> value of $LC_CTYPE: nil >>> value of $LC_MESSAGES: nil >>> value of $LC_MONETARY: nil >>> value of $LC_NUMERIC: nil >>> value of $LC_TIME: nil >>> value of $LANG: en_US.UTF-8 >>> locale-coding-system: utf-8 >>> default-enable-multibyte-characters: t >>> >>> Major mode: Shell >>> >>> Minor modes in effect: >>> shell-dirtrack-mode: t >>> display-time-mode: t >>> icomplete-mode: t >>> show-paren-mode: t >>> tooltip-mode: t >>> mouse-wheel-mode: t >>> menu-bar-mode: t >>> file-name-shadow-mode: t >>> global-font-lock-mode: t >>> font-lock-mode: t >>> unify-8859-on-encoding-mode: t >>> utf-translate-cjk-mode: t >>> auto-compression-mode: t >>> column-number-mode: t >>> line-number-mode: t >>> >>> Recent input: >>> M-x r e p o r t SPC b e m >> n> >>> >>> Recent messages: >>> Loading monk-fn-handler...done >>> Loading desktop...done >>> Loading edmacro...done >>> `pmwiki-multi-source': mmm-mode is not installed >>> Loading semantic-el...done >>> Customized for CSE-HUJI >>> Loading shell...done >>> Customized for CSE-HUJI >>> Loading ansi-color...done >>> Loading emacsbug...done >>> >> >> _______________________________________________ >> Emacs-devel mailing list >> Emacs-devel@gnu.org >> http://lists.gnu.org/mailman/listinfo/emacs-devel >> >> >=20