From monnier@iro.umontreal.ca Wed Nov 25 07:51:38 2009 Received: (at submit) by emacsbugs.donarmstrong.com; 25 Nov 2009 15:51:39 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-3.2 required=4.0 tests=AWL,HAS_PACKAGE, IMPRONONCABLE_1,IMPRONONCABLE_2,MURPHY_DRUGS_REL8,MURPHY_WRONG_WORD1, MURPHY_WRONG_WORD2 autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from ironport2-out.pppoe.ca (ironport2-out.teksavvy.com [206.248.154.183]) by rzlab.ucr.edu (8.14.3/8.14.3/Debian-5) with ESMTP id nAPFpbqu032107 for ; Wed, 25 Nov 2009 07:51:38 -0800 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsgFALbhDEtFpYc//2dsb2JhbACBTY56AcVLgiaCDASKFg X-IronPort-AV: E=Sophos;i="4.47,286,1257138000"; d="scan'208";a="49996826" Received: from 69-165-135-63.dsl.teksavvy.com (HELO pastel.home) ([69.165.135.63]) by ironport2-out.pppoe.ca with ESMTP; 25 Nov 2009 10:51:31 -0500 Received: by pastel.home (Postfix, from userid 20848) id 21D9580E3; Wed, 25 Nov 2009 10:51:31 -0500 (EST) From: Stefan Monnier To: submit@debbugs.gnu.org Subject: Asserion failure in draw_row_fringe_bitmaps Date: Wed, 25 Nov 2009 10:51:31 -0500 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Package: Emacs Version: 23.1.50 Please describe exactly what actions triggered the bug and the precise symptoms of the bug. If you can, give a recipe starting from `emacs -Q': I got an assertion failure in draw_row_fringe_bitmaps: xassert (interrupt_input_blocked); when resizing the frame while Gnus was waiting for network data (or connection). It seems there's a BLOCK_INPUT missing somewhere long that path. I've added a BLOCK_INPUT in event_handler_gdk and it seems to work, but I don't understand enough of how those things work to know whether that's the right place. Can someone confirm that the patch below is right? Stefan === modified file 'src/xterm.c' --- src/xterm.c 2009-11-24 17:03:04 +0000 +++ src/xterm.c 2009-11-25 15:35:23 +0000 @@ -5738,6 +5738,45 @@ { XEvent *xev = (XEvent *) gxev; + /* It appears we need to block input somewhere around here. + Otherwise we can get an assertion failure in + draw_row_fringe_bitmaps which checks interrupts are blocked: + + #0 0xb7fe1424 in __kernel_vsyscall () + #1 0xb7386bd6 in kill () from /lib/i686/cmov/libc.so.6 + #2 0x08188533 in abort () at emacs.c:432 + #3 0x081748c7 in draw_row_fringe_bitmaps (w=0x7a69, row=0x8fa3978) + at fringe.c:881 + #4 0x0807b563 in expose_line (w=0x8b10f58, row=0x8fa3978, r=0xbfffbdcc) + at xdisp.c:24141 + #5 0x0807f289 in expose_window (w=0x8b10f58, fr=0xbfffbe34) at xdisp.c:24365 + #6 0x0807f697 in expose_window_tree (w=0x8b10f58, r=0xbfffbe34) + atup xdisp.c:24438 + #7 0x08094834 in expose_frame (f=0x8b10cc8, x=95, y=252, w=99, h=5) + at xdisp.c:24495 + #8 0x0814f13c in handle_one_xevent (dpyinfo=0x8a27000, eventp=0xbfffc65c, + finish=0xbfffc3e4, hold_quit=0x0) at xterm.c:6095 + #9 0x08150db9 in x_dispatch_event (event=0xbfffc65c, display=0x89fd000) + at xterm.c:7026 + #10 0x08150e68 in event_handler_gdk (gxev=0xbfffc65c, ev=0x8a11148, data=0x0) + at xterm.c:5766 + #11 0xb7bbf558 in ?? () from /usr/lib/libgdk-x11-2.0.so.0 + #12 0xb7bc113d in ?? () from /usr/lib/libgdk-x11-2.0.so.0 + #13 0xb7bc154f in ?? () from /usr/lib/libgdk-x11-2.0.so.0 + #14 0xb782ee98 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 + #15 0x08180034 in xg_select (max_fds=10, rfds=0xbfffcba8, wfds=0x0, efds=0x0, + timeout=0xbfffcb1c) at xgselect.c:135 + #16 0x08290fdc in wait_reading_process_output (time_limit=0, microsecs=10000, + read_kbd=0, do_display=0, wait_for_cell=..., wait_proc=0x8f35708, + just_wait_proc=0) at process.c:4930 + #17 0x08294aff in Faccept_process_output (process=..., seconds=..., + millisec=..., just_this_one=...) at process.c:4311 + + Also, another caller to x_dispatch_event (xmenu.c:popup_get_selection) + also warns that the interrupts need to be blocked by its callers. + */ + BLOCK_INPUT; + if (current_count >= 0) { struct x_display_info *dpyinfo; @@ -5765,6 +5804,8 @@ else current_finish = x_dispatch_event (xev, xev->xany.display); + UNBLOCK_INPUT; + if (current_finish == X_EVENT_GOTO_OUT || current_finish == X_EVENT_DROP) return GDK_FILTER_REMOVE; From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 16 15:24:34 2010 Received: (at 5037) by debbugs.gnu.org; 16 Jan 2010 20:24:34 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NWFCE-00013j-EQ for submit@debbugs.gnu.org; Sat, 16 Jan 2010 15:24:34 -0500 Received: from pantheon-po19.its.yale.edu ([130.132.50.75]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NWFCC-00013b-R3 for 5037@debbugs.gnu.org; Sat, 16 Jan 2010 15:24:33 -0500 Received: from furry (173-14-147-246-NewEngland.hfc.comcastbusiness.net [173.14.147.246]) (authenticated bits=0) by pantheon-po19.its.yale.edu (8.12.11.20060308/8.12.11) with ESMTP id o0GKOS2E019324 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Sat, 16 Jan 2010 15:24:28 -0500 Received: by furry (Postfix, from userid 1000) id 7667BC05D; Sat, 16 Jan 2010 13:24:28 -0700 (MST) From: Chong Yidong To: Stefan Monnier Subject: Re: Asserion failure in draw_row_fringe_bitmaps Date: Sat, 16 Jan 2010 15:24:28 -0500 Message-ID: <87ska5lrwj.fsf@stupidchicken.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-YaleITSMailFilter: Version 1.2c (attachment(s) not renamed) X-Spam-Score: -5.5 (-----) X-Debbugs-Envelope-To: 5037 Cc: 5037@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.5 (-----) > I got an assertion failure in draw_row_fringe_bitmaps: > > xassert (interrupt_input_blocked); > > when resizing the frame while Gnus was waiting for network data (or > connection). > > It seems there's a BLOCK_INPUT missing somewhere long that path. > I've added a BLOCK_INPUT in event_handler_gdk and it seems to work, but > I don't understand enough of how those things work to know whether > that's the right place. Can someone confirm that the patch below > is right? It looks correct, as far as I can tell. I've checked in the fix. (I think we need to UNBLOCK_INPUT before the early return on line 5816, so I went ahead and added that to your original patch.) From debbugs-submit-bounces@debbugs.gnu.org Sat Jan 16 16:37:24 2010 Received: (at 5037) by debbugs.gnu.org; 16 Jan 2010 21:37:24 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NWGKh-0003HH-BX for submit@debbugs.gnu.org; Sat, 16 Jan 2010 16:37:23 -0500 Received: from ironport2-out.teksavvy.com ([206.248.154.183] helo=ironport2-out.pppoe.ca) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NWGKd-0003HB-5z for 5037@debbugs.gnu.org; Sat, 16 Jan 2010 16:37:21 -0500 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsQEAJHAUUvO+LMp/2dsb2JhbACBRdVshDIEij8 X-IronPort-AV: E=Sophos;i="4.49,288,1262581200"; d="scan'208";a="53906489" Received: from 206-248-179-41.dsl.teksavvy.com (HELO ceviche.home) ([206.248.179.41]) by ironport2-out.pppoe.ca with ESMTP; 16 Jan 2010 16:37:14 -0500 Received: by ceviche.home (Postfix, from userid 20848) id 9B98BB464D; Sat, 16 Jan 2010 16:37:13 -0500 (EST) From: Stefan Monnier To: Chong Yidong Subject: Re: Asserion failure in draw_row_fringe_bitmaps Message-ID: References: <87ska5lrwj.fsf@stupidchicken.com> Date: Sat, 16 Jan 2010 16:37:13 -0500 In-Reply-To: <87ska5lrwj.fsf@stupidchicken.com> (Chong Yidong's message of "Sat, 16 Jan 2010 15:24:28 -0500") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Spam-Score: -2.0 (--) X-Debbugs-Envelope-To: 5037 Cc: 5037@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.0 (--) > It looks correct, as far as I can tell. I've checked in the fix. > (I think we need to UNBLOCK_INPUT before the early return on line 5816, > so I went ahead and added that to your original patch.) Thanks, Stefan From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 19 02:04:14 2010 Received: (at 5037) by debbugs.gnu.org; 19 Jan 2010 07:04:15 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NX88M-0004wg-HW for submit@debbugs.gnu.org; Tue, 19 Jan 2010 02:04:14 -0500 Received: from proxy1.bredband.net ([195.54.101.71]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NX88K-0004wa-87 for 5037@debbugs.gnu.org; Tue, 19 Jan 2010 02:04:12 -0500 Received: from ipb2.telenor.se (195.54.127.165) by proxy1.bredband.net (7.3.140.3) id 4AD3E1C002756C16 for 5037@debbugs.gnu.org; Tue, 19 Jan 2010 08:04:08 +0100 X-SMTPAUTH-B2: X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ap1IAGroVEtV4S1uPGdsb2JhbACBRoIbhFWTQAEBAQE3qy2NbYEteIE4VgQ X-IronPort-AV: E=Sophos;i="4.49,302,1262559600"; d="scan'208";a="27588215" Received: from c-6e2de155.25-1-64736c10.cust.bredbandsbolaget.se (HELO coolsville.localdomain) ([85.225.45.110]) by ipb2.telenor.se with ESMTP; 19 Jan 2010 08:04:08 +0100 Received: from [172.20.199.2] (gaffa [172.20.199.2]) by coolsville.localdomain (Postfix) with ESMTP id 8B5FC7FA01A; Tue, 19 Jan 2010 08:04:07 +0100 (CET) Message-ID: <4B555967.3090103@swipnet.se> Date: Tue, 19 Jan 2010 08:04:07 +0100 From: =?UTF-8?B?SmFuIERqw6Rydg==?= User-Agent: Thunderbird 2.0.0.23 (X11/20090817) MIME-Version: 1.0 To: cyd@stupidchicken.com, Stefan Monnier Subject: bug#5037: Asserion failure in draw_row_fringe_bitmaps Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -2.9 (--) X-Debbugs-Envelope-To: 5037 Cc: 5037@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.9 (--) >> It looks correct, as far as I can tell. I've checked in the fix. >> (I think we need to UNBLOCK_INPUT before the early return on line 5816, >> so I went ahead and added that to your original patch.) > > Thanks, > I don't understand this. The function where the BLOCK_INPUT is added is always called in the event loop (i.e. the signal handler). The purpose of BLOCK_INPUT is to prevent the signal handler from running when normal code is executed, which can't happen in this case, as we already are in the signal handler. If we are useing SYNC_INPUT, none of this is needed anyway. So the assertion is wrong, it should either check for BLOCK_INPUT or running in the signal handler. The addition of BLOCK_INPUT in the code now kind of indicates that the function is callable outside the event loop, which is false. Why does draw_row_fringe_bitmaps need to have input blocked? If it does, why doesn't it block input? They are nestable. Jan D. From debbugs-submit-bounces@debbugs.gnu.org Fri Feb 13 23:39:54 2015 Received: (at control) by debbugs.gnu.org; 14 Feb 2015 04:39:54 +0000 Received: from localhost ([127.0.0.1]:42532 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMUWI-0003Uk-Aw for submit@debbugs.gnu.org; Fri, 13 Feb 2015 23:39:54 -0500 Received: from pruche.dit.umontreal.ca ([132.204.246.22]:56369) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YMUWG-0003Ub-5I for control@debbugs.gnu.org; Fri, 13 Feb 2015 23:39:52 -0500 Received: from fmsmemgm.homelinux.net (lechon.iro.umontreal.ca [132.204.27.242]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id t1E4dnqG009882 for ; Fri, 13 Feb 2015 23:39:49 -0500 Received: by fmsmemgm.homelinux.net (Postfix, from userid 20848) id 7AC9BAE0CA; Fri, 13 Feb 2015 23:39:49 -0500 (EST) From: Stefan Monnier To: control@debbugs.gnu.org Subject: Re: bug#18413: Inline part displayed in the middle of its button Message-ID: References: Date: Fri, 13 Feb 2015 23:39:49 -0500 In-Reply-To: (Stefan Monnier's message of "Fri, 31 Oct 2014 10:26:33 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-NAI-Spam-Flag: NO X-NAI-Spam-Level: X-NAI-Spam-Threshold: 5 X-NAI-Spam-Score: 0.2 X-NAI-Spam-Rules: 2 Rules triggered GEN_SPAM_FEATRE=0.2, RV5216=0 X-NAI-Spam-Version: 2.3.0.9393 : core <5216> : inlines <2181> : streams <1389914> : uri <1854855> X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.3 (-) close 4942 close 5037 close 6713 close 9787 close 12823 close 6333 thanks From unknown Sat Jun 21 10:38:21 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 14 Mar 2015 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator