Subject: 24.3.50; Emacs broken on FreeBSD in/after r113315

From: [email-masked] (Ashish SHUKLA)
Date: Mon, 19 Aug 2013 11:59:56 +0530

I'm running Emacs (from bzr) on FreeBSD 9.1-RELEASE:

FreeBSD chateau.d.if 9.1-RELEASE-p4 FreeBSD 9.1-RELEASE-p4 #2 r252052: Fri Jun 21 19:35:34 IST 2013     [email-masked]:/usr/obj/usr/src/sys/CHATEAU  amd64

Try loading Gnus in Emacs (M-x gnus RET) and Emacs won't ask for password or
do anything which one expects Gnus to do, but gets stuck in following loop (as
observed from `truss'):

#v+
read(3,0x7fffffbfde40,16)                        ERR#35 'Resource temporarily unavailable'
poll({3/POLLIN},1,-1)                            = 0 (0x0)
clock_gettime(0,{1376891669.134852029 })         = 0 (0x0)
clock_gettime(0,{1376891669.134889424 })         = 0 (0x0)
pselect(0x8,0x7ffffffe8370,0x7ffffffe82f0,0x0,0x7ffffffe8710,0x0) = 0 (0x0)
clock_gettime(0,{1376891670.135849998 })         = 0 (0x0)
clock_gettime(0,{1376891670.135895547 })         = 0 (0x0)
pselect(0x8,0x7ffffffe8370,0x7ffffffe82f0,0x0,0x7ffffffe8710,0x0) = 0 (0x0)
clock_gettime(0,{1376891671.136853320 })         = 0 (0x0)
clock_gettime(0,{1376891671.136889809 })         = 0 (0x0)
pselect(0x8,0x7ffffffe8370,0x7ffffffe82f0,0x0,0x7ffffffe8710,0x0) = 0 (0x0)
clock_gettime(0,{1376891672.137856395 })         = 0 (0x0)
clock_gettime(0,{1376891672.137896014 })         = 0 (0x0)
pselect(0x8,0x7ffffffe8370,0x7ffffffe82f0,0x0,0x7ffffffe8710,0x0) = 0 (0x0)
clock_gettime(0,{1376891673.138857987 })         = 0 (0x0)
clock_gettime(0,{1376891673.138895135 })         = 0 (0x0)
pselect(0x8,0x7ffffffe8370,0x7ffffffe82f0,0x0,0x7ffffffe8710,0x0) = 0 (0x0)
clock_gettime(0,{1376891674.139855955 })         = 0 (0x0)
clock_gettime(0,{1376891674.139890303 })         = 0 (0x0)
pselect(0x8,0x7ffffffe8370,0x7ffffffe82f0,0x0,0x7ffffffe8710,0x0) = 0 (0x0)
clock_gettime(0,{1376891675.140859689 })         = 0 (0x0)
clock_gettime(0,{1376891675.140900708 })         = 0 (0x0)
pselect(0x8,0x7ffffffe8370,0x7ffffffe82f0,0x0,0x7ffffffe8710,0x0) = 0 (0x0)
clock_gettime(0,{1376891676.141850903 })         = 0 (0x0)
clock_gettime(0,{1376891676.141885580 })         = 0 (0x0)
pselect(0x8,0x7ffffffe8370,0x7ffffffe82f0,0x0,0x7ffffffe8710,0x0) = 0 (0x0)
clock_gettime(0,{1376891677.142852908 })         = 0 (0x0)
clock_gettime(0,{1376891677.142903976 })         = 0 (0x0)
pselect(0x8,0x7ffffffe8370,0x7ffffffe82f0,0x0,0x7ffffffe8710,0x0) = 0 (0x0)
clock_gettime(0,{1376891678.143854994 })         = 0 (0x0)
clock_gettime(0,{1376891678.143890907 })         = 0 (0x0)
#v-

Or try compiling Gnus git:

#v+
URLDIR="/usr/share/emacs/24.0.50/lisp/url/" W3DIR="no" lispdir="/usr/share/emacs/site-lisp/gnus" srcdir=. emacs -batch -q -no-site-file -l ./dgnushack.el -f dgnushack-make-load
Generating /home/abbe/.emacs.d/elisp/gnus/lisp/gnus-load.el...
Compiling /home/abbe/.emacs.d/elisp/gnus/lisp/gnus-load.el...
URLDIR="/usr/share/emacs/24.0.50/lisp/url/" W3DIR="no" lispdir="/usr/share/emacs/site-lisp/gnus" srcdir=. emacs -batch -q -no-site-file -l ./dgnushack.el -f dgnushack-compile
No w3: Cannot open load file 
No MH variant found on the system
Wrote assistant.elc
Wrote auth-source.elc
Wrote binhex.elc
Wrote canlock.elc
Wrote color.elc
Wrote compface.elc
#v-

From my investigation bissecting commits, I found that it started in
r113315[1]. Right now, I'm composing this Email from Emacs running at
r113314 ( + diffs from r113322[2]).

Debian kFreeBSD also has a bug for this issue in their tracker as
#712974[3]. In my case, it's not specific to X11, or tty. It happens on both.

The changeset r113315 is too big for me to narrow it down, but if there is
anything you would like me test/provide to narrow down this further and fix
it, I'll be happy to.

I'm cc-ing Paul Eggert (author of r113315), in case he's some insights about this.

In GNU Emacs 24.3.50.1 (amd64-portbld-freebsd9.1, X toolkit, Xaw3d scroll bars)
 of 2013-08-19 on chateau.d.if
Windowing system distributor `The X.Org Foundation', version 11.0.11204000
Configured using:
 `configure --localstatedir=/var --with-x-toolkit=athena --with-xft
 --with-m17n-flt --with-libotf --with-imagemagick --with-gsettings
 --with-gconf --with-xim --with-sound --with-dbus --with-xml2 --with-gnutls
 --with-acl --with-file-notification=gfile --x-libraries=/usr/local/lib
 --x-includes=/usr/local/include --prefix=/usr/local --mandir=/usr/local/man
 --infodir=/usr/local/share/emacs/info/ --build=amd64-portbld-freebsd9.1
 CFLAGS='-fstack-protector -march=nocona -g' CPPFLAGS='-I/usr/local/include'
 LDFLAGS=' -L/usr/local/lib''

Important settings:
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  global-auto-complete-mode: t
  auto-complete-mode: t
  delete-selection-mode: t
  display-time-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
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
2 0 <return> / o 3 0 0 <return> <C-home> <C-end> q 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <up> <end> C-u a C-c C-k 
<up> <up> <up> <down> <down> <return> 3 0 <return> 
<C-end> <return> C-u g C-x o <C-end> <C-home> q <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> <return> / o 3 0 0 <C-home> 
<C-home> C-s P a u l S-SPC E g g <up> <up> <up> <down> 
<return> <C-end> <up> q <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> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <up> 
<up> <up> <up> <up> <up> <up> <up> <up> <up> <up> <up> 
<up> <up> <up> <up> <up> <up> <up> <down-mouse-1> <mouse-movement> 
<mouse-1> <down-mouse-1> <mouse-1> C-u a B <backspace> 
e a m <backspace> <backspace> m a c s - d e v e l C-c 
C-k y e s <return> <up> <return> 2 0 <return> <C-end> 
<return> <down-mouse-1> <mouse-1> <help-echo> <down-mouse-2> 
<mouse-1> C-c C-k y e s <return> q <up> <down> <up> 
<end> C-u a <down-mouse-1> <mouse-1> C-c C-k <down-mouse-1> 
<mouse-movement> <mouse-1> C-z c M-x r e p o r <tab> 
e <backspace> b u <tab> <return>

Recent messages:
Mark set [2 times]
Mark saved where search started
Mark set
Exiting summary buffer and applying spam rules
Mark set [8 times]
nnimap read 0k from localhost
Can't find directory separator in global.SCORE
No more unseen articles
Mark set [10 times]
Exiting summary buffer and applying spam rules

Load-path shadows:
/home/abbe/.emacs.d/elisp/apel/env hides /usr/local/share/emacs/24.3.50/lisp/env
/home/abbe/.emacs.d/elisp/apel/timezone hides /usr/local/share/emacs/24.3.50/lisp/timezone
/home/abbe/.emacs.d/elisp/full-ack/.dir-locals hides /usr/local/share/emacs/24.3.50/lisp/gnus/.dir-locals

Features:
(shadow emacsbug sendmail misearch multi-isearch sort smiley flow-fill
mm-archive gnus-bcklg flyspell ispell gnus-cite hashcash footnote nnir pp
gnus-async qp gnus-ml disp-table gnus-topic utf-7 nndraft nnmh nnmaildir
epa-file epa epg network-stream starttls nnimap parse-time utf7 netrc
bbdb-gnus bbdb-snarf mail-extr nnnil gnus-agent gnus-srvr gnus-score
score-mode nnvirtual nntp gnus-cache spam spam-stat bbdb-com bbdb gnus-uu yenc
gnus-msg gnus-art mm-uu mml2015 epg-config mm-view mml-smime smime dig mm-url
nnmairix nnml gnus-sum gnus-group gnus-undo nnmail mail-source nnoo supercite
regi w3m browse-url doc-view jka-compr dired image-mode w3m-hist w3m-fb
bookmark-w3m w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util
gnus-start gnus-spec gnus-int gnus-range message idna rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader gnus-win gnus
gnus-ems nnheader mail-utils server wombat-theme tramp tramp-compat
tramp-loaddefs trampver shell geiser blog metaweblog xml-rpc timezone url-http
tls url url-proxy url-privacy url-expand url-methods url-history mailcap
url-auth mail-parse rfc2231 rfc2047 rfc2045 ietf-drums url-cookie url-domsuf
url-util url-parse auth-source eieio eieio-core gnus-util mm-util mail-prsvr
password-cache url-gw url-vars xml muse-html muse-xml-common cus-edit
cus-start cus-load muse-publish muse-project muse-protocols info muse-regexps
wid-edit derived muse muse-nested-tags muse-mode org-agenda org byte-opt
warnings bytecomp byte-compile cconv ob-tangle ob-ref ob-lob ob-table
org-footnote org-src ob-comint ob-keys org-pcomplete pcomplete comint
ansi-color ring org-list org-faces org-entities noutline outline org-version
ob-emacs-lisp ob org-compat org-macs ob-eval org-loaddefs format-spec
find-func cal-menu easymenu calendar cal-loaddefs auto-complete-config
auto-complete easy-mmode popup slime-autoloads clojure-mode edmacro kmacro
scim-bridge mule-util advice help-fns alist pym static apel-ver product
elscreen bbdb-autoloads w3m-load erlang-start boxquote cl-macs gv rect cl
cl-loaddefs cl-lib delsel time paren uniquify nadvice go-mode-load time-date
tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-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
macroexp files text-properties overlay sha1 md5 base64 format env code-pages
mule custom widget hashtable-print-readable backquote make-network-process
dbusbind gfilenotify dynamic-setting system-font-setting font-render-setting
x-toolkit x multi-tty emacs)

References:
[1]  http://bzr.savannah.gnu.org/lh/emacs/trunk/revision/113315
[2]  http://bzr.savannah.gnu.org/lh/emacs/trunk/revision/113322
[3]  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=712974

Thanks
-- 
Ashish SHUKLA

“Let others praise ancient times; I am glad I was born in these.” (Ovid (43
B.C. - A.D. 18))

Sent from my Emacs