Package: emacs-gtk
Version: 1:25.2+1-11
Severity: important
File: /usr/bin/emacs-gtk

If Emacs is displaying its own window (as opposed to running inside a
terminal), visiting the attached text file will cause emacs to segfault.
The file is a cut-down version of /usr/share/themes/Adwaita/index.theme
(from gnome-themes-extra-data); if you visit *that* file, emacs will
not crash until you scroll down far enough to see the line beginning
Comment[kn].  Removing either of the two lines of the test file
suppresses the crash.

A Lisp backtrace (collected with 'xbacktrace' from the Emacs source
tree's .gdbinit) is quite short:

(gdb) xbacktrace
"font-shape-gstring" (0xffff5900)
"auto-compose-chars" (0xffff5b58)
"redisplay_internal (C function)" (0x0)

The presence of auto-compose-chars in this trace points a finger at
composite.el, and indeed if you do C-u -1 M-x global-auto-composition-mode
before visiting the test file, Emacs doesn't crash.  However, it looks like
all the heavy lifting is happening in C, inside font-shape-gstring.

A C stack trace (below) points at the guts of libotf / libm17n, but I am
filing this bug against emacs anyway, because gedit, which presumably
uses the same libraries, does not crash on the test file.

Thread 1 "emacs" received signal SIGSEGV, Segmentation fault.
0x00007ffff453fa95 in lookup_gpos (lookup_list=lookup_list@entry=0xd2ff28, 
    lookup_list_index=lookup_list_index@entry=1, 
    gstring=gstring@entry=0x9a7da0 <otf_gstring>, gidx=<optimized out>, 
    gidx@entry=0, accumulate=accumulate@entry=1) at otfdrive.c:975
975     otfdrive.c: No such file or directory.
(gdb) bt
#0  0x00007ffff453fa95 in lookup_gpos (lookup_list=lookup_list@entry=0xd2ff28, 
lookup_list_index=lookup_list_index@entry=1, gstring=gstring@entry=0x9a7da0 
<otf_gstring>, gidx=<optimized out>, gidx@entry=0, 
accumulate=accumulate@entry=1)
    at otfdrive.c:975
#1  0x00007ffff4540e64 in OTF_drive_gpos_internal (otf=otf@entry=0xcb7500, 
gstring=gstring@entry=0x9a7da0 <otf_gstring>, script=<optimized out>, 
language=<optimized out>, features=<optimized out>, 
accumulate=accumulate@entry=1, with_log=1)
    at otfdrive.c:1886
#2  0x00007ffff4542a2a in OTF_drive_gpos_with_log (otf=otf@entry=0xcb7500, 
gstring=gstring@entry=0x9a7da0 <otf_gstring>, 
script=script@entry=0x7fffffff499e "knda", language=language@entry=0x0, 
features=features@entry=0x7fffffff48e0 "abvm,blwm,dist") at otfdrive.c:1935
#3  0x00000000005c3d3a in ftfont_drive_otf (font=<optimized out>, 
spec=<optimized out>, in=<optimized out>, from=<optimized out>, to=<optimized 
out>, out=0x7fffffff5610, adjustment=<optimized out>) at 
./debian/build-src/src/ftfont.c:2035
#4  0x00007ffff40f94f2 in run_otf (depth=<optimized out>, otf_spec=0x18281a8, 
from=from@entry=1, to=to@entry=3, ctx=0x7fffffff5630) at m17n-flt.c:1945
#5  0x00007ffff40fcba8 in run_command (depth=depth@entry=8, id=<optimized out>, 
from=from@entry=1, to=to@entry=3, ctx=ctx@entry=0x7fffffff5630)
    at m17n-flt.c:2169
#6  0x00007ffff40fcf67 in run_rule (depth=8, rule=0x1828140, from=1, 
    from@entry=0, to=<optimized out>, to@entry=4, ctx=0x7fffffff5630)
    at m17n-flt.c:1836
