Subject: segfault when starting Emacs using X11

From: Zack Piper <[email-masked]>
Date: Wed, 18 May 2016 11:00:37 +0000

Hi!

Apparently starting Emacs in an X11 window makes it segfault.

Steps to reproduce:

`emacs -Q` (make sure it's running under X11)

Segfault will occur.

Version info:

  openSUSE 42.1, Emacs 07ebcf1bd964ae64446c52fb5481e919ed577358 (latest from master branch)

Emacs compiled with: CLFAGS='O0 -g3' ./configure --enable-checking='yes,glyphs' --enable-check-lisp-object-type --with-rsvg --with-gif --with-xft --prefix=/home/zack/ins --with-gnutls --with-modules  --with-xwidgets

GDB info:

(gdb) run -Q
Starting program: /home/zack/ins/bin/emacs -Q
Missing separate debuginfos, use: zypper install glibc-debuginfo-2.19-19.1.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Detaching after fork from child process 22502.
[New Thread 0x7fffe2112700 (LWP 22506)]
Detaching after fork from child process 22507.

xfaces.c:5449: Emacs fatal error: assertion failed: FRAME_FACE_CACHE (f)->faces_by_id[DEFAULT_FACE_ID]
Fatal error 6: Aborted
Backtrace:
/home/zack/ins/bin/emacs[0x550602]
/home/zack/ins/bin/emacs[0x53298f]
/home/zack/ins/bin/emacs[0x5996fe]
/home/zack/ins/bin/emacs[0x4f6c6e]
/home/zack/ins/bin/emacs[0x4f7aa8]
/home/zack/ins/bin/emacs[0x5babb8]
/home/zack/ins/bin/emacs[0x5fdd5d]
/home/zack/ins/bin/emacs[0x5ba4fd]
/home/zack/ins/bin/emacs[0x5ba983]
/home/zack/ins/bin/emacs[0x5fdd5d]
/home/zack/ins/bin/emacs[0x5ba4fd]
/home/zack/ins/bin/emacs[0x5ba983]
/home/zack/ins/bin/emacs[0x5fdd5d]
/home/zack/ins/bin/emacs[0x5ba63e]
/home/zack/ins/bin/emacs[0x5ba983]
/home/zack/ins/bin/emacs[0x5bc404]
/home/zack/ins/bin/emacs[0x5bacb9]
/home/zack/ins/bin/emacs[0x5fdd5d]
/home/zack/ins/bin/emacs[0x5ba63e]
/home/zack/ins/bin/emacs[0x5ba983]
/home/zack/ins/bin/emacs[0x5fdd5d]
/home/zack/ins/bin/emacs[0x5ba63e]
/home/zack/ins/bin/emacs[0x5ba983]
/home/zack/ins/bin/emacs[0x5fdd5d]
/home/zack/ins/bin/emacs[0x5ba63e]
/home/zack/ins/bin/emacs[0x5ba983]
/home/zack/ins/bin/emacs[0x5fdd5d]
/home/zack/ins/bin/emacs[0x5ba63e]
/home/zack/ins/bin/emacs[0x5ba983]
/home/zack/ins/bin/emacs[0x5fdd5d]
/home/zack/ins/bin/emacs[0x5ba63e]
/home/zack/ins/bin/emacs[0x5b978d]
/home/zack/ins/bin/emacs[0x5b9ae3]
/home/zack/ins/bin/emacs[0x5be27c]
/home/zack/ins/bin/emacs[0x532f52]
/home/zack/ins/bin/emacs[0x5b8ead]
/home/zack/ins/bin/emacs[0x532f2c]
/home/zack/ins/bin/emacs[0x5b8e5b]
/home/zack/ins/bin/emacs[0x532e66]
/home/zack/ins/bin/emacs[0x538b48]
/home/zack/ins/bin/emacs[0x538ea8]
/home/zack/ins/bin/emacs[0x41c2d8]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7fffed8c1b05]
/home/zack/ins/bin/emacs[0x41cd75]
[New Thread 0x7fffe1911700 (LWP 22518)]
[New Thread 0x7fffe2cc2700 (LWP 22452)]

Program received signal SIGABRT, Aborted.
0x00007fffee49873b in raise () from /lib64/libpthread.so.0

