Hi. Recently sublimetext was crashing while opening js files in the sidebar or scrolling down in other js files. I searched but couldn’t find others with similar issues.
What happened was I had installed js-beautify
and using that to prettify js files. Opening them caused sublime to crash.
build 4192
ubuntu 22.04.5
> subl --multiinstance --debug --safe-mode
...snip...
[362191:362191:20250402,230945.577452:ERROR elf_dynamic_array_reader.h:64] tag not found
[362191:362191:20250402,230945.577967:ERROR elf_dynamic_array_reader.h:64] tag not found
[362191:362192:20250402,230945.581697:ERROR directory_reader_posix.cc:42] opendir /home/s/.cache/sublime-text/Crash Reports/attachments/5110e7a3-eb4f-4be4-af80-36475ba86e18: No such file or directory (2)
Segmentation fault
> gdb --args /opt/sublime_text/sublime_text --multiinstance --debug
...snip...
[Thread 0x7fffea000640 (LWP 395382) exited]
[New Thread 0x7fffea000640 (LWP 395773)]
[Thread 0x7fffea000640 (LWP 395773) exited]
Thread 1 "sublime_text" received signal SIGSEGV, Segmentation fault.
0x0000555555e1ea40 in ?? ()
(gdb) bt
#0 0x0000555555e1ea40 in ()
#1 0x0000555555e30b82 in ()
#2 0x0000555555cba438 in ()
#3 0x000055555596a726 in ()
#4 0x000055555596a7c4 in ()
#5 0x000055555595ce53 in ()
#6 0x0000555555975ae1 in ()
#7 0x00005555559769e9 in ()
#8 0x000055555597ec1d in ()
#9 0x0000555555b2df6f in ()
#10 0x0000555555b2dfce in ()
#11 0x00007ffff7e47c44 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff7e9d2b8 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007ffff7e472b3 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007ffff4c48d2d in gtk_main () at /lib/x86_64-linux-gnu/libgtk-3.so
#15 0x0000555555b359e9 in ()
#16 0x000055555593acb2 in ()
#17 0x00007ffff7829d90 in __libc_start_call_main (main=main@entry=0x555555937900, argc=argc@entry=3, argv=argv@entry=0x7fffffffdd88) at ../sysdeps/nptl/libc_start_call_main.h:58
#18 0x00007ffff7829e40 in __libc_start_main_impl (main=0x555555937900, argc=3, argv=0x7fffffffdd88, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdd78) at ../csu/libc-start.c:392
#19 0x00005555558b9389 in ()
> strace -r subl --multiinstance --debug
...snip...
0.000142 gettid() = 400515
0.000029 gettid() = 400515
0.000124 futex(0x7a6984bcc000, FUTEX_WAKE, 1) = 1
0.000055 futex(0x7a6984bca000, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = -1 EAGAIN (Resource temporarily unavailable)
0.000027 futex(0x7a6984bcc000, FUTEX_WAKE, 1) = 1
0.000035 futex(0x7a6984bc6000, FUTEX_WAKE, 1) = 1
0.000052 futex(0x7a6984bc4000, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = 0
0.000033 futex(0x7a6984bc6000, FUTEX_WAKE, 1) = 1
0.000162 futex(0x7a6984bcc000, FUTEX_WAKE, 1) = 1
0.000038 futex(0x7a6984bca000, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = -1 EAGAIN (Resource temporarily unavailable)
0.000023 futex(0x7a6984bc6000, FUTEX_WAKE, 1) = 1
0.000110 write(7, "\1\0\0\0\0\0\0\0", 8) = 8
0.000028 futex(0x7a698afd5780, FUTEX_WAKE_PRIVATE, 1) = 1
0.000021 futex(0x7a69755740a0, FUTEX_WAKE_PRIVATE, 1) = 1
0.000020 futex(0x7a698ae40258, FUTEX_WAKE_PRIVATE, 1) = 1
0.000030 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
0.000029 writev(3, [{iov_base="*\2\3\0\4\0\300\5\4h\37\2\22\0\7\0\4\0\300\5w\1\0\0\6\0\0\0 \1\235\1"..., iov_len=56}, {iov_base=NULL, iov_len=0}, {iov_base="", iov_len=0}], 3) = 56
0.000033 recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="#\203\204\17\22\0\0\0\n\0\3\0\6h\37\2\3\0\0\2\345\3\0\0\3\0\300\5\0\0\0\0"..., iov_len=4096}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 208
0.000033 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
0.000026 poll([{fd=3, events=POLLIN}, {fd=4, events=POLLIN}, {fd=8, events=POLLIN}, {fd=10, events=POLLIN}, {fd=13, events=POLLIN}], 5, 0) = 1 ([{fd=10, revents=POLLIN}])
0.000036 recvmsg(3, {msg_namelen=0}, 0) = -1 EAGAIN (Resource temporarily unavailable)
0.000025 write(4, "\1\0\0\0\0\0\0\0", 8) = 8
0.000023 futex(0x7a6984bc6000, FUTEX_WAKE, 1) = 1
0.000021 futex(0x7a6984bc6000, FUTEX_WAKE, 1) = 1
0.000112 futex(0x7a6984bcc000, FUTEX_WAKE, 1) = 1
0.000038 futex(0x7a6984bcc000, FUTEX_WAKE, 1) = 0
0.000026 futex(0x7a6984bcc000, FUTEX_WAKE, 1) = 1
0.000047 futex(0x7a6984bca000, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = 0
0.000120 futex(0x7a6984bc6000, FUTEX_WAKE, 1) = 1
0.000051 futex(0x7a6984bc6000, FUTEX_WAKE, 1) = 1
0.000051 futex(0x7a6984bc4000, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = 0
0.002145 futex(0x7a6984bc6000, FUTEX_WAKE, 1) = 1
0.000089 futex(0x7a6984bc4000, FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME, 0, NULL, FUTEX_BITSET_MATCH_ANY) = 0
0.032547 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x7a69675fffe8} ---
0.000037 gettid() = 400515
0.000025 prctl(PR_GET_DUMPABLE) = 1 (SUID_DUMP_USER)
0.000025 prctl(PR_SET_PTRACER, 400520) = 0
0.000024 rt_sigprocmask(SIG_BLOCK, [CONT], [SEGV], 8) = 0
0.000034 sendmsg(12, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\1\0\0\0\1\0\0\0\340\362\274\204iz\0\0\10\326\3\203iz\0\0\0\0\0\0\0\0\0\0"..., iov_len=40}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 40
0.000037 rt_sigtimedwait([CONT], [400520:400520:20250402,235045.732310:ERROR scoped_ptrace_attach.cc:27] ptrace: Operation not permitted (1)
{si_signo=SIGCONT, si_code=SI_TKILL, si_pid=400520, si_uid=1000}, {tv_sec=5, tv_nsec=0}, 8) = 18 (SIGCONT)
0.000282 rt_sigprocmask(SIG_SETMASK, [SEGV], NULL, 8) = 0
0.000024 futex(0x7a698303d628, FUTEX_WAKE_PRIVATE, 2147483647) = 0
0.000024 rt_sigaction(SIGSEGV, {sa_handler=SIG_DFL, sa_mask=[], sa_flags=SA_RESTORER, sa_restorer=0x7a698b242520}, NULL, 8) = 0
0.000025 getpid() = 400515
0.000021 gettid() = 400515
0.000021 rt_tgsigqueueinfo(400515, 400515, SIGSEGV, {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x7a69675fffe8}) = 0
0.000025 rt_sigreturn({mask=[]}) = 134592904760240
0.000025 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x7a69675fffe8} ---
0.029948 +++ killed by SIGSEGV +++
Segmentation fault
workaround:
- Disable all javascript packages
- open affected js files
- select all. reindent
- Enable javascript packages.
- set syntax: javascript and use
HTML-CSS-JS Prettify
from package control to beautify
I’ve since uninstalled js-beautify
. Perhaps the parsing was conflicting with sublime.
Posting this here in case it helps someone, though I might be the only one with this issue
have a good weekend all