#7  0x00007ffff40fc75c in run_command (depth=depth@entry=7, id=<optimized out>, 
from=from@entry=0, to=to@entry=4, ctx=ctx@entry=0x7fffffff5630)
    at m17n-flt.c:2165
#8  0x00007ffff40fcf67 in run_rule (depth=7, rule=
    0x18280d8, from=from@entry=0, to=<optimized out>, 
    to@entry=4, ctx=0x7fffffff5630) at m17n-flt.c:1836
#9  0x00007ffff40fc75c in run_command (depth=depth@entry=6, id=<optimized out>, 
from=from@entry=0, to=to@entry=4, ctx=ctx@entry=0x7fffffff5630)
    at m17n-flt.c:2165
#10 0x00007ffff40fcb53 in run_cond (cond=0x1828070, cond=0x1828070, 
ctx=0x7fffffff5630, to=4, from=0, depth=<optimized out>) at m17n-flt.c:1863
#11 0x00007ffff40fcb53 in run_command (depth=depth@entry=5, id=<optimized out>, 
from=from@entry=0, to=to@entry=4, ctx=ctx@entry=0x7fffffff5630)
    at m17n-flt.c:2167
#12 0x00007ffff40fcf67 in run_rule (depth=5, rule=
    0x1828008, from=from@entry=0, to=<optimized out>, ctx=0x7fffffff5630)
    at m17n-flt.c:1836
#13 0x00007ffff40fc75c in run_command (depth=depth@entry=4, 
id=id@entry=-16777232, from=from@entry=0, to=<optimized out>, 
ctx=ctx@entry=0x7fffffff5630)
    at m17n-flt.c:2165
#14 0x00007ffff40fdb98 in run_stages (gstring=gstring@entry=0x9a7d80 <gstring>, 
from=from@entry=0, to=<optimized out>, 
    to@entry=2, ctx=ctx@entry=0x7fffffff5630, flt=<optimized out>)
    at m17n-flt.c:2359
#15 0x00007ffff40fee51 in mflt_run (gstring=gstring@entry=0x9a7d80 <gstring>, 
from=from@entry=0, to=<optimized out>, 
    to@entry=2, font=font@entry=0x7fffffff5760, flt=<optimized out>, 
    flt@entry=0x0) at m17n-flt.c:3050
#16 0x00000000005c4d70 in ftfont_shape_by_flt (matrix=<optimized out>, 
otf=<optimized out>, ft_face=<optimized out>, font=<optimized out>, 
lgstring=10802589)
    at ./debian/build-src/src/ftfont.c:2644
#17 0x00000000005c4d70 in ftfont_shape (lgstring=10802589)
---Type <return> to continue, or q <return> to quit---
    at ./debian/build-src/src/ftfont.c:2697
#18 0x00000000005c875e in xftfont_shape (lgstring=10802589)
    at ./debian/build-src/src/xftfont.c:672
#19 0x0000000000573e98 in Ffont_shape_gstring (gstring=10802589)
    at ./debian/build-src/src/font.c:4410
#20 0x00000000005648d8 in Ffuncall (nargs=2, args=args@entry=0x7fffffff58f8)
    at ./debian/build-src/src/lisp.h:1061
#21 0x0000000000599a6b in exec_byte_code (bytestr=<optimized out>, 
vector=<optimized out>, maxdepth=<optimized out>, 
args_template=args_template@entry=0, nargs=nargs@entry=0, args=<optimized out>, 
args@entry=0x0)
    at ./debian/build-src/src/bytecode.c:880
#22 0x0000000000566b0d in funcall_lambda (fun=<optimized out>, 
nargs=nargs@entry=5, arg_vector=arg_vector@entry=0x7fffffff5b58)
    at ./debian/build-src/src/lisp.h:1530