(gdb) bt full
#0  0x00007fffee49873b in raise () at /lib64/libpthread.so.0
#1  0x0000000000532951 in terminate_due_to_signal (sig=sig@entry=6, backtrace_limit=backtrace_limit@entry=2147483647) at emacs.c:395
#2  0x00000000005996fe in die (msg=msg@entry=0x65e718 "FRAME_FACE_CACHE (f)->faces_by_id[DEFAULT_FACE_ID]", file=file@entry=0x668c9b "xfaces.c", line=line@entry=5449) at alloc.c:7219
#3  0x00000000004f6c6e in realize_face (cache=0x1771560, attrs=0x1376168) at xfaces.c:5449
        stipple = <optimized out>
        overline = <optimized out>
        strike_through = <optimized out>
        box = <optimized out>
        face = 0x17c1530
        default_face = <optimized out>
        f = 0x1374e50
        underline = <optimized out>
        face = <optimized out>
#4  0x00000000004f6c6e in realize_face (cache=cache@entry=0x1771560, attrs=0x1376168, former_face_id=former_face_id@entry=0) at xfaces.c:5373
        face = <optimized out>
#5  0x00000000004f7aa8 in Finternal_merge_in_global_face (face=..., frame=...) at xfaces.c:3708
        c = 0x1771560
        newface = <optimized out>
        oldface = <optimized out>
        attrs =
            {{i = 20688}, {i = 26903588}, {i = 9552708}, {i = 35952}, {i = 454}, {i = 35952}, {i = 35952}, {i = 0}, {i = 0}, {i = 27036692}, {i = 27036724}, {i = 0}, {i = 0}, {i = 0}, {i = 0}, {i = 20418837---Type <return> to continue, or q <return> to quit---
}, {i = 0}, {i = 26903940}, {i = 48768}}
        i = <optimized out>
        global_lface = {i = 13756765}
        gvec = 0xd1e960
        lvec = <optimized out>
#6  0x00000000005babb8 in Ffuncall (nargs=3, args=<optimized out>) at eval.c:2704
        internal_argbuf =
            {{i = 0}, {i = 4462871}, {i = 45312}, {i = 5925832}, {i = 27036724}, {i = 0}, {i = 31536}, {i = 6040709}}
        fun = <optimized out>
        funcar = <optimized out>
        numargs = 2
        val = <optimized out>
        internal_args = <optimized out>
        count = 25
