Subject: 24.0.50; weird emacs bugs causing data lossage

From: [email-masked]
Date: Sun, 10 Apr 2011 21:39:55 +0200

* weird emacs bugs causing data lossage
<2011-04-10 Sun>
the journal.organisation file gets cropped to only these two
characters; **

it happens when I do an org capture and org narrows the
buffer. the croping happens on disk for some reason which emacs
detects. Maybe autosave didnt understand the buffer narrowing.

Emacs ask if I really want to edit the buffer and I say
no. Then Emacs redisplay seems to hang.

This happened several times. Most times I had to kill emacs and loose
my work. This time I tried more debugging. Lately I run Emacs in a
debugger. Weirdly gdb refused to break itho a prompt. ctrl z and fg
woke up gdb. Then I tried strace and noticed emacs was polling a
select repetadly which is maybe normal. The broken emacs was still
stuck at the minibuffer prompt. 

it occured to me that maybe Emacs wasnt totaly hung maybe just
redisplay. So I tested emacs client and I could recover data like
this:

 emacsclient -e "(let ((b (set-buffer \"journal.org\")) (text  (buffer-string))) (set-text-properties 0 (length text) nil text)text)"

There are two weird things here:
- the file was truncated. Maybe this is due to a combination of
  narrowing and automatic save.
- redisplay hangs in minibuffer input. I have no idea about why this
  happens.

So. Probably several strange bugs conspiring together.

In GNU Emacs 24.0.50.3 (x86_64-unknown-linux-gnu, GTK+ Version 2.22.0)
 of 2011-04-09 on chopper