#23 0x000000000056473b in Ffuncall (nargs=nargs@entry=6, 
args=args@entry=0x7fffffff5b50) at ./debian/build-src/src/eval.c:2760
#24 0x0000000000563e96 in internal_condition_case_n (bfun=
    0x564520 <Ffuncall>, nargs=nargs@entry=6, args=args@entry=0x7fffffff5b50, 
handlers=handlers@entry=44544, hfun=hfun@entry=0x43d870 <safe_eval_handler>)
    at ./debian/build-src/src/eval.c:1395
#25 0x000000000042ef94 in safe__call (inhibit_quit=inhibit_quit@entry=false, 
nargs=nargs@entry=6, func=<optimized out>, ap=ap@entry=0x7fffffff5bf0)
    at ./debian/build-src/src/lisp.h:1113
#26 0x000000000043b07c in safe_call (nargs=nargs@entry=6, func=<optimized out>)
    at ./debian/build-src/src/xdisp.c:2574
#27 0x00000000005b8794 in autocmp_chars (rule=<optimized out>, 
charpos=charpos@entry=29, bytepos=bytepos@entry=41, limit=<optimized out>, 
    limit@entry=49, win=win@entry=0xf39c30, face=face@entry=0x18c3a00, 
string=0) at ./debian/build-src/src/lisp.h:1530
#28 0x00000000005bc723 in composition_reseat_it 
(cmp_it=cmp_it@entry=0x7fffffff8dd8, charpos=29, bytepos=41, endpos=49, 
w=0xf39c30, face=0x18c3a00, string=0)
    at ./debian/build-src/src/composite.c:1221
#29 0x0000000000444964 in next_element_from_buffer (it=0x7fffffff8580)
    at ./debian/build-src/src/xdisp.c:8410
#30 0x0000000000442a45 in get_next_display_element (it=0x7fffffff8580)
    at ./debian/build-src/src/xdisp.c:6922
#31 0x000000000044b5b0 in display_line (it=it@entry=0x7fffffff8580)
    at ./debian/build-src/src/xdisp.c:20602
#32 0x0000000000451148 in try_window (window=window@entry=15965237, pos=..., 
flags=flags@entry=1) at ./debian/build-src/src/xdisp.c:17251
#33 0x00000000004647a1 in redisplay_window (window=<optimized out>, 
just_this_one_p=false) at ./debian/build-src/src/xdisp.c:16700
#34 0x0000000000467eeb in redisplay_window_0 (window=window@entry=15965237)
    at ./debian/build-src/src/xdisp.c:14491
#35 0x0000000000563d6e in internal_condition_case_1 (bfun=bfun@entry=0x467ec0 
<redisplay_window_0>, arg=15965237, handlers=<optimized out>, 
hfun=hfun@entry=0x42d720 <redisplay_window_error>) at 
./debian/build-src/src/eval.c:1339
#36 0x0000000000432332 in redisplay_windows (window=15965237)
    at ./debian/build-src/src/xdisp.c:14471
#37 0x0000000000454639 in redisplay_internal ()
    at ./debian/build-src/src/xdisp.c:14031
#38 0x0000000000456505 in redisplay () at ./debian/build-src/src/xdisp.c:13259
#39 0x00000000004fa45f in read_char (commandflag=commandflag@entry=1, 
map=map@entry=39406051, prev_event=0, 
used_mouse_menu=used_mouse_menu@entry=0x7fffffffd9db, 
end_time=end_time@entry=0x0) at ./debian/build-src/src/keyboard.c:2482
#40 0x00000000004fde89 in read_key_sequence 
(keybuf=keybuf@entry=0x7fffffffdad0, prompt=prompt@entry=0, 
dont_downcase_last=dont_downcase_last@entry=false, 
can_return_switch_frame=can_return_switch_frame@entry=true, 
fix_current_buffer=fix_current_buffer@entry=true, 
prevent_redisplay=prevent_redisplay@entry=false, bufsize=30) at 
./debian/build-src/src/keyboard.c:9068
#41 0x00000000004ff574 in command_loop_1 ()
    at ./debian/build-src/src/lisp.h:1113
