Subject: bug#33074: 26.1; images crash emacs

From: Sam Halliday <[email-masked]>
Date: Wed, 17 Oct 2018 10:09:40 +0100

When I open any image file from Emacs, the process dies.

I ran inside gdb to find the cause of the problem and I guess it is a
bug inside the libmagick library that doesn't handle all the OpenCL
error cases (my graphics card is only partially supported).

Since this is affecting my use of GNU Emacs, I thought it best to use
the bug report tool but I am happy to consider this closed and raise as
a bug with libmagick. Preemptively created https://imagemagick.org/discourse-server/viewtopic.php?f=3&t=34893

(gdb) run
Starting program: /usr/bin/emacs 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffed4df700 (LWP 9141)]
[New Thread 0x7fffe7f46700 (LWP 9142)]
[New Thread 0x7fffe7745700 (LWP 9143)]
[New Thread 0x7fffe5dcb700 (LWP 9144)]
[Detaching after vfork from child process 9145]
[Detaching after vfork from child process 9146]
[Detaching after vfork from child process 9147]
[Detaching after vfork from child process 9148]
[Detaching after vfork from child process 9149]
[Detaching after vfork from child process 9152]
[Detaching after vfork from child process 9153]
[New Thread 0x7fffc1f3e700 (LWP 9155)]
[New Thread 0x7fffc15fc700 (LWP 9156)]
[New Thread 0x7fffc0dfb700 (LWP 9157)]
[New Thread 0x7fffb3fff700 (LWP 9158)]
[New Thread 0x7fffab7fe700 (LWP 9159)]
[New Thread 0x7fffb37fe700 (LWP 9160)]
[New Thread 0x7fffb2ffd700 (LWP 9161)]
[New Thread 0x7fffb27fc700 (LWP 9162)]
[New Thread 0x7fffb1ffb700 (LWP 9163)]
[New Thread 0x7fffb17fa700 (LWP 9164)]
[New Thread 0x7fffb0ff9700 (LWP 9165)]
[New Thread 0x7fffabfff700 (LWP 9166)]
[New Thread 0x7fffaaffd700 (LWP 9167)]
[New Thread 0x7fffaa7fc700 (LWP 9168)]
[New Thread 0x7fffa9ffb700 (LWP 9169)]
[New Thread 0x7fffa97fa700 (LWP 9170)]
[New Thread 0x7fffa8ff9700 (LWP 9171)]
[New Thread 0x7fff7bfff700 (LWP 9172)]
[New Thread 0x7fff7b7fe700 (LWP 9173)]
[New Thread 0x7fff7affd700 (LWP 9174)]
[Thread 0x7fffa8ff9700 (LWP 9171) exited]
[Thread 0x7fff7affd700 (LWP 9174) exited]
[Thread 0x7fff7b7fe700 (LWP 9173) exited]
[Thread 0x7fff7bfff700 (LWP 9172) exited]
[Thread 0x7fffa97fa700 (LWP 9170) exited]
[Thread 0x7fffa9ffb700 (LWP 9169) exited]
[Thread 0x7fffaa7fc700 (LWP 9168) exited]
[Thread 0x7fffaaffd700 (LWP 9167) exited]
Error: 4 unsupported relocations
emacs: magick/cache.c:306: AddOpenCLEvent: Assertion `cache_info->opencl != (OpenCLCacheInfo *) NULL' failed.

Thread 1 "emacs" received signal SIGABRT, Aborted.
0x00007ffff3fe8d7f in raise () from /usr/lib/libc.so.6
(gdb) bt full
#0  0x00007ffff3fe8d7f in raise () at /usr/lib/libc.so.6
#1  0x00007ffff3fd3672 in abort () at /usr/lib/libc.so.6
#2  0x00007ffff3fd3548 in _nl_load_domain.cold.0 () at /usr/lib/libc.so.6
#3  0x00007ffff3fe1396 in  () at /usr/lib/libc.so.6
#4  0x00007ffff56381ff in  () at /usr/lib/libMagickCore-6.Q16HDRI.so.6
#5  0x00007ffff5613027 in  () at /usr/lib/libMagickCore-6.Q16HDRI.so.6
#6  0x00007ffff56b930c in BlurImageChannel () at /usr/lib/libMagickCore-6.Q16HDRI.so.6
#7  0x00007ffff572668e in  () at /usr/lib/libMagickCore-6.Q16HDRI.so.6
#8  0x00007ffff5726d4a in  () at /usr/lib/libMagickCore-6.Q16HDRI.so.6
#9  0x00007ffff5727aac in InitOpenCLEnv () at /usr/lib/libMagickCore-6.Q16HDRI.so.6
#10 0x00007ffff56122ea in  () at /usr/lib/libMagickCore-6.Q16HDRI.so.6
#11 0x00007ffff5615c25 in  () at /usr/lib/libMagickCore-6.Q16HDRI.so.6
#12 0x00007ffff565fc5c in CompositeImageChannel () at /usr/lib/libMagickCore-6.Q16HDRI.so.6
#13 0x00007ffff5709977 in MergeImageLayers () at /usr/lib/libMagickCore-6.Q16HDRI.so.6
#14 0x00007ffff596548b in MagickMergeImageLayers () at /usr/lib/libMagickWand-6.Q16HDRI.so.6
#15 0x00000000005e9839 in  ()
#16 0x00000000005f1b72 in  ()
#17 0x00000000005f2071 in  ()
#18 0x000000000056cced in  ()
#19 0x00000000005a8fe1 in  ()
#20 0x000000000056cc6b in  ()
#21 0x00000000005a8fe1 in  ()
#22 0x000000000056cc6b in  ()
#23 0x00000000005a8fe1 in  ()
#24 0x000000000056cc6b in  ()
#25 0x00000000005a8fe1 in  ()
#26 0x000000000056cc6b in  ()
#27 0x00000000005a8fe1 in  ()
#28 0x000000000056cc6b in  ()
#29 0x00000000005a8fe1 in  ()
#30 0x000000000056cc6b in  ()
#31 0x00000000005a8fe1 in  ()
#32 0x000000000056cc6b in  ()
#33 0x00000000005a8fe1 in  ()
#34 0x000000000056cc6b in  ()
#35 0x00000000005a8fe1 in  ()
#36 0x000000000056cc6b in  ()
#37 0x00000000005a8fe1 in  ()
#38 0x000000000056cc6b in  ()
#39 0x00000000005a8fe1 in  ()
#40 0x000000000056cc6b in  ()
#41 0x00000000005a8fe1 in  ()
#42 0x000000000056cc6b in  ()
#43 0x00000000005695ef in  ()
--Type <RET> for more, q to quit, c to continue without paging--
#44 0x000000000056cced in  ()
#45 0x000000000056ea3c in  ()
#46 0x0000000000569b5b in  ()
#47 0x000000000056cced in  ()
#48 0x00000000005a8fe1 in  ()
#49 0x000000000056cc6b in  ()
#50 0x000000000056cdaa in  ()
#51 0x0000000000504084 in  ()
#52 0x000000000056be2f in  ()
#53 0x00000000004f4e55 in  ()
#54 0x000000000056bd9e in  ()
#55 0x00000000004f4ded in  ()
#56 0x00000000004f9fe8 in  ()
#57 0x00000000004fa328 in  ()
#58 0x00000000004157eb in  ()
#59 0x00007ffff3fd5223 in __libc_start_main () at /usr/lib/libc.so.6
#60 0x000000000041658a in  ()
(gdb) quit
A debugging session is active.

	Inferior 1 [process 9137] will be killed.

Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
 --localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-modules
 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong
 -fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2
 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 MODULES THREADS LIBSYSTEMD LCMS2

Important settings:
  value of $LANG: en_GB.utf8
  locale-coding-system: utf-8-unix

Major mode: Dired by name

Minor modes in effect:
  auto-insert-mode: t
  show-paren-mode: t
  shell-dirtrack-mode: t
  projectile-mode: t
  flx-ido-mode: t
  ido-everywhere: t
  persistent-scratch-autosave-mode: t
  global-subword-mode: t
  subword-mode: t
  save-place-mode: t
  global-auto-revert-mode: t
  override-global-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-compression-mode: t
  buffer-read-only: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch hides /usr/share/emacs/site-lisp/notmuch
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-wash hides /usr/share/emacs/site-lisp/notmuch-wash
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-tree hides /usr/share/emacs/site-lisp/notmuch-tree
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-tag hides /usr/share/emacs/site-lisp/notmuch-tag
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-show hides /usr/share/emacs/site-lisp/notmuch-show
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-query hides /usr/share/emacs/site-lisp/notmuch-query
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-print hides /usr/share/emacs/site-lisp/notmuch-print
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-parser hides /usr/share/emacs/site-lisp/notmuch-parser
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-mua hides /usr/share/emacs/site-lisp/notmuch-mua
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-message hides /usr/share/emacs/site-lisp/notmuch-message
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-maildir-fcc hides /usr/share/emacs/site-lisp/notmuch-maildir-fcc
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-lib hides /usr/share/emacs/site-lisp/notmuch-lib
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-jump hides /usr/share/emacs/site-lisp/notmuch-jump
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-hello hides /usr/share/emacs/site-lisp/notmuch-hello
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-draft hides /usr/share/emacs/site-lisp/notmuch-draft
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-crypto hides /usr/share/emacs/site-lisp/notmuch-crypto
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-compat hides /usr/share/emacs/site-lisp/notmuch-compat
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-company hides /usr/share/emacs/site-lisp/notmuch-company
/home/fommil/.emacs.d/elpa/notmuch-0.28/notmuch-address hides /usr/share/emacs/site-lisp/notmuch-address
/home/fommil/.emacs.d/elpa/notmuch-0.28/coolj hides /usr/share/emacs/site-lisp/coolj

Features:
(shadow sort mail-extr yatemplate autoinsert emacsbug message rmc puny
rfc822 mml mml-sec epa derived epg gnus-util rmail rmail-loaddefs
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr
mail-utils whitespace rainbow-delimiters smartparens-config
smartparens-text smartparens-haskell smartparens company-oddmuse
company-keywords company-etags company-gtags company-dabbrev-code
company-dabbrev company-files company-capf company-cmake company-xcode
company-clang company-semantic company-eclim company-template
company-css company-nxml company-bbdb company yasnippet flycheck json
map dash rainbow-mode paren elec-pair intellij-theme darcula-theme
ox-gfm ox-md ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util
rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex
ox-icalendar ox-html table ox-ascii ox-publish ox org-element avl-tree
generator org org-macro org-footnote org-pcomplete org-list org-faces
org-entities org-version ob-emacs-lisp ob ob-tangle org-src ob-ref
ob-lob ob-table ob-keys ob-comint org-loaddefs find-func cal-menu
calendar cal-loaddefs ob-exp ob-core org-compat ob-eval org-macs
graphviz-dot-mode package-utils pcase fommil-manuscripts fommil-scala
cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine
cc-vars cc-defs fommil-haskell haskell-compile haskell-mode
haskell-cabal haskell-utils haskell-font-lock haskell-indentation
haskell-string haskell-sort-imports haskell-lexeme rx
haskell-align-imports haskell-compat haskell-complete-module
haskell-ghc-support noutline outline flymake-proc flymake warnings etags
xref project dabbrev haskell-customize fommil-email erc-hl-nicks color
erc-button erc-fill erc-stamp wid-edit erc-goodies erc erc-backend
erc-compat pp re-builder hydra lv tramp-cache tramp-sh tramp
tramp-compat tramp-loaddefs trampver ucs-normalize shell pcomplete
parse-time format-spec projectile subr-x grep compile comint ansi-color
ring ibuf-ext ibuffer ibuffer-loaddefs thingatpt flx-ido advice flx ido
persistent-scratch midnight dired dired-loaddefs cap-words superword
subword edmacro kmacro cl-extra help-mode saveplace autorevert
filenotify use-package diminish bind-key easy-mmode finder-inf
ess-generics info package easymenu epg-config url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv
cl-loaddefs cl-lib time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors 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 composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray 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 lcms2 dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 588395 94123)
 (symbols 48 47174 38)
 (miscs 40 101 314)
 (strings 32 167352 24104)
 (string-bytes 1 4823180)
 (vectors 16 74489)
 (vector-slots 8 1230612 100508)
 (floats 8 333 461)
 (intervals 56 396 79)
 (buffers 992 14))

-- 
Best regards,
Sam