#7  0x00000000005fdd5d in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=nargs@entry=0, args=0x8d7b30 <re_max_failures>, args@entry=0x0) at bytecode.c:880
        targets =
          {0x5fddef <exec_byte_code+911>, 0x5fe3c1 <exec_byte_code+2401>, 0x5fe3c6 <exec_byte_code+2406>, 0x5fe3cb <exec_byte_code+2411>, 0x5fdbe2 <exec_byte_code+386>, 0x5fdbe8 <exec_byte_code+392>, 0x5fdec5 <exec_byte_code+1125>, 0x5fdf02 <exec_byte_code+1186>, 0x5fe081 <exec_byte_code+1569>, 0x5fe086 <exec_byte_code+1574>, 0x5fe08b <exec_byte_code+1579>, 0x5fe095 <exec_byte_code+1589>, 0x5fdc19 <exec_byte_code+441>, 0x5fdc20 <exec_byte_code+448>, 0x5fe0ba <exec_byte_code+1626>, 0x5fe05a <exec_byte_code+1530>, 0x5fe265 <exec_byte_code+2053>, 0x5fe26a <exec_byte_code+2058>, 0x5fe2e7 <exec_byte_code+2183>, 0x5fe2ec <exec_byte_code+2188>, 0x5fdc83 <exec_byte_code+547>, 0x5fdc88 <exec_byte_code+552>, 0x5fe296 <exe---Type <return> to continue, or q <return> to quit---q
Python Exception <type 'exceptions.KeyboardInterrupt'> Quit:
#8  0x00000000005ba4fd in funcall_lambda (fun=..., nargs=nargs@entry=2, arg_vector=arg_vector@entry=0x7fffffffb7a0) at eval.c:2929
        syms_left = {i = 0}
        next = <optimized out>
        lexenv = <optimized out>
        i = <optimized out>
        optional = <optimized out>
        rest = <optimized out>
#9  0x00000000005ba983 in Ffuncall (nargs=3, args=0x7fffffffb798) at eval.c:2762
        fun = <optimized out>
        funcar = <optimized out>
        numargs = 2
        val = <optimized out>
        internal_args = <optimized out>
        count = 20
#10 0x00000000005fdd5d in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=nargs@entry=0, args=0x8d7b30 <re_max_failures>, args@entry=0x0) at bytecode.c:880
        targets =
          {0x5fddef <exec_byte_code+911>, 0x5fe3c1 <exec_byte_code+2401>, 0x5fe3c6 <exec_byte_code+2406>, 0x5fe3cb <exec_byte_code+2411>, 0x5fdbe2 <exec_byte_code+386>, 0x5fdbe8 <exec_byte_code+392>, 0x5fdec5 <exec_byte_code+1125>, 0x5fdf02 <exec_byte_code+1186>, 0x5fe081 <exec_byte_code+1569>, 0x5fe086 <exec_byte_code+1574>, 0x5fe08b <exec_byte_code+1579>, 0x5fe095 <exec_byte_code+1589>, 0x5fdc19 <exec_byte_code+441>, 0x5fdc20 <exec_byte_code+448>, 0x5fe0ba <exec_byte_code+1626>, 0x5fe05a <exec_byte_code+1530>, 0x5fe265 <exec_byte_code+2053>, 0x5fe26a <exec_byte_code+2058>, 0x5fe2e7 <exec_byte_code+2183>, 0x5fe2ec <exec_byte_code+2188>, 0x5fdc83 <exec_byte_code+547>, 0x5fdc88 <exec_byte_code+552>, 0x5fe296 <exe---Type <return> to continue, or q <return> to quit---q
Python Exception <type 'exceptions.KeyboardInterrupt'> Quit:
#11 0x00000000005ba4fd in funcall_lambda (fun=..., nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7fffffffb978) at eval.c:2929
        syms_left = {i = 0}
        next = <optimized out>
        lexenv = <optimized out>
        i = <optimized out>
        optional = <optimized out>
        rest = <optimized out>
#12 0x00000000005ba983 in Ffuncall (nargs=2, args=0x7fffffffb970) at eval.c:2762
        fun = <optimized out>
        funcar = <optimized out>
        numargs = 1
        val = <optimized out>
        internal_args = <optimized out>
        count = 12
#13 0x00000000005fdd5d in exec_byte_code (bytestr=..., vector=..., maxdepth=..., args_template=..., nargs=0, nargs@entry=1, args=0x8d7b30 <re_max_failures>, args@entry=0x7fffffffbc58) at bytecode.c:880
        targets =
          {0x5fddef <exec_byte_code+911>, 0x5fe3c1 <exec_byte_code+2401>, 0x5fe3c6 <exec_byte_code+2406>, 0x5fe3cb <exec_byte_code+2411>, 0x5fdbe2 <exec_byte_code+386>, 0x5fdbe8 <exec_byte_code+392>, 0x5fdec5 <exec_byte_code+1125>, 0x5fdf02 <exec_byte_code+1186>, 0x5fe081 <exec_byte_code+1569>, 0x5fe086 <exec_byte_code+1574>, 0x5fe08b <exec_byte_code+1579>, 0x5fe095 <exec_byte_code+1589>, 0x5fdc19 <exec_byte_code+441>, 0x5fdc20 <exec_byte_code+448>, 0x5fe0ba <exec_byte_code+1626>, 0x5fe05a <exec_byte_code+1530>, 0x5fe265 <exec_byte_code+2053>, 0x5fe26a <exec_byte_code+2058>, 0x5fe2e7 <exec_byte_code+2183>, 0x5fe2ec <exec_byte_code+2188>, 0x5fdc83 <exec_byte_code+547>, 0x5fdc88 <exec_byte_code+552>, 0x5fe296 <exe---Type <return> to continue, or q <return> to quit---q
Python Exception <type 'exceptions.KeyboardInterrupt'> Quit:
#14 0x00000000005ba63e in funcall_lambda (fun=..., nargs=nargs@entry=1, arg_vector=arg_vector@entry=0x7fffffffbc58) at eval.c:2863
        size = <optimized out>
        syms_left = {i = 1030}
        next = <optimized out>
        lexenv = <optimized out>
        i = <optimized out>
        optional = <optimized out>
        rest = <optimized out>
#15 0x00000000005ba983 in Ffuncall (nargs=nargs@entry=2, args=args@entry=0x7fffffffbc50)
    at eval.c:2762
        fun = <optimized out>
        funcar = <optimized out>
        numargs = 1
        val = <optimized out>
        internal_args = <optimized out>
        count = 11
#16 0x00000000005bc404 in Fapply (nargs=2, args=0x7fffffffbc50) at eval.c:2286
        i = <optimized out>
        numargs = <optimized out>
        funcall_nargs = <optimized out>
        funcall_args = 0x0
        spread_arg = <optimized out>
        fun = {i = 20078533}
        retval = <optimized out>
---Type <return> to continue, or q <return> to quit---q
Quit

Thanks for any help!