GNU bug report logs - #25210
25.1; shr-use-font nil may use too much memory

Previous Next

Package: emacs;

Reported by: Christophe Troestler <Christophe.Troestler <at> umons.ac.be>

Date: Thu, 15 Dec 2016 17:02:01 UTC

Severity: normal

Found in version 25.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 25210 in the body.
You can then email your comments to 25210 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#25210; Package emacs. (Thu, 15 Dec 2016 17:02:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Christophe Troestler <Christophe.Troestler <at> umons.ac.be>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 15 Dec 2016 17:02:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Christophe Troestler <Christophe.Troestler <at> umons.ac.be>
To: <bug-gnu-emacs <at> gnu.org>
Subject: 25.1; shr-use-font nil may use too much memory
Date: Thu, 15 Dec 2016 12:29:52 +0100
[Message part 1 (text/plain, inline)]
Dear Emacs maintainers,

I use shr to render HTML emails in Emacs.  As I prefer non-proportional 
fonts, I set

   (setq shr-use-fonts nil)

However, with some messages, Emacs started to use all system memory.  If 
shr-use-fonts is t, the rendering is fine.  Attached is a curated 
example triggering the bug: do

   (setq shr-use-fonts nil)
   select the whole html
   M-x shr-render-region

(I know the HTML is invalid but this is how the email message came.)

Best regards,
C.

[x.html (text/html, attachment)]
[Message part 3 (text/plain, inline)]


In GNU Emacs 25.1.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.4)
of 2016-12-01, modified by Debian built on trouble
Windowing system distributor 'The X.Org Foundation', version 
11.0.11900000
System Description:	Debian GNU/Linux testing (stretch)

Configured using:
'configure --build x86_64-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/lib
--localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --with-pop=yes
--enable-locallisppath=/etc/emacs25:/etc/emacs:/usr/local/share/emacs/25.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/25.1/site-lisp:/usr/share/emacs/site-lisp
--with-sound=alsa --build x86_64-linux-gnu --prefix=/usr
--sharedstatedir=/var/lib --libexecdir=/usr/lib
--localstatedir=/var/lib --infodir=/usr/share/info
--mandir=/usr/share/man --with-pop=yes
--enable-locallisppath=/etc/emacs25:/etc/emacs:/usr/local/share/emacs/25.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/25.1/site-lisp:/usr/share/emacs/site-lisp
--with-sound=alsa --with-x=yes --with-x-toolkit=gtk3
--with-toolkit-scroll-bars 'CFLAGS=-g -O2
-fdebug-prefix-map=/build/emacs25-Fs4LPA/emacs25-25.1+1=. -fstack-protector-strong
-Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
-D_FORTIFY_SOURCE=2' LDFLAGS=-Wl,-z,relro'
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11
Important settings:
 value of $LC_MESSAGES: en_US.UTF-8
 value of $LC_MONETARY: en_GB.UTF-8
 value of $LC_NUMERIC: en_GB.UTF-8
 value of $LC_TIME: en_GB.UTF-8
 value of $LANG: en_US.UTF-8
 locale-coding-system: utf-8-unix

Major mode: mu4e:view

Minor modes in effect:
 shell-dirtrack-mode: t
 diff-auto-refine-mode: t
 TeX-PDF-mode: t
 erc-list-mode: t
 erc-menu-mode: t
 erc-autojoin-mode: t
 erc-ring-mode: t
 erc-networks-mode: t
 erc-pcomplete-mode: t
 erc-track-mode: t
 erc-match-mode: t
 erc-button-mode: t
 erc-fill-mode: t
 erc-stamp-mode: t
 erc-netsplit-mode: t
 erc-irccontrols-mode: t
 erc-noncommands-mode: t
 erc-move-to-prompt-mode: t
 erc-readonly-mode: t
 desktop-save-mode: t
 show-paren-mode: t
 tooltip-mode: t
 global-eldoc-mode: t
 electric-indent-mode: t
 mouse-wheel-mode: t
 menu-bar-mode: t
 file-name-shadow-mode: t
 global-font-lock-mode: t
 font-lock-mode: t
 auto-composition-mode: t
 auto-encryption-mode: t
 auto-compression-mode: t
 buffer-read-only: t
 column-number-mode: t
 line-number-mode: t
 transient-mark-mode: t

Recent messages:
Making completion list...
Invalid face reference: nil [24 times]
Making completion list...
Invalid face reference: nil [18 times]
QuitInvalid face reference: nil
Invalid face reference: nil [11 times]
Making completion list...
Invalid face reference: nil [24 times]
Making completion list...
Invalid face reference: nil [28 times]

