From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.bugs Subject: bug#45159: 28.0.50; crash when no space on disk Date: Sat, 12 Dec 2020 04:36:20 +0300 Message-ID: References: <83im994u4k.fsf@gnu.org> <837dpp4m9d.fsf@gnu.org> <83ft4c3gnq.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13727"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.0 (3d08634) (2020-11-07) Cc: 45159@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Dec 12 02:41:25 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kntuX-0003UF-GF for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 12 Dec 2020 02:41:25 +0100 Original-Received: from localhost ([::1]:49112 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kntuW-0002Bs-JA for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 11 Dec 2020 20:41:24 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55788) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kntuA-0002Bd-4z for bug-gnu-emacs@gnu.org; Fri, 11 Dec 2020 20:41:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:60346) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kntu9-0006Nj-TZ for bug-gnu-emacs@gnu.org; Fri, 11 Dec 2020 20:41:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kntu9-0000Ns-QM for bug-gnu-emacs@gnu.org; Fri, 11 Dec 2020 20:41:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jean Louis Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 12 Dec 2020 01:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45159 X-GNU-PR-Package: emacs Original-Received: via spool by 45159-submit@debbugs.gnu.org id=B45159.16077372501450 (code B ref 45159); Sat, 12 Dec 2020 01:41:01 +0000 Original-Received: (at 45159) by debbugs.gnu.org; 12 Dec 2020 01:40:50 +0000 Original-Received: from localhost ([127.0.0.1]:43659 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knttx-0000NJ-Oi for submit@debbugs.gnu.org; Fri, 11 Dec 2020 20:40:50 -0500 Original-Received: from stw1.rcdrun.com ([217.170.207.13]:46571) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knttw-0000N4-3R for 45159@debbugs.gnu.org; Fri, 11 Dec 2020 20:40:49 -0500 Original-Received: from localhost ([::ffff:41.202.241.42]) (AUTH: PLAIN securesender, TLS: TLS1.2,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 00000000000442C7.000000005FD41F98.00007A3C; Fri, 11 Dec 2020 18:40:40 -0700 Content-Disposition: inline In-Reply-To: <83ft4c3gnq.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:195819 Archived-At: * Eli Zaretskii [2020-12-11 11:13]: > > Date: Fri, 11 Dec 2020 00:23:23 +0300 > > From: Jean Louis > > Cc: 45159@debbugs.gnu.org > >=20 > > > > Additionally I can see that if there is any package like > > > > persistent-scratch, Emacs cannot be killed with C-x C-c as package > > > > asked to be saved. There is no way to exit Emacs is disk space is f= ull > > > > and some package want to save data on exit. > > >=20 > > > That is also a bug. > >=20 > > Business of debugging makes my computer frozen. This time I have > > attached gdb to Emacs and it did not crash. I could not do > > anything. Operation interrupted and I could not do just nothin with > > Emacs. xkilled it, and madde bt full which is attached. I will try > > tomorrow again. >=20 > What Emacs command triggered the problem which happened before you > attached GDB? Above, you are talking about not being able to kill > Emacs with "C-x C-c" when persistent-scratch is used -- is that what > you did there before attaching GDB? I use persistent scratch all the time. In few first attempts, Emacs crashed when hard disk was not enough. It was working full time without user interactions as it was handling the database processing for many minutes iterating over 200000+ numbers and for each number looking into how many emails belong to specific person and how many SMS, chat and other interactions each person have got and recording it to the database by using dynamic module emacs-libpq. In the subsequent attempt to crash Emacs and find the bug instead of crushing it stopped its job or work, debugge opened, but I was not able to do anything like using keyboard, or C-g multiple times or similar. > > #0 0x00007f15991dedb0 in raise () at /lib/libpthread.so.0 > > #1 0x0000000000418ccd in terminate_due_to_signal (sig=3Dsig@entry=3D6,= backtrace_limit=3Dbacktrace_limit@entry=3D40) at emacs.c:408 > > #2 0x0000000000418ea0 in emacs_abort () at sysdep.c:2282 > > #3 0x000000000045a4ec in redisplay_internal () at xdisp.c:15474 >=20 > What do you have on line 15474 of xdisp.c in the source tree from > which this binary was produced? I don't think I understand how > redisplay_internal called emacs_abort in this case. /* No redisplay if running in batch mode or frame is not yet fully 15474 initialized, or redisplay is explicitly turned off by setting Vinhibit_redisplay. */ if ((FRAME_INITIAL_P (SELECTED_FRAME ()) && redisplay_skip_initial_frame) || !NILP (Vinhibit_redisplay)) return; By the way, when opening xdisp.c I got this error: Debugger entered--Lisp error: (error "Invalid face" font-lock-warning-face) internal-copy-lisp-face(font-lock-warning-face c-nonbreakable-space-face = # nil) copy-face(font-lock-warning-face c-nonbreakable-space-face #) copy-face(font-lock-warning-face c-nonbreakable-space-face) c-make-inverse-face(font-lock-warning-face c-nonbreakable-space-face) (if (c-face-name-p 'c-nonbreakable-space-face) nil (c-make-inverse-face '= font-lock-warning-face 'c-nonbreakable-space-face)) (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face '= font-lock-warning-face 'c-nonbreakable-space-face)) (progn (unless (c-face-name-p 'c-nonbreakable-space-face) (c-make-inverse= -face 'font-lock-warning-face 'c-nonbreakable-space-face)) ''c-nonbreakable= -space-face) (list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-face) = (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-face)) '= 'c-nonbreakable-space-face)) eval((list "\240" 0 (progn (unless (c-face-name-p 'c-nonbreakable-space-f= ace) (c-make-inverse-face 'font-lock-warning-face 'c-nonbreakable-space-fac= e)) ''c-nonbreakable-space-face))) font-lock-compile-keyword((eval list "\240" 0 (progn (unless (c-face-name= -p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-face= 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face))) mapcar(font-lock-compile-keyword (c-font-lock-complex-decl-prepare (#f(co= mpiled-function (limit) #)) c-maybe-font-lock= -wrong-style-comments ("\\(\\=3D\\|\\(\\=3D\\|[^\\]\\)[\n\15]\\)\\s *#\\s *= \\(\\(?:error\\|warn..." 4 font-lock-string-face t) (#f(compiled-function (= limit) #)) (#f(compiled-function (limit) #)) (#f(compiled-function (limit) #)) (#f(compiled-function (limit) #)) (eval list #f(compiled-function (limit) #) = 3 c-negation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-= face-name-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-war= ning-face 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) ("\\s|= " 0 font-lock-warning-face t nil) c-font-lock-invalid-single-quotes (eval l= ist "\\<\\(\\(?:NULL\\|\\(?:fals\\|tru\\)e\\)\\)\\>" 1 c-constant-face-name= ) ("\\<\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspe..." 1 font= -lock-keyword-face) (eval list "\\(!\\)[^=3D]" 1 c-negation-char-face-name)= c-font-lock-cut-off-declarators c-font-lock-declarations c-font-lock-enclo= sing-decls c-font-lock-c++-using ("\\<\\(\\(?:_\\(?:Bool\\|Complex\\|Imagin= ary\\)\\|char\\|dou..." 1 'font-lock-type-face) c-font-lock-enum-tail c-fon= t-lock-enum-body (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[= :alnum:]_$]*..." (list 2 c-label-face-name nil t)))) font-lock-compile-keywords((c-font-lock-complex-decl-prepare (#f(compiled= -function (limit) #)) c-maybe-font-lock-wrong= -style-comments ("\\(\\=3D\\|\\(\\=3D\\|[^\\]\\)[\n\15]\\)\\s *#\\s *\\(\\(= ?:error\\|warn..." 4 font-lock-string-face t) (#f(compiled-function (limit)= #)) (#f(compiled-function (limit) #)) (#f(compiled-function (limit) #)) (#f(compiled-function (limit) #)) (e= val list #f(compiled-function (limit) #) 3 c-ne= gation-char-face-name 'append) (eval list "\240" 0 (progn (unless (c-face-n= ame-p 'c-nonbreakable-space-face) (c-make-inverse-face 'font-lock-warning-f= ace 'c-nonbreakable-space-face)) ''c-nonbreakable-space-face)) ("\\s|" 0 fo= nt-lock-warning-face t nil) c-font-lock-invalid-single-quotes (eval list "\= \<\\(\\(?:NULL\\|\\(?:fals\\|tru\\)e\\)\\)\\>" 1 c-constant-face-name) ("\\= <\\(\\(?:__\\(?:a\\(?:\\(?:sm\\|ttribute\\)__\\)\\|declspe..." 1 font-lock-= keyword-face) (eval list "\\(!\\)[^=3D]" 1 c-negation-char-face-name) c-fon= t-lock-cut-off-declarators c-font-lock-declarations c-font-lock-enclosing-d= ecls c-font-lock-c++-using ("\\<\\(\\(?:_\\(?:Bool\\|Complex\\|Imaginary\\)= \\|char\\|dou..." 1 'font-lock-type-face) c-font-lock-enum-tail c-font-lock= -enum-body (eval list "\\<\\(\\(?:goto\\)\\)\\>\\s *\\([[:alpha:]_][[:alnum= :]_$]*..." (list 2 c-label-face-name nil t)))) font-lock-set-defaults() font-lock-mode-internal(t) font-lock-default-function(t) font-lock-mode() turn-on-font-lock() turn-on-font-lock-if-desired() global-font-lock-mode-enable-in-buffers() run-hooks(after-change-major-mode-hook) run-mode-hooks(c-mode-hook) c-mode() set-auto-mode-0(c-mode nil) set-auto-mode() normal-mode(t) after-find-file(nil t) find-file-noselect-1(# "~/Programming/Software/emacs/src/= xdisp.c" nil nil "~/Programming/Software/emacs/src/xdisp.c" (55584502 65024= )) find-file-noselect("/home/data1/protected/Programming/Software/emacs/s...= " nil nil nil) find-file("/home/data1/protected/Programming/Software/emacs/s...") dired-find-file() funcall-interactively(dired-find-file) call-interactively(dired-find-file nil nil) command-execute(dired-find-file) >=20 > > #7 0x00000000004f3223 in shut_down_emacs (sig=3Dsig@entry=3D6, stuff= =3Dstuff@entry=3D0x0) at emacs.c:2450 > > tpgrp =3D > > #8 0x0000000000418c9e in terminate_due_to_signal (sig=3Dsig@entry=3D6,= backtrace_limit=3Dbacktrace_limit@entry=3D40) at emacs.c:391 > > #9 0x0000000000418ea0 in emacs_abort () at sysdep.c:2282 > > #10 0x000000000045c2a2 in message3_nolog (m=3Dm@entry=3D0x4ccd694) at x= disp.c:11117 > > sf =3D >=20 > Likewise here: what do you have on line 11117 of xdisp.c, in > message3_nolog function? I don't understand how emacs_abort got > called here, either. /* The non-logging version of message3. This does not cancel echoing, because it is used for echoing. Perhaps we need to make a separate function for echoing and make this cancel echoing. */ void 11117: message3_nolog (Lisp_Object m) { struct frame *sf =3D SELECTED_FRAME (); if (FRAME_INITIAL_P (sf)) message_to_stderr (m); /* Error messages get reported properly by cmd_error, so this must be jus= t an informative message; if the frame hasn't really been initialized yet, = just toss it. */ else if (INTERACTIVE && sf->glyphs_initialized_p) { /* Get the frame containing the mini-buffer that the selected frame is using. */ Lisp_Object mini_window =3D FRAME_MINIBUF_WINDOW (sf); Lisp_Object frame =3D XWINDOW (mini_window)->frame; struct frame *f =3D XFRAME (frame); if (FRAME_VISIBLE_P (sf) && !FRAME_VISIBLE_P (f)) Fmake_frame_visible (frame); if (STRINGP (m) && SCHARS (m) > 0) { set_message (m); if (minibuffer_auto_raise) Fraise_frame (frame); /* Assume we are not echoing. (If we are, echo_now will override this.) */ echo_message_buffer =3D Qnil; } else clear_message (true, true); do_pending_window_change (false); echo_area_display (true); do_pending_window_change (false); if (FRAME_TERMINAL (f)->frame_up_to_date_hook) (*FRAME_TERMINAL (f)->frame_up_to_date_hook) (f); } }