* bug#37786: 26.3; Emacs crashes when calling function to decode string @ 2019-10-17 4:11 Allen Li 2019-10-17 4:22 ` Lars Ingebrigtsen 0 siblings, 1 reply; 15+ messages in thread From: Allen Li @ 2019-10-17 4:11 UTC (permalink / raw) To: 37786 The following expression, when evaluated in emacs -Q, causes emacs to crash and dump core: (mail-decode-encoded-word-string #("=?UTF-8?B?4pyoUERYQ09OIFNBTEXinKggRW5qb3kgU3BlY2lhbCBPZmZlcnMg?= =?UTF-8?B?V2hpbGUgWW91IFdhaXQh?=" 0 64 (ws-butler-chg chg) 64 65 (ws-butler-chg chg) 65 97 (ws-butler-chg chg))) In GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.10) of 2019-08-29 built on juergen Windowing system distributor 'The X.Org Foundation', version 11.0.12005000 System Description: Arch Linux 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 -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 GLIB NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD LCMS2 Important settings: value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-10-17 4:11 bug#37786: 26.3; Emacs crashes when calling function to decode string Allen Li @ 2019-10-17 4:22 ` Lars Ingebrigtsen 2019-10-17 9:53 ` Robert Pluim 0 siblings, 1 reply; 15+ messages in thread From: Lars Ingebrigtsen @ 2019-10-17 4:22 UTC (permalink / raw) To: Allen Li; +Cc: 37786 Allen Li <darkfeline@felesatra.moe> writes: > The following expression, when evaluated in emacs -Q, causes emacs to > crash and dump core: > > (mail-decode-encoded-word-string #("=?UTF-8?B?4pyoUERYQ09OIFNBTEXinKggRW5qb3kgU3BlY2lhbCBPZmZlcnMg?= =?UTF-8?B?V2hpbGUgWW91IFdhaXQh?=" 0 64 (ws-butler-chg chg) 64 65 (ws-butler-chg chg) 65 97 (ws-butler-chg chg))) I'm unable to reproduce this in Emacs 27 or Emacs 26.3. Could you do this under gdb and post the backtrace? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-10-17 4:22 ` Lars Ingebrigtsen @ 2019-10-17 9:53 ` Robert Pluim 2019-10-18 4:28 ` Allen Li 0 siblings, 1 reply; 15+ messages in thread From: Robert Pluim @ 2019-10-17 9:53 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 37786, Allen Li >>>>> On Thu, 17 Oct 2019 06:22:10 +0200, Lars Ingebrigtsen <larsi@gnus.org> said: Lars> Allen Li <darkfeline@felesatra.moe> writes: >> The following expression, when evaluated in emacs -Q, causes emacs to >> crash and dump core: >> >> (mail-decode-encoded-word-string >> #("=?UTF-8?B?4pyoUERYQ09OIFNBTEXinKggRW5qb3kgU3BlY2lhbCBPZmZlcnMg?= >> =?UTF-8?B?V2hpbGUgWW91IFdhaXQh?=" 0 64 (ws-butler-chg chg) 64 65 >> (ws-butler-chg chg) 65 97 (ws-butler-chg chg))) Lars> I'm unable to reproduce this in Emacs 27 or Emacs 26.3. Lars> Could you do this under gdb and post the backtrace? Probably font-related. I suspect "C-x 8 RET 2728" will cause the same crash for OP. Robert ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-10-17 9:53 ` Robert Pluim @ 2019-10-18 4:28 ` Allen Li 2019-10-18 9:49 ` Robert Pluim 0 siblings, 1 reply; 15+ messages in thread From: Allen Li @ 2019-10-18 4:28 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 37786 Robert Pluim <rpluim@gmail.com> writes: >>>>>> On Thu, 17 Oct 2019 06:22:10 +0200, Lars Ingebrigtsen <larsi@gnus.org> said: > > Lars> Allen Li <darkfeline@felesatra.moe> writes: > >> The following expression, when evaluated in emacs -Q, causes emacs to > >> crash and dump core: > >> > >> (mail-decode-encoded-word-string > >> #("=?UTF-8?B?4pyoUERYQ09OIFNBTEXinKggRW5qb3kgU3BlY2lhbCBPZmZlcnMg?= > >> =?UTF-8?B?V2hpbGUgWW91IFdhaXQh?=" 0 64 (ws-butler-chg chg) 64 65 > >> (ws-butler-chg chg) 65 97 (ws-butler-chg chg))) > > Lars> I'm unable to reproduce this in Emacs 27 or Emacs 26.3. > > Lars> Could you do this under gdb and post the backtrace? This is the backtrace using the simpler repro from Robert. #0 0x0000000000565ae9 in terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:363 #1 0x000000000058ca83 in emacs_abort () at sysdep.c:2380 #2 0x000000000045c17e in redisplay_internal () at xdisp.c:13797 #3 0x000000000045e0b7 in redisplay_preserve_echo_area (from_where=13) at xdisp.c:14602 #4 0x0000000000667fbe in Fdelete_process (process=XIL(0x6aa3395)) at process.c:1054 #5 0x000000000067716b in kill_buffer_processes (buffer=XIL(0)) at process.c:7819 #6 0x00000000005683d0 in shut_down_emacs (sig=0, stuff=XIL(0)) at emacs.c:2096 #7 0x000000000052d854 in x_connection_closed (dpy=0x2b77f50, error_message=0x7fffffff6fc0 "X protocol error: BadLength (poly request too large or internal Xlib length error) on protocol request 139", ioerror=false) at xterm.c:9799 #8 0x000000000052da1b in x_error_quitter (display=0x2b77f50, event=0x7fffffff7160) at xterm.c:9893 #9 0x000000000052d966 in x_error_handler (display=0x2b77f50, event=0x7fffffff7160) at xterm.c:9863 #10 0x00007ffff6ce75db in _XError () at /usr/lib/libX11.so.6 #11 0x00007ffff6ce4388 in () at /usr/lib/libX11.so.6 #12 0x00007ffff6ce4425 in () at /usr/lib/libX11.so.6 #13 0x00007ffff6ce4d8a in _XEventsQueued () at /usr/lib/libX11.so.6 #14 0x00007ffff6cd6782 in XPending () at /usr/lib/libX11.so.6 #15 0x00007ffff7671a00 in () at /usr/lib/libgdk-3.so.0 #16 0x00007ffff6e79a60 in g_main_context_prepare () at /usr/lib/libglib-2.0.so.0 #17 0x00007ffff6e7a0a6 in () at /usr/lib/libglib-2.0.so.0 #18 0x00007ffff6e7a2fa in g_main_context_pending () at /usr/lib/libglib-2.0.so.0 #19 0x00007ffff79ae550 in gtk_events_pending () at /usr/lib/libgtk-3.so.0 #20 0x000000000052c185 in XTread_socket (terminal=0x1232e40 <bss_sbrk_buffer+7610880>, hold_quit=0x7fffffff74a0) at xterm.c:9120 #21 0x000000000057685f in gobble_input () at keyboard.c:6909 #22 0x0000000000576da8 in handle_async_input () at keyboard.c:7146 #23 0x0000000000576dc7 in process_pending_signals () at keyboard.c:7160 #24 0x0000000000576e07 in unblock_input_to (level=0) at keyboard.c:7175 #25 0x0000000000576e2b in unblock_input () at keyboard.c:7194 #26 0x00000000006ab340 in xftfont_open (f=0x1279c30 <bss_sbrk_buffer+7901168>, entity=XIL(0x5f805b5), pixel_size=15) at xftfont.c:391 #27 0x000000000063107b in font_open_entity (f=0x1279c30 <bss_sbrk_buffer+7901168>, entity=XIL(0x5f805b5), pixel_size=15) at font.c:2903 #28 0x0000000000632a50 in font_open_for_lface (f=0x1279c30 <bss_sbrk_buffer+7901168>, entity=XIL(0x5f805b5), attrs=0x32610d0, spec=XIL(0)) at font.c:3332 #29 0x00000000006aea8a in fontset_find_font (fontset=XIL(0x1470c35), c=10024, face=0x32610d0, charset_id=-1, fallback=true) at fontset.c:707 #30 0x00000000006aefb7 in fontset_font (fontset=XIL(0x1470c35), c=10024, face=0x32610d0, id=-1) at fontset.c:788 #31 0x00000000006af6bc in face_for_char (f=0x1279c30 <bss_sbrk_buffer+7901168>, face=0x32610d0, c=10024, pos=1, object=XIL(0)) at fontset.c:990 #32 0x0000000000563994 in FACE_FOR_CHAR (f=0x1279c30 <bss_sbrk_buffer+7901168>, face=0x32610d0, character=10024, pos=1, object=XIL(0)) at dispextern.h:1818 #33 0x000000000044b256 in get_next_display_element (it=0x7fffffff8ef0) at xdisp.c:7288 #34 0x00000000004730c0 in display_line (it=0x7fffffff8ef0, cursor_vpos=0) at xdisp.c:21337 #35 0x0000000000467f0f in try_window (window=XIL(0x127ac35), pos=..., flags=1) at xdisp.c:17592 #36 0x0000000000465a0d in redisplay_window (window=XIL(0x127ac35), just_this_one_p=false) at xdisp.c:17039 #37 0x000000000045e869 in redisplay_window_0 (window=XIL(0x127ac35)) at xdisp.c:14799 #38 0x000000000061316d in internal_condition_case_1 (bfun=0x45e827 <redisplay_window_0>, arg=XIL(0x127ac35), handlers=XIL(0xb5afb3), hfun=0x45e7ef <redisplay_window_error>) at eval.c:1356 #39 0x000000000045e7c3 in redisplay_windows (window=XIL(0x127ac35)) at xdisp.c:14779 #40 0x000000000045d608 in redisplay_internal () at xdisp.c:14268 #41 0x000000000045b4ee in redisplay () at xdisp.c:13488 #42 0x000000000056db90 in read_char (commandflag=1, map=XIL(0x6564303), prev_event=XIL(0), used_mouse_menu=0x7fffffffe1f1, end_time=0x0) at keyboard.c:2480 #43 0x000000000057b533 in read_key_sequence (keybuf=0x7fffffffe390, bufsize=30, prompt=XIL(0), dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9147 #44 0x000000000056adfb in command_loop_1 () at keyboard.c:1368 #45 0x00000000006130c6 in internal_condition_case (bfun=0x56a9cf <command_loop_1>, handlers=XIL(0x5220), hfun=0x56a17a <cmd_error>) at eval.c:1332 #46 0x000000000056a6b0 in command_loop_2 (ignore=XIL(0)) at keyboard.c:1110 #47 0x0000000000612963 in internal_catch (tag=XIL(0xc6c0), func=0x56a683 <command_loop_2>, arg=XIL(0)) at eval.c:1097 #48 0x000000000056a64e in command_loop () at keyboard.c:1089 #49 0x0000000000569d4b in recursive_edit_1 () at keyboard.c:695 #50 0x0000000000569ecc in Frecursive_edit () at keyboard.c:766 #51 0x00000000005679ae in main (argc=1, argv=0x7fffffffe7f8) at emacs.c:1713 > > Probably font-related. I suspect "C-x 8 RET 2728" will cause the same > crash for OP. > > Robert Yep, this also crashes for me. ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-10-18 4:28 ` Allen Li @ 2019-10-18 9:49 ` Robert Pluim 2019-10-19 1:18 ` Allen Li 0 siblings, 1 reply; 15+ messages in thread From: Robert Pluim @ 2019-10-18 9:49 UTC (permalink / raw) To: Allen Li; +Cc: Lars Ingebrigtsen, 37786 >>>>> On Thu, 17 Oct 2019 21:28:35 -0700, Allen Li <darkfeline@felesatra.moe> said: Allen> This is the backtrace using the simpler repro from Robert. Allen> #0 0x0000000000565ae9 in terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:363 Allen> #1 0x000000000058ca83 in emacs_abort () at sysdep.c:2380 Allen> #2 0x000000000045c17e in redisplay_internal () at xdisp.c:13797 Allen> #3 0x000000000045e0b7 in redisplay_preserve_echo_area (from_where=13) at xdisp.c:14602 Allen> #4 0x0000000000667fbe in Fdelete_process (process=XIL(0x6aa3395)) at process.c:1054 Allen> #5 0x000000000067716b in kill_buffer_processes (buffer=XIL(0)) at process.c:7819 Allen> #6 0x00000000005683d0 in shut_down_emacs (sig=0, stuff=XIL(0)) at emacs.c:2096 Allen> #7 0x000000000052d854 in x_connection_closed (dpy=0x2b77f50, Allen> error_message=0x7fffffff6fc0 "X protocol error: BadLength (poly Allen> request too large or internal Xlib length error) on protocol request Allen> 139", ioerror=false) at xterm.c:9799 I thought weʼd fixed these kinds of bugs, but obviously not. Can you try your test in combination with the following from etc/DEBUG, it should tell us which font is responsible: For X protocol errors related to displaying unusual characters or to font-related customizations, try invoking Emacs like this: XFT_DEBUG=16 emacs -xrm "emacs.synchronous: true" This should produce information from the libXft library which could give useful hints regarding font-related problems in that library. Regards Robert ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-10-18 9:49 ` Robert Pluim @ 2019-10-19 1:18 ` Allen Li 2019-10-21 10:02 ` Robert Pluim 0 siblings, 1 reply; 15+ messages in thread From: Allen Li @ 2019-10-19 1:18 UTC (permalink / raw) To: Robert Pluim; +Cc: 37786 Robert Pluim <rpluim@gmail.com> writes: >>>>>> On Thu, 17 Oct 2019 21:28:35 -0700, Allen Li <darkfeline@felesatra.moe> said: > > Allen> This is the backtrace using the simpler repro from Robert. > > Allen> #0 0x0000000000565ae9 in terminate_due_to_signal (sig=6, backtrace_limit=40) at emacs.c:363 > Allen> #1 0x000000000058ca83 in emacs_abort () at sysdep.c:2380 > Allen> #2 0x000000000045c17e in redisplay_internal () at xdisp.c:13797 > Allen> #3 0x000000000045e0b7 in redisplay_preserve_echo_area (from_where=13) at xdisp.c:14602 > Allen> #4 0x0000000000667fbe in Fdelete_process (process=XIL(0x6aa3395)) at process.c:1054 > Allen> #5 0x000000000067716b in kill_buffer_processes (buffer=XIL(0)) at process.c:7819 > Allen> #6 0x00000000005683d0 in shut_down_emacs (sig=0, stuff=XIL(0)) at emacs.c:2096 > Allen> #7 0x000000000052d854 in x_connection_closed (dpy=0x2b77f50, > Allen> error_message=0x7fffffff6fc0 "X protocol error: BadLength (poly > Allen> request too large or internal Xlib length error) on protocol request > Allen> 139", ioerror=false) at xterm.c:9799 > > I thought weʼd fixed these kinds of bugs, but obviously not. Can you > try your test in combination with the following from etc/DEBUG, it > should tell us which font is responsible: > > For X protocol errors related to displaying unusual characters or to > font-related customizations, try invoking Emacs like this: > > XFT_DEBUG=16 emacs -xrm "emacs.synchronous: true" > > This should produce information from the libXft library which could > give useful hints regarding font-related problems in that library. That gives me the following output: Loading file /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-It.otf/0 matches new Loading file /usr/share/fonts/adobe-source-code-pro/SourceCodePro-It.otf/0 FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Light.otf/0 matches new Loading file /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Light.otf/0 FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Bold.otf/0 matches new Loading file /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Bold.otf/0 FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 matches existing (2) FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Light.otf/0 matches existing (2) FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Bold.otf/0 matches existing (2) FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 matches existing (3) FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Light.otf/0 matches existing (3) FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Bold.otf/0 matches existing (3) FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 matches existing (4) FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 matches existing (4) FontFile /usr/share/fonts/noto/NotoColorEmoji.ttf/0 matches new Loading file /usr/share/fonts/noto/NotoColorEmoji.ttf/0 and then Emacs hangs at this point. > > Regards > > Robert ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-10-19 1:18 ` Allen Li @ 2019-10-21 10:02 ` Robert Pluim 2019-10-22 3:44 ` Allen Li 0 siblings, 1 reply; 15+ messages in thread From: Robert Pluim @ 2019-10-21 10:02 UTC (permalink / raw) To: Allen Li; +Cc: 37786 >>>>> On Fri, 18 Oct 2019 18:18:34 -0700, Allen Li <darkfeline@felesatra.moe> said: Allen> That gives me the following output: Allen> Loading file /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-It.otf/0 matches new Allen> Loading file /usr/share/fonts/adobe-source-code-pro/SourceCodePro-It.otf/0 Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Light.otf/0 matches new Allen> Loading file /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Light.otf/0 Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Bold.otf/0 matches new Allen> Loading file /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Bold.otf/0 Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 matches existing (2) Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Light.otf/0 matches existing (2) Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Bold.otf/0 matches existing (2) Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 matches existing (3) Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Light.otf/0 matches existing (3) Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Bold.otf/0 matches existing (3) Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 matches existing (4) Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 matches existing (4) Allen> FontFile /usr/share/fonts/noto/NotoColorEmoji.ttf/0 matches new Allen> Loading file /usr/share/fonts/noto/NotoColorEmoji.ttf/0 Allen> and then Emacs hangs at this point. Hmm, that configuration of emacs should not be loading NotoColorEmoji (unless you've somehow arranged for xft-ignore-color-fonts to be nil). What's your version of fontconfig (probably from /usr/include/fontconfig/fontconfig.h)? (note that building emacs-27 with cairo enabled should solve this: that doesnʼt use XFT). Robert ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-10-21 10:02 ` Robert Pluim @ 2019-10-22 3:44 ` Allen Li 2019-10-22 8:18 ` Robert Pluim 0 siblings, 1 reply; 15+ messages in thread From: Allen Li @ 2019-10-22 3:44 UTC (permalink / raw) To: 37786 Robert Pluim <rpluim@gmail.com> writes: >>>>>> On Fri, 18 Oct 2019 18:18:34 -0700, Allen Li <darkfeline@felesatra.moe> said: > Allen> That gives me the following output: > > Allen> Loading file /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 > Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-It.otf/0 matches new > Allen> Loading file /usr/share/fonts/adobe-source-code-pro/SourceCodePro-It.otf/0 > Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Light.otf/0 matches new > Allen> Loading file /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Light.otf/0 > Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Bold.otf/0 matches new > Allen> Loading file /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Bold.otf/0 > Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 matches existing (2) > Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Light.otf/0 matches existing (2) > Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Bold.otf/0 matches existing (2) > Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 matches existing (3) > Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Light.otf/0 matches existing (3) > Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Bold.otf/0 matches existing (3) > Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 matches existing (4) > Allen> FontFile /usr/share/fonts/adobe-source-code-pro/SourceCodePro-Regular.otf/0 matches existing (4) > Allen> FontFile /usr/share/fonts/noto/NotoColorEmoji.ttf/0 matches new > Allen> Loading file /usr/share/fonts/noto/NotoColorEmoji.ttf/0 > > Allen> and then Emacs hangs at this point. > > Hmm, that configuration of emacs should not be loading NotoColorEmoji > (unless you've somehow arranged for xft-ignore-color-fonts to be > nil). What's your version of fontconfig (probably from > /usr/include/fontconfig/fontconfig.h)? I haven't touched xft-ignore-color-fonts (and it reproduces from emacs -Q) #define FC_MAJOR 2 #define FC_MINOR 13 #define FC_REVISION 91 > > (note that building emacs-27 with cairo enabled should solve this: > that doesnʼt use XFT). > > Robert ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-10-22 3:44 ` Allen Li @ 2019-10-22 8:18 ` Robert Pluim 2019-10-23 3:25 ` Allen Li 0 siblings, 1 reply; 15+ messages in thread From: Robert Pluim @ 2019-10-22 8:18 UTC (permalink / raw) To: Allen Li; +Cc: 37786 >>>>> On Mon, 21 Oct 2019 20:44:09 -0700, Allen Li <darkfeline@felesatra.moe> said: >> Hmm, that configuration of emacs should not be loading NotoColorEmoji >> (unless you've somehow arranged for xft-ignore-color-fonts to be >> nil). What's your version of fontconfig (probably from >> /usr/include/fontconfig/fontconfig.h)? Allen> I haven't touched xft-ignore-color-fonts (and it reproduces from emacs -Q) Allen> #define FC_MAJOR 2 Allen> #define FC_MINOR 13 Allen> #define FC_REVISION 91 Now Iʼm definitely confused. Which distribution/version of GNU/Linux is this? Robert ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-10-22 8:18 ` Robert Pluim @ 2019-10-23 3:25 ` Allen Li 2019-10-25 16:32 ` Robert Pluim 0 siblings, 1 reply; 15+ messages in thread From: Allen Li @ 2019-10-23 3:25 UTC (permalink / raw) To: 37786 Robert Pluim <rpluim@gmail.com> writes: >>>>>> On Mon, 21 Oct 2019 20:44:09 -0700, Allen Li <darkfeline@felesatra.moe> said: > > >> Hmm, that configuration of emacs should not be loading NotoColorEmoji > >> (unless you've somehow arranged for xft-ignore-color-fonts to be > >> nil). What's your version of fontconfig (probably from > >> /usr/include/fontconfig/fontconfig.h)? > > Allen> I haven't touched xft-ignore-color-fonts (and it reproduces from emacs -Q) > > Allen> #define FC_MAJOR 2 > Allen> #define FC_MINOR 13 > Allen> #define FC_REVISION 91 > > Now Iʼm definitely confused. Which distribution/version of GNU/Linux is this? Arch Linux > > Robert ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-10-23 3:25 ` Allen Li @ 2019-10-25 16:32 ` Robert Pluim 2019-10-26 9:44 ` Allen Li 0 siblings, 1 reply; 15+ messages in thread From: Robert Pluim @ 2019-10-25 16:32 UTC (permalink / raw) To: Allen Li; +Cc: 37786 >>>>> On Tue, 22 Oct 2019 20:25:40 -0700, Allen Li <darkfeline@felesatra.moe> said: Allen> I haven't touched xft-ignore-color-fonts (and it reproduces from emacs -Q) >> Allen> #define FC_MAJOR 2 Allen> #define FC_MINOR 13 Allen> #define FC_REVISION 91 >> Thatʼs a very recent (and maybe even unreleased) version of fontconfig. Allen> Arch Linux Hmm. Could you try the following against emacs-26 and see if it fixes your crash? (the character will almost certainly end up displayed wrong). This looks more like a fontconfig bug than anything else: the pattern we've supplied to FcFontList explicitly says "donʼt give me color fonts". diff --git i/lisp/international/fontset.el w/lisp/international/fontset.el index c90d4f53bd..e80a1a87b9 100644 --- i/lisp/international/fontset.el +++ w/lisp/international/fontset.el @@ -804,7 +804,6 @@ setup-default-fontset #x2664 (#x2667 . #x2669) (#x266C . #x26FF) - (#x2700 . #x27bF) ;; Dingbats (#x27C0 . #x27EF) ;; Misc Mathematical Symbols-A (#x27F0 . #x27FF) ;; Supplemental Arrows-A (#x2900 . #x297F) ;; Supplemental Arrows-B diff --git i/src/ftfont.c w/src/ftfont.c index 823fb2095c..017b349318 100644 --- i/src/ftfont.c +++ w/src/ftfont.c @@ -861,6 +861,9 @@ ftfont_list (struct frame *f, Lisp_Object spec) #endif /* FC_CAPABILITY */ #ifdef FC_FONTFORMAT FC_FONTFORMAT, +#endif +#ifdef FC_COLOR + FC_COLOR, #endif NULL); if (! objset) @@ -902,6 +905,15 @@ ftfont_list (struct frame *f, Lisp_Object spec) { Lisp_Object entity; + { + FcBool b; + if (FcPatternGetBool (fontset->fonts[i], FC_COLOR, 0, &b) + == FcResultMatch && b) + { + fprintf (stderr, "Skipping Color font\n"); + continue; + } + } if (spacing >= 0) { int this; ^ permalink raw reply related [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-10-25 16:32 ` Robert Pluim @ 2019-10-26 9:44 ` Allen Li 2019-10-27 8:26 ` Robert Pluim 0 siblings, 1 reply; 15+ messages in thread From: Allen Li @ 2019-10-26 9:44 UTC (permalink / raw) To: 37786 Robert Pluim <rpluim@gmail.com> writes: >>>>>> On Tue, 22 Oct 2019 20:25:40 -0700, Allen Li <darkfeline@felesatra.moe> said: > > Allen> I haven't touched xft-ignore-color-fonts (and it reproduces from emacs -Q) > >> > Allen> #define FC_MAJOR 2 > Allen> #define FC_MINOR 13 > Allen> #define FC_REVISION 91 > >> > > Thatʼs a very recent (and maybe even unreleased) version of > fontconfig. > > Allen> Arch Linux > > Hmm. Could you try the following against emacs-26 and see if it fixes > your crash? (the character will almost certainly end up displayed > wrong). This looks more like a fontconfig bug than anything else: the > pattern we've supplied to FcFontList explicitly says "donʼt give me > color fonts". Yep, this fixes the crash and I get the box with unicode codepoint inside. I don't know anything about fontconfig, so I can't comment on whether this is a fontconfig bug. > > diff --git i/lisp/international/fontset.el w/lisp/international/fontset.el > index c90d4f53bd..e80a1a87b9 100644 > --- i/lisp/international/fontset.el > +++ w/lisp/international/fontset.el > @@ -804,7 +804,6 @@ setup-default-fontset > #x2664 > (#x2667 . #x2669) > (#x266C . #x26FF) > - (#x2700 . #x27bF) ;; Dingbats > (#x27C0 . #x27EF) ;; Misc Mathematical Symbols-A > (#x27F0 . #x27FF) ;; Supplemental Arrows-A > (#x2900 . #x297F) ;; Supplemental Arrows-B > diff --git i/src/ftfont.c w/src/ftfont.c > index 823fb2095c..017b349318 100644 > --- i/src/ftfont.c > +++ w/src/ftfont.c > @@ -861,6 +861,9 @@ ftfont_list (struct frame *f, Lisp_Object spec) > #endif /* FC_CAPABILITY */ > #ifdef FC_FONTFORMAT > FC_FONTFORMAT, > +#endif > +#ifdef FC_COLOR > + FC_COLOR, > #endif > NULL); > if (! objset) > @@ -902,6 +905,15 @@ ftfont_list (struct frame *f, Lisp_Object spec) > { > Lisp_Object entity; > > + { > + FcBool b; > + if (FcPatternGetBool (fontset->fonts[i], FC_COLOR, 0, &b) > + == FcResultMatch && b) > + { > + fprintf (stderr, "Skipping Color font\n"); > + continue; > + } > + } > if (spacing >= 0) > { > int this; ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-10-26 9:44 ` Allen Li @ 2019-10-27 8:26 ` Robert Pluim 2019-11-05 17:40 ` Robert Pluim 0 siblings, 1 reply; 15+ messages in thread From: Robert Pluim @ 2019-10-27 8:26 UTC (permalink / raw) To: Allen Li; +Cc: 37786 >>>>> On Sat, 26 Oct 2019 02:44:52 -0700, Allen Li <darkfeline@felesatra.moe> said: >> Hmm. Could you try the following against emacs-26 and see if it fixes >> your crash? (the character will almost certainly end up displayed >> wrong). This looks more like a fontconfig bug than anything else: the >> pattern we've supplied to FcFontList explicitly says "donʼt give me >> color fonts". Allen> Yep, this fixes the crash and I get the box with unicode codepoint Allen> inside. I don't know anything about fontconfig, so I can't comment on Allen> whether this is a fontconfig bug. Thanks for testing. Iʼll have to write a standalone test case against fontconfig before I can say whether itʼs a fontconfig bug or not, in the meantime Iʼll clean up the patch. Regards Robert ^ permalink raw reply [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-10-27 8:26 ` Robert Pluim @ 2019-11-05 17:40 ` Robert Pluim 2019-11-13 14:03 ` Robert Pluim 0 siblings, 1 reply; 15+ messages in thread From: Robert Pluim @ 2019-11-05 17:40 UTC (permalink / raw) To: Allen Li; +Cc: 37786 [-- Attachment #1: Type: text/plain, Size: 1242 bytes --] >>>>> On Sun, 27 Oct 2019 09:26:35 +0100, Robert Pluim <rpluim@gmail.com> said: >>>>> On Sat, 26 Oct 2019 02:44:52 -0700, Allen Li <darkfeline@felesatra.moe> said: >>> Hmm. Could you try the following against emacs-26 and see if it fixes >>> your crash? (the character will almost certainly end up displayed >>> wrong). This looks more like a fontconfig bug than anything else: the >>> pattern we've supplied to FcFontList explicitly says "donʼt give me >>> color fonts". Allen> Yep, this fixes the crash and I get the box with unicode codepoint Allen> inside. I don't know anything about fontconfig, so I can't comment on Allen> whether this is a fontconfig bug. Robert> Thanks for testing. Iʼll have to write a standalone test case against Robert> fontconfig before I can say whether itʼs a fontconfig bug or not, in Robert> the meantime Iʼll clean up the patch. I think itʼs a fontconfig bug, but Iʼve received no response from the fontconfig guys. Perhaps I need to use their new-fangled issue tracker thing rather than good old email. In any case, both Arch and Fedora 31 have fontconfig packages with this issue, so we need to paper^Wfix the issue our end. [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: 0001-Ignore-color-fonts-returned-from-FcFontList.patch --] [-- Type: text/x-patch, Size: 1696 bytes --] From aabd13bba282563410ef95764cad39f02ecb5d84 Mon Sep 17 00:00:00 2001 From: Robert Pluim <rpluim@gmail.com> Date: Mon, 4 Nov 2019 17:44:57 +0100 Subject: [PATCH] Ignore color fonts returned from FcFontList To: emacs-devel@gnu.org * src/ftfont.c (ftfont_list): [HAVE_XFT && FC_COLOR]: Ask FcFontList to return FC_COLOR attribute. Check returned attribute for non-FcFalse, since some color fonts have a color attribute that's neither FcFalse nor FcTrue (Bug#37786). --- src/ftfont.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/ftfont.c b/src/ftfont.c index 77a4cf5de5..b066f55a18 100644 --- a/src/ftfont.c +++ b/src/ftfont.c @@ -864,6 +864,9 @@ ftfont_list (struct frame *f, Lisp_Object spec) #endif /* FC_CAPABILITY */ #ifdef FC_FONTFORMAT FC_FONTFORMAT, +#endif +#if defined HAVE_XFT && defined FC_COLOR + FC_COLOR, #endif NULL); if (! objset) @@ -904,7 +907,19 @@ ftfont_list (struct frame *f, Lisp_Object spec) for (i = 0; i < fontset->nfont; i++) { Lisp_Object entity; - +#if defined HAVE_XFT && defined FC_COLOR + { + /* Some fonts, notably NotoColorEmoji, have an FC_COLOR value + that's neither FcTrue nor FcFalse, which means FcFontList + returns them even when it shouldn't really do so, so we + need to manually skip them here (Bug#37786). */ + FcBool b; + if (Vxft_ignore_color_fonts + && FcPatternGetBool (fontset->fonts[i], FC_COLOR, 0, &b) + == FcResultMatch && b != FcFalse) + continue; + } +#endif if (spacing >= 0) { int this; -- 2.19.1.816.gcd69ec8cde ^ permalink raw reply related [flat|nested] 15+ messages in thread
* bug#37786: 26.3; Emacs crashes when calling function to decode string 2019-11-05 17:40 ` Robert Pluim @ 2019-11-13 14:03 ` Robert Pluim 0 siblings, 0 replies; 15+ messages in thread From: Robert Pluim @ 2019-11-13 14:03 UTC (permalink / raw) To: Allen Li; +Cc: 37786 tags 37786 fixed close 37786 27.1 quit Fixed by adding "Noto Color Emoji" to face-ignored-fonts instead. Closing. Committed as eae50e88ef ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2019-11-13 14:03 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-10-17 4:11 bug#37786: 26.3; Emacs crashes when calling function to decode string Allen Li 2019-10-17 4:22 ` Lars Ingebrigtsen 2019-10-17 9:53 ` Robert Pluim 2019-10-18 4:28 ` Allen Li 2019-10-18 9:49 ` Robert Pluim 2019-10-19 1:18 ` Allen Li 2019-10-21 10:02 ` Robert Pluim 2019-10-22 3:44 ` Allen Li 2019-10-22 8:18 ` Robert Pluim 2019-10-23 3:25 ` Allen Li 2019-10-25 16:32 ` Robert Pluim 2019-10-26 9:44 ` Allen Li 2019-10-27 8:26 ` Robert Pluim 2019-11-05 17:40 ` Robert Pluim 2019-11-13 14:03 ` Robert Pluim
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).