Load-path shadows:
~/.opam/system/share/emacs/site-lisp/merlin-company hides 
~/.opam/4.03.0/share/emacs/site-lisp/merlin-company
~/.opam/system/share/emacs/site-lisp/merlin-ac hides 
~/.opam/4.03.0/share/emacs/site-lisp/merlin-ac
~/.opam/system/share/emacs/site-lisp/merlin-compat hides 
~/.opam/4.03.0/share/emacs/site-lisp/merlin-compat
~/.opam/system/share/emacs/site-lisp/merlin-iedit hides 
~/.opam/4.03.0/share/emacs/site-lisp/merlin-iedit
~/.opam/system/share/emacs/site-lisp/merlin-cap hides 
~/.opam/4.03.0/share/emacs/site-lisp/merlin-cap
~/.opam/system/share/emacs/site-lisp/merlin hides 
~/.opam/4.03.0/share/emacs/site-lisp/merlin
~/.opam/system/share/emacs/site-lisp/caml-compat hides 
~/software/OCaml/tuareg/caml-mode/caml-compat
~/.opam/system/share/emacs/site-lisp/caml-font hides 
~/software/OCaml/tuareg/caml-mode/caml-font
~/.opam/system/share/emacs/site-lisp/caml-hilit hides 
~/software/OCaml/tuareg/caml-mode/caml-hilit
~/.opam/system/share/emacs/site-lisp/inf-caml hides 
~/software/OCaml/tuareg/caml-mode/inf-caml
~/.opam/system/share/emacs/site-lisp/caml-help hides 
~/software/OCaml/tuareg/caml-mode/caml-help
~/.opam/system/share/emacs/site-lisp/caml-types hides 
~/software/OCaml/tuareg/caml-mode/caml-types
~/.opam/system/share/emacs/site-lisp/caml-xemacs hides 
~/software/OCaml/tuareg/caml-mode/caml-xemacs
~/.opam/system/share/emacs/site-lisp/camldebug hides 
~/software/OCaml/tuareg/caml-mode/camldebug
~/.opam/system/share/emacs/site-lisp/caml hides 
~/software/OCaml/tuareg/caml-mode/caml
~/.opam/system/share/emacs/site-lisp/caml-emacs hides 
~/software/OCaml/tuareg/caml-mode/caml-emacs
/home/trch/software/mu/mu4e/mu4e-headers hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-headers
/home/trch/software/mu/mu4e/mu4e-contrib hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-contrib
/home/trch/software/mu/mu4e/mu4e-context hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-context
/home/trch/software/mu/mu4e/mu4e-message hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-message
/home/trch/software/mu/mu4e/org-old-mu4e hides 
/usr/share/emacs25/site-lisp/mu4e/org-old-mu4e
/home/trch/software/mu/mu4e/mu4e hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e
/home/trch/software/mu/mu4e/mu4e-mark hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-mark
/home/trch/software/mu/mu4e/mu4e-compose hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-compose
/home/trch/software/mu/mu4e/mu4e-draft hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-draft
/home/trch/software/mu/mu4e/mu4e-lists hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-lists
/home/trch/software/mu/mu4e/mu4e-meta hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-meta
/home/trch/software/mu/mu4e/mu4e-view hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-view
/home/trch/software/mu/mu4e/mu4e-speedbar hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-speedbar
/home/trch/software/mu/mu4e/mu4e-vars hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-vars
/home/trch/software/mu/mu4e/org-mu4e hides 
/usr/share/emacs25/site-lisp/mu4e/org-mu4e
/home/trch/software/mu/mu4e/mu4e-utils hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-utils
/home/trch/software/mu/mu4e/mu4e-proc hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-proc
/home/trch/software/mu/mu4e/mu4e-main hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-main
/home/trch/software/mu/mu4e/mu4e-actions hides 
/usr/share/emacs25/site-lisp/mu4e/mu4e-actions
/usr/share/emacs/25.1/site-lisp/debian-startup hides 
/usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs25/site-lisp/flim/md4 hides 
/usr/share/emacs/25.1/lisp/md4
/usr/share/emacs25/site-lisp/flim/hex-util hides 
/usr/share/emacs/25.1/lisp/hex-util
/home/trch/.emacs.d/elpa/soap-client-3.1.1/soap-inspect hides 
/usr/share/emacs/25.1/lisp/net/soap-inspect
/usr/share/emacs25/site-lisp/flim/sasl-cram hides 
/usr/share/emacs/25.1/lisp/net/sasl-cram
/usr/share/emacs25/site-lisp/flim/sasl-ntlm hides 
/usr/share/emacs/25.1/lisp/net/sasl-ntlm
/usr/share/emacs25/site-lisp/flim/sasl hides 
/usr/share/emacs/25.1/lisp/net/sasl
/usr/share/emacs25/site-lisp/flim/hmac-def hides 
/usr/share/emacs/25.1/lisp/net/hmac-def
/home/trch/.emacs.d/elpa/soap-client-3.1.1/soap-client hides 
/usr/share/emacs/25.1/lisp/net/soap-client
/usr/share/emacs25/site-lisp/flim/hmac-md5 hides 
/usr/share/emacs/25.1/lisp/net/hmac-md5
/usr/share/emacs25/site-lisp/flim/ntlm hides 
/usr/share/emacs/25.1/lisp/net/ntlm
/usr/share/emacs25/site-lisp/flim/sasl-digest hides 
/usr/share/emacs/25.1/lisp/net/sasl-digest
/usr/share/emacs25/site-lisp/latex-cjk-thai/thai-word hides 
/usr/share/emacs/25.1/lisp/language/thai-word
/usr/share/emacs25/site-lisp/auctex/toolbar-x hides 
/usr/share/emacs/site-lisp/auctex/toolbar-x
/usr/share/emacs25/site-lisp/auctex/context hides 
/usr/share/emacs/site-lisp/auctex/context
/usr/share/emacs25/site-lisp/auctex/tex hides 
/usr/share/emacs/site-lisp/auctex/tex
/usr/share/emacs25/site-lisp/auctex/tex-style hides 
/usr/share/emacs/site-lisp/auctex/tex-style
/usr/share/emacs25/site-lisp/auctex/prv-emacs hides 
/usr/share/emacs/site-lisp/auctex/prv-emacs
/usr/share/emacs25/site-lisp/auctex/plain-tex hides 
/usr/share/emacs/site-lisp/auctex/plain-tex
/usr/share/emacs25/site-lisp/auctex/font-latex hides 
/usr/share/emacs/site-lisp/auctex/font-latex
/usr/share/emacs25/site-lisp/auctex/tex-jp hides 
/usr/share/emacs/site-lisp/auctex/tex-jp
/usr/share/emacs25/site-lisp/auctex/tex-fold hides 
/usr/share/emacs/site-lisp/auctex/tex-fold
/usr/share/emacs25/site-lisp/auctex/tex-font hides 
/usr/share/emacs/site-lisp/auctex/tex-font
/usr/share/emacs25/site-lisp/auctex/tex-info hides 
/usr/share/emacs/site-lisp/auctex/tex-info
/usr/share/emacs25/site-lisp/auctex/tex-buf hides 
/usr/share/emacs/site-lisp/auctex/tex-buf
/usr/share/emacs25/site-lisp/auctex/multi-prompt hides 
/usr/share/emacs/site-lisp/auctex/multi-prompt
/usr/share/emacs25/site-lisp/auctex/texmathp hides 
/usr/share/emacs/site-lisp/auctex/texmathp
/usr/share/emacs25/site-lisp/auctex/preview hides 
/usr/share/emacs/site-lisp/auctex/preview
/usr/share/emacs25/site-lisp/auctex/tex-mik hides 
/usr/share/emacs/site-lisp/auctex/tex-mik
/usr/share/emacs25/site-lisp/auctex/context-en hides 
/usr/share/emacs/site-lisp/auctex/context-en
/usr/share/emacs25/site-lisp/auctex/latex hides 
/usr/share/emacs/site-lisp/auctex/latex
/usr/share/emacs25/site-lisp/auctex/context-nl hides 
/usr/share/emacs/site-lisp/auctex/context-nl
/usr/share/emacs25/site-lisp/auctex/bib-cite hides 
/usr/share/emacs/site-lisp/auctex/bib-cite
/usr/share/emacs25/site-lisp/auctex/tex-bar hides 
/usr/share/emacs/site-lisp/auctex/tex-bar

