Package: emacs;
Reported by: "Miguel V. S. Frasson" <mvsfrasson <at> gmail.com>
Date: Wed, 16 Jun 2021 21:08:02 UTC
Severity: normal
Tags: patch
Found in version 26.3
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: "Miguel V. S. Frasson" <mvsfrasson <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 26.3; Segmentation fault on specific utf8 string Date: Wed, 16 Jun 2021 18:07:06 -0300
Dear Emacs developers I was editting a "comma-separated values" csv file for a geographic map creation, tried simple edition commands that now I see that wer irrelevant to bug reprodution. I managed to isolate the problem. It seams that my version of emacs with gui is unable to display a specific UTF8 line of a file possibly with mixing of text LTR and RTL and crashes. To help debug, I read /usr/share/emacs/26.3/etc/DEBUG, downloaded Emacs sources from 2 places, builded to see if I can reproduce that. I tried these versions: * from Ubuntu package GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.13) of 2019-12-24 -> emacs -Q foo -> always crash (I did it more tahn 20 times) same emacs, no gui -> emacs -nw -Q foo -> no crash * git GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu) of 2021-06-16 without toolkits and images --> no crash (1h30 of compilation time discoraged me to try to recompile) * 26.3 compiled from source download from http://ftpmirror.gnu.org/emacs/ - without toolkits -> no crash - with gtk3 -> no crash So I got stuck with my usual emacs without debug symbols and gtk ... How to reproduce: 1) Since just displaying the line crashes my Emacs I like to avoid display it below. So please download the 641 bytes file "foo" from wget https://sites.icmc.usp.br/frasson/foo Its content is just 1 line of UTF8 text with the name of Saint Pierre and Miquelon Islands in several languages. You can obtain it also decoding the following base64 output with "base64 -d": UTM0NjE3LNiz2KfZhiDYqNmK2YrYsSDZiNmF2YrZg9mE2YjZhizgprjgpr7gpoEg4Kaq4Ka/4Kav 4Ka84KeH4KawIOCmkyDgpq7gpr/gppXigIzgprLgp4vgpoEsU2FpbnQtUGllcnJlIHVuZCBNaXF1 ZWxvbixTYWludCBQaWVycmUgYW5kIE1pcXVlbG9uLFNhbiBQZWRybyB5IE1pcXVlbMOzbixTYWlu dC1QaWVycmUtZXQtTWlxdWVsb24szqPOsc65zr0gzqDOuc61z4EgzrrOsc65IM6czrnOus61zrvP jM69LOCkuOCkvuCkgS3gpKrgpY3gpK/gpYfgpLAg4KSU4KSwIOCkruClgOCkleClh+CksuCli+Ck gixTYWludC1QaWVycmUgw6lzIE1pcXVlbG9uLFNhaW50IFBpZXJyZSBkYW4gTWlxdWVsb24sU2Fp bnQtUGllcnJlIGUgTWlxdWVsb24s44K144Oz44OU44Ko44O844Or5bO244O744Of44Kv44Ot44Oz 5bO2LOyDne2UvOyXkOultCDrr7jtgbTrobEsU2FpbnQtUGllcnJlIGVuIE1pcXVlbG9uLFNhaW50 LVBpZXJyZSBpIE1pcXVlbG9uLFNhaW50LVBpZXJyZSBlIE1pcXVlbG9uLNCh0LXQvS3Qn9GM0LXR gCDQuCDQnNC40LrQtdC70L7QvSxTYWludC1QaWVycmUgb2NoIE1pcXVlbG9uLFNhaW50IFBpZXJy ZSB2ZSBNaXF1ZWxvbixTYWludC1QaWVycmUgdsOgIE1pcXVlbG9uLOWco+earuWfg+WwlOWSjOWv huWFi+mahue+pOWymwo= 2) emacs -nw -Q foo Ok, exit Emacs, no crash. 3) emacs -Q foo Emacs crashes :-X 4) I see that with "emacs -nw -Q foo", if I delete the initial Q (or maybe a character that resembles Q), text direction changes abruptly, display/navigation gets crasy, just navigating with left and right arrow keys, we jump from first line to last, some up and down keys jumps a lot. This happens even with trunk git emacs that I compiled. If you like to see this, I recorded a screencast (2.63Mb): wget https://sites.icmc.usp.br/frasson/emacs-navigation.mp4 From command line I get the following output: Fatal error 11: Segmentation fault Backtrace: emacs[0x51ab42] emacs[0x500211] emacs[0x518f14] emacs[0x51914d] emacs[0x5191cd] /lib/x86_64-linux-gnu/libpthread.so.0(+0x153c0)[0x7f7fca29b3c0] emacs[0x5ebe9b] emacs[0x5ef70d] emacs[0x58a752] emacs[0x57913c] emacs[0x5b8174] emacs[0x57bb61] emacs[0x5790bb] emacs[0x5783fa] emacs[0x4369ac] emacs[0x443276] emacs[0x5d9aa8] emacs[0x5ddbe0] emacs[0x44f664] emacs[0x44d695] emacs[0x4556f8] emacs[0x45a843] emacs[0x46f0c3] emacs[0x472183] emacs[0x57829e] emacs[0x43a016] emacs[0x45e079] emacs[0x50a447] emacs[0x50dad0] emacs[0x50f1e4] emacs[0x578206] emacs[0x5005d4] emacs[0x578175] emacs[0x500573] emacs[0x5057b7] emacs[0x505b18] emacs[0x4206d2] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f7fc9f870b3] emacs[0x4213de] Falha de segmentação Best regards Miguel In GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.13) of 2019-12-24 built on lcy01-amd64-029 Windowing system distributor 'The X.Org Foundation', version 11.0.12009000 System Description: Ubuntu 20.04.2 LTS Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. saida-raw50.csv has auto save data; consider M-x recover-this-file Mark set Type y, n, ! or SPC (the space bar): Defining kbd macro... Mark set [2 times] Replaced 169 occurrences Keyboard macro defined Configured using: 'configure --build=x86_64-linux-gnu --prefix=/usr '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' --sysconfdir=/etc --localstatedir=/var --disable-silent-rules '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' --disable-maintainer-mode --disable-dependency-tracking --prefix=/usr --sharedstatedir=/var/lib --program-suffix=26 --with-modules --with-file-notification=inotify --with-mailutils --with-x=yes --with-x-toolkit=gtk3 --with-xwidgets --with-lcms2 'CFLAGS=-g -O2 -fdebug-prefix-map=/build/emacs26-XQGPla/emacs26-26.3~1.git96dd019=. -fstack-protector-strong -Wformat -Werror=format-security -no-pie' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro -no-pie'' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS XWIDGETS LIBSYSTEMD LCMS2 Important settings: value of $LANG: pt_BR.UTF-8 locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect: tooltip-mode: t global-eldoc-mode: t electric-indent-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 Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv bytecomp byte-compile cconv dired dired-loaddefs format-spec rfc822 mml mml-sec password-cache epa derived epg epg-config 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 macros misearch multi-isearch kmacro cl-extra help-mode easymenu cl-loaddefs cl-lib novice elec-pair 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 threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting xwidget-internal move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 99690 8444) (symbols 48 20739 1) (miscs 40 284 240) (strings 32 29677 1323) (string-bytes 1 787981) (vectors 16 15049) (vector-slots 8 550898 10514) (floats 8 51 224) (intervals 56 261 0) (buffers 992 13)) -- Miguel Vinicius Santini Frasson mvsfrasson <at> gmail.com
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.