From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Juanma Barranquero" Newsgroups: gmane.emacs.bugs Subject: bug#1836: emacs -Q -fn "nonexistent" hangs Date: Sat, 10 Jan 2009 03:42:07 +0100 Message-ID: Reply-To: Juanma Barranquero , 1836@emacsbugs.donarmstrong.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1231556621 7155 80.91.229.12 (10 Jan 2009 03:03:41 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 10 Jan 2009 03:03:41 +0000 (UTC) To: "Emacs Bug Tracker" Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Jan 10 04:04:52 2009 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1LLU9a-0007Ng-9K for geb-bug-gnu-emacs@m.gmane.org; Sat, 10 Jan 2009 04:04:50 +0100 Original-Received: from localhost ([127.0.0.1]:47984 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LLU8K-0001lh-Gb for geb-bug-gnu-emacs@m.gmane.org; Fri, 09 Jan 2009 22:03:32 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LLU8G-0001la-DE for bug-gnu-emacs@gnu.org; Fri, 09 Jan 2009 22:03:28 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LLU8F-0001lO-Mb for bug-gnu-emacs@gnu.org; Fri, 09 Jan 2009 22:03:28 -0500 Original-Received: from [199.232.76.173] (port=50164 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LLU8F-0001lL-IM for bug-gnu-emacs@gnu.org; Fri, 09 Jan 2009 22:03:27 -0500 Original-Received: from rzlab.ucr.edu ([138.23.92.77]:44820) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LLU8E-0004j1-PN for bug-gnu-emacs@gnu.org; Fri, 09 Jan 2009 22:03:27 -0500 Original-Received: from rzlab.ucr.edu (rzlab.ucr.edu [127.0.0.1]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n0A33O0b028778; Fri, 9 Jan 2009 19:03:25 -0800 Original-Received: (from debbugs@localhost) by rzlab.ucr.edu (8.13.8/8.13.8/Submit) id n0A2o3bs025205; Fri, 9 Jan 2009 18:50:03 -0800 X-Loop: owner@emacsbugs.donarmstrong.com Resent-From: "Juanma Barranquero" Resent-To: bug-submit-list@donarmstrong.com Resent-CC: monnier@iro.umontreal.ca, Emacs Bugs Resent-Date: Sat, 10 Jan 2009 02:50:03 +0000 Resent-Message-ID: Resent-Sender: owner@emacsbugs.donarmstrong.com X-Emacs-PR-Message: report 1836 X-Emacs-PR-Package: emacs X-Emacs-PR-Keywords: Original-Received: via spool by submit@emacsbugs.donarmstrong.com id=B.123155533723836 (code B ref -1); Sat, 10 Jan 2009 02:50:03 +0000 Original-Received: (at submit) by emacsbugs.donarmstrong.com; 10 Jan 2009 02:42:17 +0000 X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. Original-Received: from mail-bw0-f11.google.com (mail-bw0-f11.google.com [209.85.218.11]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n0A2gDgX023830 for ; Fri, 9 Jan 2009 18:42:15 -0800 Original-Received: by bwz4 with SMTP id 4so1864719bwz.1 for ; Fri, 09 Jan 2009 18:42:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type:content-transfer-encoding :content-disposition; bh=IIEzgtKjgML/V4qQz+X+dts3htcAlEkJ+HFsUqt68gw=; b=f/QZ8RHlW4qsODp9VZs/dY1z6LXkcESiPAh7242HAQidwkLLviXpCBnmuyz2oxZrC4 UvzdBA8O2Uj/r03/XaPej/1rjrQileHNf6WRJHGr+TO78C0ETMZM1ovQeMLjbxFv9kS9 owJWGWQ/LeseZvM9E62OapYzN54MCf2/ADW+I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type :content-transfer-encoding:content-disposition; b=T3uT51eyYuxChN2APzMce6u6d6kvifUTMOdL49RhZ6VHbBQBrnnWpZkBpP6Yvn0iEg dHIHQB5x8h85X16/XxI/Q2KeeuCtj/aZEdRH4zoQKY8vBIVp7MFFY26K+NeUs6AFeOtq SmDeIe1ic8iYlUjldkBlHhiGotUkvgEwk/ELs= Original-Received: by 10.223.126.69 with SMTP id b5mr8688266fas.54.1231555327628; Fri, 09 Jan 2009 18:42:07 -0800 (PST) Original-Received: by 10.223.115.79 with HTTP; Fri, 9 Jan 2009 18:42:07 -0800 (PST) Content-Disposition: inline X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Resent-Date: Fri, 09 Jan 2009 22:03:28 -0500 X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:23953 Archived-At: Package: emacs Version: 23.0.60 X-Debbugs-CC: monnier@iro.umontreal.ca [Note: This is *not* bug#1548, which apparently was just fixed by Jason.] Passing a nonexistent font/fontset in the command line makes Emacs hang. emacs -Q -fn "Courier Old" (where Courier Old does not exist, of course), and Emacs hangs. It does not consume CPU, just sits idle and does not respond to C-c. I don't know whether the bug is w32-specific. It disappears when the attached commit (by Stefan) is removed. Attaching gdb to the hungup Emacs I get this backtrace: #0 0x7c91e4f4 in ntdll!LdrAccessResource () from C:\WINDOWS\system32\ntdll.dll #1 0x7c91df2c in ntdll!ZwWaitForMultipleObjects () from C:\WINDOWS\system32\ntdll.dll #2 0x7c809574 in KERNEL32!CreateFileMappingA () from C:\WINDOWS\system32\kernel32.dll #3 0x7e3995f9 in USER32!GetLastInputInfo () from C:\WINDOWS\system32\user32.dll #4 0x7e3996a8 in USER32!MsgWaitForMultipleObjects () from C:\WINDOWS\system32\user32.dll #5 0x010e2979 in sys_select (nfds=1, rfds=0x82f558, wfds=0x0, efds=0x0, timeout=0x82f550) at w32proc.c:1271 #6 0x010d985a in wait_reading_process_output (time_limit=0, microsecs=0, read_kbd=-1, do_display=1, wait_for_cell=49018881, wait_proc=0x0, just_wait_proc=0) at process.c:4818 #7 0x0101094f in kbd_buffer_get_event (kbp=0x82f6e0, used_mouse_menu=0x82fa24, end_time=0x0) at keyboard.c:4052 #8 0x0100d499 in read_char (commandflag=1, nmaps=2, maps=0x82f860, prev_event=49018881, used_mouse_menu=0x82fa24, end_time=0x0) at keyboard.c:3012 #9 0x0101ebac in read_key_sequence (keybuf=0x82fc48, bufsize=30, prompt=49018881, dont_downcase_last=0, can_return_switch_frame=1, fix_current_buffer=1) at keyboard.c:9359 #10 0x01007a53 in command_loop_1 () at keyboard.c:1632 #11 0x0103b2ba in internal_condition_case (bfun=0x1007228 , handlers=49082561, hfun=0x10069b4 ) at eval.c:1511 #12 0x01006e37 in command_loop_2 () at keyboard.c:1349 #13 0x0103ad13 in internal_catch (tag=49078681, func=0x1006e17 , arg=49018881) at eval.c:1247 #14 0x01006dee in command_loop () at keyboard.c:1328 #15 0x0100610b in recursive_edit_1 () at keyboard.c:942 #16 0x010065e0 in Frecursive_edit () at keyboard.c:1004 #17 0x01002a71 in main (argc=4, argv=0xa926d0) at emacs.c:1786 Juanma commit 4c7b4c352abdd735268f9c876bd298fe2eb0cdf8 Author: Stefan Monnier Date: Sun Dec 21 04:13:46 2008 +0000 (cmd_error_internal): Don't exit in daemon mode, bug#1310. --- a/src/keyboard.c +++ b/src/keyboard.c @@ -1265,7 +1265,18 @@ cmd_error_internal (data, context) /* If the window system or terminal frame hasn't been initialized yet, or we're not interactive, write the message to stderr and exit. */ else if (!sf->glyphs_initialized_p - || FRAME_INITIAL_P (sf) + /* We used to check if "This is the case of the frame dumped with + Emacs, when we're running under a window system" with + || (!NILP (Vwindow_system) && !inhibit_window_system + && FRAME_TERMCAP_P (sf)) + then the multi-tty code generalized this check to + || FRAME_INITIAL_P (sf) + but this leads to undesirable behavior in daemon mode where + we don't want to exit just because we got an error without + having a frame (bug#1310). + So I just removed the check, and rely instead on the `message_*' + functions properly using FRAME_INITIAL_P. In the worst case + this should just make Emacs not exit when it should. */ || noninteractive) { print_error_message (data, Qexternal_debugging_output,