Skip to content

CLI can hang on panic #668

@kkartaltepe

Description

@kkartaltepe

It seems that when parsing particular files the cli can hang after emitting a panic message like:

20:58:16 [ERROR] A panic occurred at src/utils.rs:202: called `Option::unwrap()` on a `None` value

When parsing files from the kde flatpak debug packages, of note ./packages//flatpak/runtime/org.kde.Sdk.Debug/x86_64/6.5/faf848ff0eca5e44fa6024276027b7ff07b9495e86f4d1c4f359e400084730c7/files/dwz/components/systemd-base.bst/x86_64-unknown-linux-gnu

The hung process has two threads with the following stacks:

#0  0x00007df3ffca5ebe in ?? () from target:/usr/lib/libc.so.6
#1  0x00007df3ffcab0e3 in ?? () from target:/usr/lib/libc.so.6
#2  0x000064454e777ced in std::sys::unix::thread::Thread::join ()
#3  0x000064454e1e4e15 in std::thread::JoinInner<T>::join ()
#4  0x000064454e20ce9b in dump_syms::dumper::several_files ()
#5  0x000064454e1a15b7 in dump_syms::main ()
#6  0x000064454e1a96e3 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#7  0x000064454e1a5e59 in std::rt::lang_start::{{closure}} ()
#8  0x000064454e767fcd in std::rt::lang_start_internal ()
#9  0x000064454e1a5e4e in std::rt::lang_start ()
#10 0x00007df3ffc43cd0 in ?? () from target:/usr/lib/libc.so.6
#11 0x00007df3ffc43d8a in __libc_start_main () from target:/usr/lib/libc.so.6
#12 0x000064454e1999f5 in _start ()

#0  0x00007df3ffd2488d in syscall () from target:/usr/lib/libc.so.6
#1  0x000064454e768614 in std::thread::park ()
#2  0x000064454e1ee996 in crossbeam_channel::context::Context::wait_until ()
#3  0x000064454e1eef8f in crossbeam_channel::flavors::array::Channel<T>::recv::{{closure}} ()
#4  0x000064454e1eed1d in crossbeam_channel::flavors::array::Channel<T>::recv ()
#5  0x000064454e1cb72a in crossbeam_channel::channel::Receiver<T>::recv ()
#6  0x000064454e20a7d2 in dump_syms::dumper::consumer ()
#7  0x000064454e1f5b2f in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#8  0x000064454e1e575e in core::ops::function::FnOnce::call_once{{vtable.shim}} ()
#9  0x000064454e777bc5 in std::sys::unix::thread::Thread::new::thread_start ()
#10 0x00007df3ffca955a in ?? () from target:/usr/lib/libc.so.6
#11 0x00007df3ffd26a3c in ?? () from target:/usr/lib/libc.so.6

This was tested using a package installed via cargo an an up to date archlinux machine:

dump_syms v2.2.2 (https://github.com/mozilla/dump_syms.git#53341ef5):
    dump_syms

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions