extrawurst / gitui

Blazing 💥 fast terminal-ui for git written in rust 🦀
MIT License
18.63k stars 573 forks source link

Crash when commiting #2426

Closed fedpo2 closed 1 week ago

fedpo2 commented 2 weeks ago

Describe the bug gitui crashes and is unable to be executed again until the os is rebooted

To Reproduce Steps to reproduce the behavior:

  1. stage files for commit
  2. try to commit
  3. the program closes
  4. see error

Expected behavior you should be able to commit staged files

Screenshots image

Context (please complete the following information):

fedpo2 commented 1 week ago

some info of the core dump using gdb

gdb /bin/gitui ~/core.gitui.1000.e48a2d608bfc40d99b6d7f28fbae1cd6.32877.1731125512000000

GNU gdb (GDB) 15.2
Copyright (C) 2024 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /bin/gitui...

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.archlinux.org>
Enable debuginfod for this session? (y or [n]) y
Debuginfod has been enabled.
To make this setting permanent, add 'set debuginfod enabled on' to .gdbinit.
Reading symbols from /home/fede/.cache/debuginfod_client/1055dfbad5d19b51733b2946b470a508763142bc/debuginfo...
(No debugging symbols found in /home/fede/.cache/debuginfod_client/1055dfbad5d19b51733b2946b470a508763142bc/debuginfo)
[New LWP 32878]
[New LWP 32877]
[New LWP 32882]
[New LWP 32881]
[New LWP 32879]
[New LWP 32880]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `gitui'.
Program terminated with signal SIGABRT, Aborted.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x76bb6f0006c0 (LWP 32878))]
warning: Missing auto-load script at offset 0 in section .debug_gdb_scripts
of file /usr/bin/gitui.
Use `info auto-load python-scripts [REGEXP]' to list them.
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x000076bb6f7ad463 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:78
#2  0x000076bb6f754120 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x000076bb6f73b4c3 in __GI_abort () at abort.c:79
#4  0x0000584e9004a46a in std::sys::pal::unix::abort_internal ()
#5  0x0000584e8fd73c99 in std::process::abort ()
#6  0x0000584e8fe28697 in gitui::set_panic_handlers::{{closure}} ()
#7  0x0000584e8fe7456e in <rayon_core::job::HeapJob<BODY> as rayon_core::job::Job>::execute ()
#8  0x0000584e8fd6fc0b in rayon_core::registry::WorkerThread::wait_until_cold ()
#9  0x0000584e8ffc93a2 in std::sys::backtrace::__rust_begin_short_backtrace ()
#10 0x0000584e8ffc9239 in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#11 0x0000584e900859cb in std::sys::pal::unix::thread::Thread::new::thread_start ()
#12 0x000076bb6f7ab39d in start_thread (arg=<optimized out>) at pthread_create.c:447
#13 0x000076bb6f83049c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
(gdb) info registers
rax            0x0                 0
rbx            0x806e              32878
rcx            0x76bb6f7ad3f4      130547401282548
rdx            0x6                 6
rsi            0x806e              32878
rdi            0x806d              32877
rbp            0x76bb6effe2a0      0x76bb6effe2a0
rsp            0x76bb6effe260      0x76bb6effe260
r8             0x0                 0
r9             0x7                 7
r10            0x8                 8
r11            0x246               582
r12            0x76bb6f0006c0      130547393234624
r13            0x76bb5c010680      130547074532992
r14            0x6                 6
r15            0x76bb5c005290      130547074486928
rip            0x76bb6f7ad3f4      0x76bb6f7ad3f4 <__pthread_kill_implementation+276>
eflags         0x246               [ PF ZF IF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
fs_base        0x76bb6f0006c0      130547393234624
gs_base        0x0                 0
(gdb) list
39               delivery of all pending signals after unblocking in the code
40               below.  POSIX only guarantees delivery of a single signal,
41               which may not be the right one.)  */
42            pid_t tid = INTERNAL_SYSCALL_CALL (gettid);
43            int ret = INTERNAL_SYSCALL_CALL (tgkill, __getpid (), tid, signo);
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
45          }
46
47        /* Block all signals, as required by pd->exit_lock.  */
48        internal_sigset_t old_mask;
(gdb) 
extrawurst commented 1 week ago

duplicate of https://github.com/extrawurst/gitui/issues/2358 - please use a newer nightly