Features:
(shadow face-remap emacsbug rect url-cache sgml-mode tramp-cache tramp
tramp-compat tramp-loaddefs trampver ucs-normalize texmathp misearch
multi-isearch view shr-color color shr dom org-element org-rmail org-mhe
org-irc org-info org-gnus org-docview org-bibtex org-bbdb org-w3m
latexenc preview prv-emacs tex-buf flyspell ispell reftex-dcr reftex
reftex-vars latex tex-style tex-mode compile shell vc-git diff-mode
font-latex tex dbus crm bibtex merlin-compat merlin-cap merlin
caml-types caml-emacs tq log-edit pcvs-util add-log erc-list erc-menu
erc-join erc-ring erc-networks erc-pcomplete erc-track erc-match
erc-button erc-fill erc-stamp erc-netsplit erc-goodies erc erc-backend
erc-compat pp twittering-mode url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util mailcap xml
org-mu4e org org-macro org-footnote org-pcomplete pcomplete org-list
org-faces org-entities noutline outline easy-mmode org-version
ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys
ob-comint ob-core ob-eval org-compat org-macs org-loaddefs find-func
mu-cite alist std11 pccl pccl-20 pcustom poem poem-e20 poem-e20_3 pces
pces-e20 pces-20 broken poe pym static apel-ver product advice
mu4e-contrib mu4e desktop frameset mu4e-speedbar speedbar sb-image
ezimage dframe mu4e-main mu4e-context mu4e-view thingatpt comint
ansi-color ring mu4e-headers mu4e-compose mu4e-draft mu4e-actions ido
rfc2368 smtpmail sendmail mu4e-mark mu4e-message html2text mu4e-proc
mu4e-utils mu4e-lists mu4e-vars message format-spec rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev mail-utils gmm-utils mailheader hl-line mu4e-meta
w3m browse-url doc-view subr-x jka-compr dired image-mode timezone
w3m-hist w3m-fb bookmark-w3m w3m-ems wid-edit w3m-ccl ccl w3m-favicon
w3m-image w3m-proc w3m-util epa-file epa derived epg cl quail edmacro
kmacro paren icalendar diary-lib diary-loaddefs cal-menu calendar
cal-loaddefs server finder-inf url-auth url-parse auth-source cl-seq
eieio eieio-core cl-macs gnus-util mm-util help-fns mail-prsvr
password-cache url-vars info package epg-config seq byte-opt gv bytecomp
byte-compile cl-extra help-mode easymenu cconv cl-loaddefs pcase cl-lib
debian-el debian-el-loaddefs w3m-load preview-latex tex-site auto-loads
time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset
image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote dbusbind inotify dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 495487 54606)
(symbols 48 47242 0)
(miscs 40 780 900)
(strings 32 120118 67618)
(string-bytes 1 3695674)
(vectors 16 69741)
(vector-slots 8 1959822 190296)
(floats 8 651 474)
(intervals 56 5527 1327)
(buffers 976 37))

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#25210; Package emacs. (Thu, 15 Dec 2016 19:10:02 GMT) Full text and rfc822 format available.

