Skip to content

panic in tracing #769

Closed
Closed
@extrawurst

Description

@extrawurst
06:45:16 [ERROR] panic: PanicInfo { payload: Any { .. }, message: Some(called `Result::unwrap()` on an `Err` value: Utf8Error { valid_up_to: 17, error_len: Some(1) }), location: Location { file: "/Users/brew/Library/Caches/Homebrew/cargo_cache/registry/src/github.com-1ecc6299db9ec823/git2-0.13.21/src/tracing.rs", line: 79, col: 58 } }
trace:
   0: backtrace::capture::Backtrace::new
   1: gitui::set_panic_handlers::{{closure}}
   2: std::panicking::rust_panic_with_hook
   3: std::panicking::begin_panic_handler::{{closure}}
   4: std::sys_common::backtrace::__rust_end_short_backtrace
   5: _rust_begin_unwind
   6: core::panicking::panic_fmt
   7: core::result::unwrap_failed
   8: core::result::Result<T,E>::unwrap
   9: git2::tracing::tracing_cb_c
  10: _git_trace__write_fmt
  11: _stream_write
  12: _git_http_client_send_body
  13: _http_stream_write
  14: _stream_thunk
  15: _write_one
  16: _write_pack
  17: _git_smart__push
  18: _git_push_finish
  19: _git_remote_upload
  20: _git_remote_push
  21: git2::remote::Remote::push
  22: std::sys_common::backtrace::__rust_begin_short_backtrace
  23: core::ops::function::FnOnce::call_once{{vtable.shim}}
  24: std::sys::unix::thread::Thread::new::thread_start
  25: _pthread_jit_write_protect_np

this was reported here: gitui-org/gitui#881 (comment)

probably caused because our tracing implementation (the callback) did not expect libgit2 sending non-utf8 tracing. turns out libgit2 traces arbitrary byte buffers. so its no wonder our to_str.unwrap chokes on it 🙈

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