alacritty: Alacritty Segfaults on Start

On Arch Linux running i3 (X11) running alacritty causes a segfault.

$ alacritty
Config `dimensions` is deprecated. Please use `window.dimensions` instead.
Config `padding` is deprecated. Please use `window.padding` instead.
Segmentation fault (core dumped)

Alacritty is being compiled with Stable Rust 1.23

$ rustc --version
rustc 1.23.0 (766bd11c8 2018-01-01)

If I try to run alacritty from inside Valgrind I get the following

$ valgrind alacritty
==7281== Memcheck, a memory error detector
==7281== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==7281== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info
==7281== Command: alacritty
==7281== 
Config `dimensions` is deprecated. Please use `window.dimensions` instead.
Config `padding` is deprecated. Please use `window.padding` instead.
==7281== Conditional jump or move depends on uninitialised value(s)
==7281==    at 0x8444D0C: ??? (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x844546D: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Conditional jump or move depends on uninitialised value(s)
==7281==    at 0x8444D26: ??? (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x844546D: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Use of uninitialised value of size 8
==7281==    at 0x8444DA4: ??? (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x844546D: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Use of uninitialised value of size 8
==7281==    at 0x8444E06: ??? (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x844546D: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Use of uninitialised value of size 8
==7281==    at 0x8444EBC: ??? (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x844546D: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Use of uninitialised value of size 8
==7281==    at 0x84454D9: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Use of uninitialised value of size 8
==7281==    at 0x84455C0: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Conditional jump or move depends on uninitialised value(s)
==7281==    at 0x4C301BC: strcpy (vg_replace_strmem.c:510)
==7281==    by 0x8444F96: _XUpdateAtomCache (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x8445206: ??? (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x845969C: ??? (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x845A614: _XReply (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x84454FF: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Conditional jump or move depends on uninitialised value(s)
==7281==    at 0x4C301D8: strcpy (vg_replace_strmem.c:510)
==7281==    by 0x8444F96: _XUpdateAtomCache (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x8445206: ??? (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x845969C: ??? (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x845A614: _XReply (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x84454FF: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Use of uninitialised value of size 8
==7281==    at 0x8444F9E: _XUpdateAtomCache (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x8445206: ??? (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x845969C: ??? (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x845A614: _XReply (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x84454FF: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Use of uninitialised value of size 8
==7281==    at 0x8444FB4: _XUpdateAtomCache (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x8445206: ??? (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x845969C: ??? (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x845A614: _XReply (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x84454FF: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Conditional jump or move depends on uninitialised value(s)
==7281==    at 0x8444F5E: _XUpdateAtomCache (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x8445602: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Conditional jump or move depends on uninitialised value(s)
==7281==    at 0x4C301BC: strcpy (vg_replace_strmem.c:510)
==7281==    by 0x8444F96: _XUpdateAtomCache (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x8445602: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Conditional jump or move depends on uninitialised value(s)
==7281==    at 0x4C301D8: strcpy (vg_replace_strmem.c:510)
==7281==    by 0x8444F96: _XUpdateAtomCache (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x8445602: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Use of uninitialised value of size 8
==7281==    at 0x8444F9E: _XUpdateAtomCache (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x8445602: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Use of uninitialised value of size 8
==7281==    at 0x8444FB4: _XUpdateAtomCache (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x8445602: XInternAtoms (in /usr/lib/libX11.so.6.3.0)
==7281==    by 0x38E349: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D61F4: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281== 
==7281== Invalid read of size 1
==7281==    at 0x4C30102: __strlen_sse2 (vg_replace_strmem.c:460)
==7281==    by 0x4C241D: ??? (in /usr/bin/alacritty)
==7281==    by 0x300CD0: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D68FE: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==7281== 
==7281== 
==7281== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==7281==  Access not within mapped region at address 0x0
==7281==    at 0x4C30102: __strlen_sse2 (vg_replace_strmem.c:460)
==7281==    by 0x4C241D: ??? (in /usr/bin/alacritty)
==7281==    by 0x300CD0: ??? (in /usr/bin/alacritty)
==7281==    by 0x2D68FE: ??? (in /usr/bin/alacritty)
==7281==    by 0x21DF01: ??? (in /usr/bin/alacritty)
==7281==    by 0x21A658: ??? (in /usr/bin/alacritty)
==7281==    by 0x229BE6: ??? (in /usr/bin/alacritty)
==7281==    by 0x5DA8F49: (below main) (in /usr/lib/libc-2.26.so)
==7281==  If you believe this happened as a result of a stack
==7281==  overflow in your program's main thread (unlikely but
==7281==  possible), you can try to increase the size of the
==7281==  main thread stack using the --main-stacksize= flag.
==7281==  The main thread stack size used in this run was 8388608.
==7281== 
==7281== HEAP SUMMARY:
==7281==     in use at exit: 157,666 bytes in 1,103 blocks
==7281==   total heap usage: 1,543 allocs, 440 frees, 234,058 bytes allocated
==7281== 
==7281== LEAK SUMMARY:
==7281==    definitely lost: 0 bytes in 0 blocks
==7281==    indirectly lost: 0 bytes in 0 blocks
==7281==      possibly lost: 160 bytes in 2 blocks
==7281==    still reachable: 157,506 bytes in 1,101 blocks
==7281==         suppressed: 0 bytes in 0 blocks
==7281== Rerun with --leak-check=full to see details of leaked memory
==7281== 
==7281== For counts of detected and suppressed errors, rerun with: -v
==7281== Use --track-origins=yes to see where uninitialised values come from
==7281== ERROR SUMMARY: 109 errors from 17 contexts (suppressed: 30 from 3)
Segmentation fault (core dumped)

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 1
  • Comments: 24 (16 by maintainers)

Most upvoted comments

@maximbaz Removing alacritty.yml causes the deprecation notices to go away, but it segfaults nonetheless. @jwilm working on the debug builds, will post call stack shortly.