Message #8 received at 25210 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Christophe Troestler <Christophe.Troestler <at> umons.ac.be>
Cc: 25210 <at> debbugs.gnu.org
Subject: Re: bug#25210: 25.1; shr-use-font nil may use too much memory
Date: Thu, 15 Dec 2016 20:09:44 +0100
Christophe Troestler <Christophe.Troestler <at> umons.ac.be> writes:

> (I know the HTML is invalid but this is how the email message came.)

I think the HTML is valid, but libxml2 hasn't been updated, so it parses
it wrong...

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#25210; Package emacs. (Tue, 24 Jan 2017 20:21:01 GMT) Full text and rfc822 format available.

Message #11 received at 25210 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Christophe Troestler <Christophe.Troestler <at> umons.ac.be>
Cc: 25210 <at> debbugs.gnu.org
Subject: Re: bug#25210: 25.1; shr-use-font nil may use too much memory
Date: Tue, 24 Jan 2017 21:20:02 +0100
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> Christophe Troestler <Christophe.Troestler <at> umons.ac.be> writes:
>
>> (I know the HTML is invalid but this is how the email message came.)
>
> I think the HTML is valid, but libxml2 hasn't been updated, so it parses
> it wrong...

It is, in any case, not an Emacs bug, but a libxml2 bug: It doesn't
parse "<dd>foo<dd>bar" correctly.  The </dd> is optional in HTML.

I'm closing this report -- you should notify the libxml2 maintainer.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug closed, send any further explanations to 25210 <at> debbugs.gnu.org and Christophe Troestler <Christophe.Troestler <at> umons.ac.be> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 24 Jan 2017 20:21:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 22 Feb 2017 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 169 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.