Windowing system distributor `Fedora Project', version 11.0.10905000
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
  value of $XMODIFIERS: @im=none
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Org

Minor modes in effect:
  predictive-which-dict-mode: t
  auto-completion-mode: t
  shell-dirtrack-mode: t
  erc-truncate-mode: t
  erc-track-mode: t
  erc-spelling-mode: t
  erc-ring-mode: t
  erc-pcomplete-mode: t
  erc-netsplit-mode: t
  erc-log-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-autojoin-mode: t
  erc-autoaway-mode: t
  ido-everywhere: t
  erc-stamp-mode: t
  erc-match-mode: t
  delete-selection-mode: t
  show-paren-mode: t
  erc-smiley-mode: t
  erc-irccontrols-mode: t
  recentf-mode: t
  which-function-mode: t
  grab-and-drag-mode: t
  yas/global-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
<return> C-x C-x C-s <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <down> <up> <C-right> 
<C-right> <C-left> <C-left> <right> <C-right> <right> 
<right> M a y b e SPC a u t o s a v e SPC d i d n t 
SPC u n d e r s t a h <backspace> h <backspace> h <backspace> 
t <backspace> SPC t h e SPC b u f f e r SPC n a r r 
o w i n g . <return> <return> <right> <right> <right> 
<right> <right> <right> <right> C-x C-s <down> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <C-right> 
<C-right> s C-x C-s <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <up> <up> <up> <C-right> 
<C-right> <C-right> <C-right> <C-right> <C-right> <C-right> 
<backspace> <backspace> e <down> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> C-a C-x C-s C-SPC <C-down> <C-down> 
<C-down> <C-down> <C-down> <C-down> <C-down> <C-down> 
<C-down> M-w <return> S o . SPC P r o b a b l y SPC 
s e v e r a l SPC s t r a n g e SPC b u g s SPC c o 
s <backspace> n s p i r i n g SPC t o g e t h . C-x 
C-s <return> C-SPC <C-up> <C-up> <C-up> <C-up> <C-up> 
<C-up> <C-up> <C-up> <C-up> <C-up> <up> M-w C-x C-s 
<menu> r e p o r SPC e m SPC SPC <return>

Recent messages:
byte-code: End of buffer [3 times]
Saving file /home/joakim/Plans/Emacs.org...
Wrote /home/joakim/Plans/Emacs.org
Mark set
Auto-saving...
Saving file /home/joakim/Plans/Emacs.org...
Wrote /home/joakim/Plans/Emacs.org
Mark set
Saving file /home/joakim/Plans/Emacs.org...
Wrote /home/joakim/Plans/Emacs.org

Load-path shadows:
/home/joakim/.elisp/cedet/semantic/wisent/wisent-javascript-jv-wy hides /home/joakim/.elisp/wisentjs/wisent-javascript-jv-wy
/home/joakim/.elisp/javascript-mode hides /home/joakim/.elisp/mdee/javascript-mode
/home/joakim/.elisp/tuareg-mode-1.45.0/camldebug hides /home/joakim/.elisp/caml/camldebug
/home/joakim/.elisp/confluence-el/xml-rpc hides /home/joakim/.emacs.d/elpa/xml-rpc-1.6.7/xml-rpc
/home/joakim/.elisp/cedet/common/ezimage hides /usr/local/share/emacs/24.0.50/lisp/ezimage
/home/joakim/.elisp/cedet/speedbar/sb-image hides /usr/local/share/emacs/24.0.50/lisp/sb-image
/home/joakim/.elisp/cedet/speedbar/speedbar hides /usr/local/share/emacs/24.0.50/lisp/speedbar
/home/joakim/.elisp/cedet/speedbar/dframe hides /usr/local/share/emacs/24.0.50/lisp/dframe
/home/joakim/.elisp/sclang/tree-widget hides /usr/local/share/emacs/24.0.50/lisp/tree-widget
/home/joakim/.emacs.d/elpa/json-1.2/json hides /usr/local/share/emacs/24.0.50/lisp/json
/home/joakim/.elisp/emacs-planner/remember/remember hides /usr/local/share/emacs/24.0.50/lisp/textmodes/remember
~/.emacs.d/predictive/avl-tree hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/avl-tree
/home/joakim/.elisp/cedet/eieio/eieio-speedbar hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/eieio-speedbar
/home/joakim/.elisp/cedet/eieio/eieio-custom hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/eieio-custom
/home/joakim/.elisp/cedet/eieio/eieio-opt hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/eieio-opt
/home/joakim/.elisp/cedet/eieio/chart hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/chart
/home/joakim/.elisp/cedet/eieio/eieio-base hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/eieio-base
/home/joakim/.elisp/cedet/eieio/eieio hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/eieio
/home/joakim/.emacs.d/elpa/emms-3.0/tq hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/tq
/home/joakim/.emacs.d/elpa/ert-0.1/ert hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/ert
/home/joakim/.elisp/cedet/eieio/eieio-datadebug hides /usr/local/share/emacs/24.0.50/lisp/emacs-lisp/eieio-datadebug
/home/joakim/.elisp/cedet/common/cedet-idutils hides /usr/local/share/emacs/24.0.50/lisp/cedet/cedet-idutils
/home/joakim/.elisp/cedet/common/inversion hides /usr/local/share/emacs/24.0.50/lisp/cedet/inversion
/home/joakim/.elisp/cedet/ede/ede hides /usr/local/share/emacs/24.0.50/lisp/cedet/ede
/home/joakim/.elisp/cedet/common/data-debug hides /usr/local/share/emacs/24.0.50/lisp/cedet/data-debug
/home/joakim/.elisp/cedet/semantic/semantic hides /usr/local/share/emacs/24.0.50/lisp/cedet/semantic
/home/joakim/.elisp/cedet/common/cedet hides /usr/local/share/emacs/24.0.50/lisp/cedet/cedet
/home/joakim/.elisp/cedet/srecode/srecode hides /usr/local/share/emacs/24.0.50/lisp/cedet/srecode
/home/joakim/.elisp/cedet/common/pulse hides /usr/local/share/emacs/24.0.50/lisp/cedet/pulse
/home/joakim/.elisp/cedet/common/mode-local hides /usr/local/share/emacs/24.0.50/lisp/cedet/mode-local
/home/joakim/.elisp/cedet/common/cedet-files hides /usr/local/share/emacs/24.0.50/lisp/cedet/cedet-files
/home/joakim/.elisp/cedet/common/cedet-cscope hides /usr/local/share/emacs/24.0.50/lisp/cedet/cedet-cscope
/home/joakim/.elisp/cedet/common/cedet-global hides /usr/local/share/emacs/24.0.50/lisp/cedet/cedet-global

Features:
(shadow gnus-cite mail-extr emacsbug newcomment mule-util cal-move
cedet-edebug debug org-timer dabbrev predictive-html auto-overlay-flat
predictive-texinfo predictive-latex predictive-auto-overlay-auto-dict
auto-overlay-nested auto-overlay-self auto-overlay-line
auto-overlay-word predictive timerfunctions auto-overlays
auto-overlay-common dict-tree trie tNFA queue heap avl-tree
completion-ui-sources completion-ui-menu pos-tip completion-ui-tooltip
completion-ui-echo completion-ui-hotkeys completion-ui-dynamic
completion-ui-popup-frame completion-ui quail org-wl org-w3m org-vm
org-rmail org-mhe org-mew org-irc org-jsinfo org-infojs org-html org-exp
ob-exp org-exp-blocks org-agenda org-info org-gnus org-docview
org-bibtex org-bbdb org ob-emacs-lisp ob-tangle ob-ref ob-lob ob-table
org-footnote org-src ob-comint ob-keys ob ob-eval org-complete org-list
org-faces org-compat org-entities org-macs semantic-tag-write
semanticdb-typecache semantic-tag-file vc-git semanticdb-file
semantic-edit filecache bookmark shell jka-compr multi-isearch apropos
woman man help-mode ielm semantic-el semantic-bovine bovine-debug
semantic-debug paredit zoom-frm frame-cmds frame-fns avoid emvkbd view
boxquote rect grep-edit winner browse-kill-ring jv-timeclock ses unsafep
timeclock-visualize auto-edit-substitute erc-truncate erc-track
erc-spelling flyspell ispell erc-ring erc-pcomplete erc-netsplit erc-log
erc-button erc-fill erc-join erc-autoaway zen-1-theme tsdh-dark-theme
sha1 hex-util image-file fsdired hide-lines memory-usage my-eshell
dired-x ido pager uniquify emms-jave emms-player-mymplayer emms-volume
emms-volume-amixer emms-tag-editor emms-i18n emms-mark emms-history
emms-bookmarks emms-last-played emms-stream-info emms-metaplaylist-mode
emms-lastfm emms-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-util url-parse url-vars emms-browser
emms-playlist-sort emms-score emms-player-xine emms-player-mpd tq
emms-playing-time emms-lyrics emms-streams emms-mode-line emms-cache
emms-info-ogginfo emms-info-mp3info emms-info later-do
emms-playlist-mode emms-player-mplayer emms-player-simple
emms-source-playlist emms-source-file emms-dbus emms-setup emms
emms-compat erc-stamp erc-match erc-ezbounce ansi-color delsel paren
pcomplete plannerinit muse-backlink remember-planner remember noutline
outline planner-cyclic solar cal-dst cal-bahai holidays hol-loaddefs
ede-linux ede-emacs ede-cpp-root planner-appt appt diary-lib
diary-loaddefs planner-tasks-overview planner-erc erc-goodies erc
erc-backend erc-compat pp planner-gnus gnus-msg gnus-art mm-uu mml2015
epg-config mm-view mml-smime smime dig mailcap nnir gnus-sum nnoo
gnus-group gnus-undo nnmail mail-source gnus-start gnus-spec gnus-int
gnus-range gnus-win message sendmail mml mml-sec mailabbrev gmm-utils
mailheader gnus gnus-ems nnheader mail-utils planner-multi crm
planner-publish muse-xml muse-latex muse-wiki planner cal-menu calendar
cal-loaddefs muse-html muse-xml-common muse-colors cus-edit cus-start
cus-load muse-publish muse-project muse-protocols muse-regexps muse
muse-nested-tags muse-mode windmove abook mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums vcard bbdb-autoloads bbdb
timezone pastebin pk-total-recall w3m-load dired-details+ dired-details
sort winring disp-table anything-config browse-url rx grep compile
dired-aux dired ffap thingatpt anything recentf tree-widget
semanticdb-java ede-proj-maven2 cedet-files cedet cedet-contrib-load
contrib-loaddefs cogre-load cogre-loaddefs speedbar-load
speedbar-loaddefs sb-info ede-load ede-loaddefs ede-speedbar ede-files
ede ede-base data-debug ede-auto eieio-speedbar semantic-ia-sb
semantic-analyze semantic-scope semantic-analyze-fcn semantic-sort
semantic-sb speedbar sb-image dframe eieio-custom wid-edit ede-source
srecode-load srecode srecode-loaddefs semantic-load
semantic-decorate-include semanticdb-find semanticdb-ref semantic-find
semantic-decorate-mode semantic-decorate pulse semantic-mru-bookmark
semanticdb-mode semanticdb-el eieio-opt semanticdb semantic-lex-spp
eieio-base semantic-idle eldoc senator which-func semantic-imenu imenu
semantic-format ezimage semantic-ctxt semantic-util-modes semantic-util
semantic semantic-lex semantic-tag-ls semantic-tag working fame
semantic-fw semantic-loaddefs mode-local find-func derived eieio-load
eieio-loaddefs cedet-load cedet-compat cedet-loaddefs inversion
generic-x jvfetchmail mailcrypt rfc822 comint ring zen-mode tramp
tramp-compat auth-source eieio byte-opt bytecomp byte-compile cconv
macroexp gnus-util time-date mm-util mail-prsvr password-cache
format-spec tramp-loaddefs regexp-opt grab-and-drag easy-mmode warnings
server timeclock battery secrets dbus xml anything-autoloads
anything-complete-autoloads anything-config-autoloads
anything-el-swank-fuzzy-autoloads anything-extension-autoloads
anything-ipython-autoloads anything-match-plugin-autoloads
c-eldoc-autoloads clojure-test-mode-autoloads
color-theme-twilight-autoloads cssh-autoloads dired-isearch-autoloads
ecb-autoloads emms-autoloads epresent-autoloads ert-autoloads
facebook-autoloads gdb-shell-autoloads gist-autoloads gtk-look-autoloads
ipython-autoloads json-autoloads lisppaste-autoloads magit-autoloads
mediawiki-autoloads muse-autoloads mv-shell-autoloads
nsis-mode-autoloads nterm-autoloads paredit-autoloads pastie-autoloads
pov-mode-autoloads rainbow-mode-autoloads smart-tab-autoloads
swank-clojure-autoloads clojure-mode-autoloads slime-repl-autoloads
slime-autoloads w3-autoloads info wtf-autoloads xml-rpc-autoloads
xtide-autoloads yaml-mode-autoloads yasnippet-bundle-autoloads
yasnippet-bundle dropdown-list advice help-fns advice-preload yasnippet
edmacro kmacro easymenu assoc cl zenburn-autoloads package
tabulated-list tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win
x-dnd tool-bar dnd fontset image fringe lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax
facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak
czech european ethiopic indian cyrillic chinese case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer loaddefs button faces
cus-face files text-properties overlay md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote
make-network-process dbusbind dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs)