[GH-ISSUE #443] abort() on mips in <trust_dns_proto::error::ProtoError as core::convert::From<std::io::error::Error>>::from #191

Closed
opened 2026-03-07 22:42:52 +03:00 by kerem · 3 comments
Owner

Originally created by @aep on GitHub (Apr 30, 2018).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/443

libunwind may or may not be broken on mips, so i'm not sure where the point blame here. Should an unwind be caused at all by trust-dns? I'm unsure if this is an assert or unwrap somewhere.

#0  0x77efc1f8 in raise ()
#1  0x77ef9bfc in abort ()
#2  0x77ef6104 in uw_init_context_1 (context=0x77c97d80, outer_cfa=0x77c98180, 
    outer_ra=0x77eb7820 <backtrace::backtrace::trace+60>)
    at ../../../libgcc/unwind-dw2.c:1579
#3  0x77ef6d28 in _Unwind_Backtrace (
    trace=0x77eb79f0 <backtrace::backtrace::libunwind::trace::trace_fn>, 
    trace_argument=0x77c98198) at ../../../libgcc/unwind.inc:283
#4  0x77eb7820 in backtrace::backtrace::trace ()
#5  0x77eb83b0 in backtrace::capture::Backtrace::new ()
#6  0x77dc0168 in <trust_dns_proto::error::ProtoError as core::convert::From<std::io::error::Error>>::from ()
#7  0x77d3d130 in <trust_dns_proto::dns_handle::ClientStreamOrError<S, E, MF> as futures::future::Future>::poll ()
#8  0x77d6d344 in <futures::future::map_err::MapErr<A, F> as futures::future::Future>::poll ()
#9  0x77e76fbc in <tokio::executor::current_thread::Entered<'a, P>>::tick ()
#10 0x77e7df40 in tokio_core::reactor::Core::poll ()
#11 0x77d82d18 in trust_dns_resolver::resolver::Resolver::lookup_ip ()
#12 0x77d198c4 in hatch::services::lifeline1::main ()
#13 0x77cfc780 in std::sys_common::backtrace::__rust_begin_short_backtrace ()
#14 0x77cfd714 in std::panicking::try::do_call ()
#15 0x77ee85b0 in panic_unwind::__rust_maybe_catch_panic ()
---Type <return> to continue, or q <return> to quit---
    at /checkout/src/libpanic_unwind/lib.rs:99
#16 0x77d0e80c in <F as alloc::boxed::FnBox<A>>::call_box ()
#17 0x77edda6c in alloc::boxed::{{impl}}::call_once<(),()> ()
    at /checkout/src/liballoc/boxed.rs:736
#18 std::sys_common::thread::start_thread ()
    at /checkout/src/libstd/sys_common/thread.rs:24
#19 std::sys::imp::thread::{{impl}}::new::thread_start ()
    at /checkout/src/libstd/sys/unix/thread.rs:90
#20 0x77efead0 in start ()

Originally created by @aep on GitHub (Apr 30, 2018). Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/443 libunwind may or may not be broken on mips, so i'm not sure where the point blame here. Should an unwind be caused at all by trust-dns? I'm unsure if this is an assert or unwrap somewhere. ``` #0 0x77efc1f8 in raise () #1 0x77ef9bfc in abort () #2 0x77ef6104 in uw_init_context_1 (context=0x77c97d80, outer_cfa=0x77c98180, outer_ra=0x77eb7820 <backtrace::backtrace::trace+60>) at ../../../libgcc/unwind-dw2.c:1579 #3 0x77ef6d28 in _Unwind_Backtrace ( trace=0x77eb79f0 <backtrace::backtrace::libunwind::trace::trace_fn>, trace_argument=0x77c98198) at ../../../libgcc/unwind.inc:283 #4 0x77eb7820 in backtrace::backtrace::trace () #5 0x77eb83b0 in backtrace::capture::Backtrace::new () #6 0x77dc0168 in <trust_dns_proto::error::ProtoError as core::convert::From<std::io::error::Error>>::from () #7 0x77d3d130 in <trust_dns_proto::dns_handle::ClientStreamOrError<S, E, MF> as futures::future::Future>::poll () #8 0x77d6d344 in <futures::future::map_err::MapErr<A, F> as futures::future::Future>::poll () #9 0x77e76fbc in <tokio::executor::current_thread::Entered<'a, P>>::tick () #10 0x77e7df40 in tokio_core::reactor::Core::poll () #11 0x77d82d18 in trust_dns_resolver::resolver::Resolver::lookup_ip () #12 0x77d198c4 in hatch::services::lifeline1::main () #13 0x77cfc780 in std::sys_common::backtrace::__rust_begin_short_backtrace () #14 0x77cfd714 in std::panicking::try::do_call () #15 0x77ee85b0 in panic_unwind::__rust_maybe_catch_panic () ---Type <return> to continue, or q <return> to quit--- at /checkout/src/libpanic_unwind/lib.rs:99 #16 0x77d0e80c in <F as alloc::boxed::FnBox<A>>::call_box () #17 0x77edda6c in alloc::boxed::{{impl}}::call_once<(),()> () at /checkout/src/liballoc/boxed.rs:736 #18 std::sys_common::thread::start_thread () at /checkout/src/libstd/sys_common/thread.rs:24 #19 std::sys::imp::thread::{{impl}}::new::thread_start () at /checkout/src/libstd/sys/unix/thread.rs:90 #20 0x77efead0 in start () ```
kerem closed this issue 2026-03-07 22:42:57 +03:00
Author
Owner

@bluejekyll commented on GitHub (Apr 30, 2018):

It looks like backtrack may be having issues there? Backtrace is optional on master. Perhaps you can try the master branch? Though that has a lot of new tokio implementations, so it may not be easy.

<!-- gh-comment-id:385440681 --> @bluejekyll commented on GitHub (Apr 30, 2018): It looks like backtrack may be having issues there? Backtrace is optional on master. Perhaps you can try the master branch? Though that has a lot of new tokio implementations, so it may not be easy.
Author
Owner

@aep commented on GitHub (Apr 30, 2018):

Yes libunwind isn't that great. I'll try master later, thanks!

<!-- gh-comment-id:385445995 --> @aep commented on GitHub (Apr 30, 2018): Yes libunwind isn't that great. I'll try master later, thanks!
Author
Owner

@aep commented on GitHub (May 1, 2018):

master works nicely! thanks for the crate.

<!-- gh-comment-id:385760362 --> @aep commented on GitHub (May 1, 2018): master works nicely! thanks for the crate.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hickory-dns#191
No description provided.