* bug#25210: 25.1; shr-use-font nil may use too much memory
@ 2016-12-15 11:29 Christophe Troestler
2016-12-15 19:09 ` Lars Ingebrigtsen
0 siblings, 1 reply; 3+ messages in thread
From: Christophe Troestler @ 2016-12-15 11:29 UTC (permalink / raw)
To: 25210
[-- Attachment #1: Type: text/plain, Size: 486 bytes --]
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.
[-- Attachment #2: Html triggering the bug --]
[-- Type: text/html, Size: 417 bytes --]
[-- Attachment #3: Type: text/plain, Size: 13029 bytes --]
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))
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#25210: 25.1; shr-use-font nil may use too much memory
2016-12-15 11:29 bug#25210: 25.1; shr-use-font nil may use too much memory Christophe Troestler
@ 2016-12-15 19:09 ` Lars Ingebrigtsen
2017-01-24 20:20 ` Lars Ingebrigtsen
0 siblings, 1 reply; 3+ messages in thread
From: Lars Ingebrigtsen @ 2016-12-15 19:09 UTC (permalink / raw)
To: Christophe Troestler; +Cc: 25210
Christophe Troestler <Christophe.Troestler@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
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#25210: 25.1; shr-use-font nil may use too much memory
2016-12-15 19:09 ` Lars Ingebrigtsen
@ 2017-01-24 20:20 ` Lars Ingebrigtsen
0 siblings, 0 replies; 3+ messages in thread
From: Lars Ingebrigtsen @ 2017-01-24 20:20 UTC (permalink / raw)
To: Christophe Troestler; +Cc: 25210
Lars Ingebrigtsen <larsi@gnus.org> writes:
> Christophe Troestler <Christophe.Troestler@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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-01-24 20:20 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-15 11:29 bug#25210: 25.1; shr-use-font nil may use too much memory Christophe Troestler
2016-12-15 19:09 ` Lars Ingebrigtsen
2017-01-24 20:20 ` Lars Ingebrigtsen
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).