#42 0x0000000000563ce2 in internal_condition_case (bfun=bfun@entry=0x4ff360 
<command_loop_1>, handlers=handlers@entry=19104, hfun=hfun@entry=0x4f5970 
<cmd_error>) at ./debian/build-src/src/eval.c:1315
#43 0x00000000004f0e64 in command_loop_2 (ignore=ignore@entry=0)
    at ./debian/build-src/src/lisp.h:1113
#44 0x0000000000563c61 in internal_catch (tag=tag@entry=45936, 
func=func@entry=0x4f0e40 <command_loop_2>, arg=arg@entry=0)
    at ./debian/build-src/src/eval.c:1080
#45 0x00000000004f0dfb in command_loop () at ./debian/build-src/src/lisp.h:1113
#46 0x00000000004f5557 in recursive_edit_1 ()
    at ./debian/build-src/src/keyboard.c:697
#47 0x00000000004f58a8 in Frecursive_edit ()
    at ./debian/build-src/src/keyboard.c:768
#48 0x000000000041923e in main (argc=2, argv=0x7fffffffde58)
    at ./debian/build-src/src/emacs.c:1629


-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.18.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages emacs-gtk depends on:
ii  emacs-bin-common       1:25.2+1-11
ii  emacs-common           1:25.2+1-11
ii  libacl1                2.2.52-3+b1
ii  libasound2             1.1.6-1
ii  libatk1.0-0            2.30.0-1
ii  libc6                  2.27-6
ii  libcairo-gobject2      1.15.12-1
ii  libcairo2              1.15.12-1
ii  libdbus-1-3            1.12.10-1
ii  libfontconfig1         2.13.1-1
ii  libfreetype6           2.8.1-2
ii  libgdk-pixbuf2.0-0     2.38.0+dfsg-6
ii  libgif7                5.1.4-3
ii  libglib2.0-0           2.58.1-2
ii  libgnutls30            3.5.19-1+b1
ii  libgomp1               8.2.0-7
ii  libgpm2                1.20.7-5
ii  libgtk-3-0             3.24.0-3
ii  libice6                2:1.0.9-2
ii  libjpeg62-turbo        1:1.5.2-2+b1
ii  libm17n-0              1.7.0-3+b2
ii  libmagickcore-6.q16-6  8:6.9.10.8+dfsg-1
ii  libmagickwand-6.q16-6  8:6.9.10.8+dfsg-1
ii  libotf0                0.9.13-3+b1
ii  libpango-1.0-0         1.42.4-3
ii  libpangocairo-1.0-0    1.42.4-3
ii  libpng16-16            1.6.34-2
ii  librsvg2-2             2.40.20-3
ii  libselinux1            2.8-1+b1
ii  libsm6                 2:1.2.2-1+b3
ii  libtiff5               4.0.9-6
ii  libtinfo6              6.1+20180714-1
ii  libx11-6               2:1.6.6-1
ii  libx11-xcb1            2:1.6.6-1
ii  libxcb1                1.13-3
ii  libxfixes3             1:5.0.3-1
ii  libxft2                2.3.2-2
ii  libxinerama1           2:1.1.4-1
ii  libxml2                2.9.4+dfsg1-7+b1
ii  libxpm4                1:3.5.12-1
ii  libxrandr2             2:1.5.1-1
ii  libxrender1            1:0.9.10-1
ii  zlib1g                 1:1.2.11.dfsg-1

emacs-gtk recommends no packages.

Versions of packages emacs-gtk suggests:
pn  emacs-common-non-dfsg  <none>

-- no debconf information
Name[kn]=ಅದ್ವೈತ
Comment[kn]=ಕೇವಲ ಒಂದು ಮಾತ್ರ ಇದೆ
  • Bug#909699: emacs-gtk: crash on rendering Kannada script Zack Weinberg

Reply via email to