bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

infinite loop from unwriteable backup files


From: Ken Olum
Subject: infinite loop from unwriteable backup files
Date: Tue, 22 Jan 2008 12:53:29 -0500

In GNU Emacs 22.1.1 (x86_64-mandrake-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2007-09-19 on deborah.mandriva.com, modified by Mandriva

If you try to modify a file in a write-protected directory in which
there is already a backup file for the file you are editing, then
emacs goes into an infinite loop when you attempt to save the modified
buffer.  To reproduce this bug:

    mkdir test
    touch test/foo.bar
    touch test/foo.bar~
    chmod ugo-w test
    emacs test/foo.bar

Modify the buffer, type C-x C-s.  Emacs runs forever.

Enclosed below is a backtrace obtained by (previously) setting debug-on-quit and
typing C-g as it tries to save the file.

                                        Ken

----------------------------------------------------------------------

 delete-file("/home/kdo/test/foo.bar~")
  byte-code("ÂÃďˆÅ      ÂÆ$ˆÂ‡" [from-name to-name nil 
(delete-file to-name) ((file-error)) copy-file t] 5)
  backup-buffer-copy("/home/kdo/test/foo.bar" "/home/kdo/test/foo.bar~" 420)
  byte-code("„c      „c\nƒÆÇ\nÈ\"W„cÉÊ!!ƒc\fƒ)Ë!ÌV„c
„3¨ƒmÍ!
„TÎ8¨…_¨…_Î8X…_Ï8†_Ð!?)ƒmÑ\n#ˆ‚zÒ
Ó#ˆ\nBƇ" [file-precious-flag backup-by-copying modes real-file-name 
backup-by-copying-when-linked backup-by-copying-when-mismatch 0 logand 3072 
file-writable-p file-name-directory file-nlinks 1 file-attributes 2 9 
file-ownership-preserved-p backup-buffer-copy rename-file t 
backup-by-copying-when-privileged-mismatch attr backupname setmodes] 4)
  byte-code("…      Æ=„ Ç=… †ÈÉÊ\n\"!Ë!ÇÌ͏ˆÆ      
ƒ:ƒ:ÇÎϏˆA‰„.*‡" [targets delete-old-versions real-file-name 
buffer-file-name modes buffer-backed-up t nil y-or-n-p format "Delete excess 
backup versions of %s? " file-modes (byte-code "„c       
„c\nƒÆÇ\nÈ\"W„cÉÊ!!ƒc\fƒ)Ë!ÌV„c
„3¨ƒmÍ!
„TÎ8¨…_¨…_Î8X…_Ï8†_Ð!?)ƒmÑ\n#ˆ‚zÒ
Ó#ˆ\nBƇ" [file-precious-flag backup-by-copying modes real-file-name 
backup-by-copying-when-linked backup-by-copying-when-mismatch 0 logand 3072 
file-writable-p file-name-directory file-nlinks 1 file-attributes 2 9 
file-ownership-preserved-p backup-buffer-copy rename-file t 
backup-by-copying-when-privileged-mismatch attr backupname setmodes] 4) 
((file-error ...)) (byte-code "Á@!‡" [targets delete-file] 2) ((file-error)) 
setmodes] 5)
  backup-buffer()
  basic-save-buffer-2()
  basic-save-buffer-1()
  basic-save-buffer()
  save-buffer(1)
  call-interactively(save-buffer)


----------------------------------------------------------------------
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: en_US.UTF-8
  value of $LC_CTYPE: en_US.UTF-8
  value of $LC_MESSAGES: en_US.UTF-8
  value of $LC_MONETARY: en_US.UTF-8
  value of $LC_NUMERIC: en_US.UTF-8
  value of $LC_TIME: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8
  default-enable-multibyte-characters: t

Major mode: Apropos

Minor modes in effect:
  shell-dirtrack-mode: t
  show-paren-mode: t
  tooltip-mode: t
  mouse-wheel-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
  line-number-mode: t




reply via email to

[Prev in Thread] Current Thread [Next in Thread]