Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Library panics with 'misaligned pointer dereference' error #55

Closed
dhruvkb opened this issue Jul 9, 2023 · 3 comments
Closed

Library panics with 'misaligned pointer dereference' error #55

dhruvkb opened this issue Jul 9, 2023 · 3 comments

Comments

@dhruvkb
Copy link

dhruvkb commented Jul 9, 2023

When I try a simple program to get the info for group 5, 'operator' on macOS, the program panics with 'misaligned pointer dereference: address must be a multiple of 0x8 but is 0x14480860b'

use users:{get_group_by_gid};

fn main() {
	let group = get_group_by_gid(5).unwrap();
	println!("{:?}", group.name());
}
thread 'main' panicked at 'misaligned pointer dereference: address must be a multiple of 0x8 but is 0x14480860b', /Users/dhruvkb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/users-0.11.0/src/base.rs:297:34
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'panic in a function that cannot unwind', library/core/src/panicking.rs:126:5
stack backtrace:
   0:        0x10490ae70 - std::backtrace_rs::backtrace::libunwind::trace::h0a647ce7e8dc2fab
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:        0x10490ae70 - std::backtrace_rs::backtrace::trace_unsynchronized::hea920694a2a8ac80
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:        0x10490ae70 - std::sys_common::backtrace::_print_fmt::h7b4e20c1da2ebb61
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:65:5
   3:        0x10490ae70 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h819e9cbdf1a9e730
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:44:22
   4:        0x1049227c8 - core::fmt::write::ha5e9bf3131ecb7c0
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/fmt/mod.rs:1254:17
   5:        0x1049086f0 - std::io::Write::write_fmt::h414ce9994bf17404
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/io/mod.rs:1698:15
   6:        0x10490ac84 - std::sys_common::backtrace::_print::h28d98f2094da6d1d
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:47:5
   7:        0x10490ac84 - std::sys_common::backtrace::print::h8072db0bbd5bcc3d
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:34:9
   8:        0x10490c1a4 - std::panicking::default_hook::{{closure}}::h2c85c5b0c2ede151
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:269:22
   9:        0x10490bf64 - std::panicking::default_hook::hcf2f70992d02f6fe
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:288:9
  10:        0x10490c67c - std::panicking::rust_panic_with_hook::h023af7f90b47eb8b
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:691:13
  11:        0x10490c570 - std::panicking::begin_panic_handler::{{closure}}::h14283519edc1d634
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:580:13
  12:        0x10490b290 - std::sys_common::backtrace::__rust_end_short_backtrace::hc366c0b0cef5b747
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:150:18
  13:        0x10490c344 - rust_begin_unwind
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:578:5
  14:        0x1049350b4 - core::panicking::panic_nounwind_fmt::h48fca0782e5a5b33
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/panicking.rs:96:14
  15:        0x104935130 - core::panicking::panic_nounwind::hc8dbc36c10163a33
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/panicking.rs:126:5
  16:        0x104935228 - core::panicking::panic_cannot_unwind::h8bbe98643cda7e5c
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/panicking.rs:188:5
  17:        0x1046231c4 - users::base::members::h4b04c104b03b5dc7
                               at /Users/dhruvkb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/users-0.11.0/src/base.rs:291:1
  18:        0x104620db8 - users::base::os::unix::GroupExtras::from_struct::hd0996ceb72aaa79f
                               at /Users/dhruvkb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/users-0.11.0/src/base.rs:1060:33
  19:        0x104622fb4 - users::base::struct_to_group::h51af19c287452270
                               at /Users/dhruvkb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/users-0.11.0/src/base.rs:280:19
  20:        0x104623900 - users::base::get_group_by_gid::ha8a8b2a2c9e631bd
                               at /Users/dhruvkb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/users-0.11.0/src/base.rs:473:26
  21:        0x104629970 - <users::cache::UsersCache as users::traits::Groups>::get_group_by_gid::h0734a478540ff270
                               at /Users/dhruvkb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/users-0.11.0/src/cache.rs:291:30
  22:        0x1045e6dfc - <pls::models::owner::OwnerMan as core::default::Default>::default::hac1e2e76a342f1bc
                               at /Users/dhruvkb/Developer/personal/mega/pls/src/models/owner.rs:36:15
  23:        0x10459d5a0 - pls::models::pls::Pls::list::h7380d37d48293584
                               at /Users/dhruvkb/Developer/personal/mega/pls/src/models/pls.rs:54:23
  24:        0x10459d908 - pls::models::pls::Pls::run::h9d3a92469cd4f4f4
                               at /Users/dhruvkb/Developer/personal/mega/pls/src/models/pls.rs:89:7
  25:        0x10459cf40 - pls::main::h5e2c7abac9dc06f0
                               at /Users/dhruvkb/Developer/personal/mega/pls/src/main.rs:15:2
  26:        0x1045a8764 - core::ops::function::FnOnce::call_once::h4b0e21d5f464699e
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/ops/function.rs:250:5
  27:        0x1045de2a0 - std::sys_common::backtrace::__rust_begin_short_backtrace::hb682b34e30f3de1d
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/sys_common/backtrace.rs:134:18
  28:        0x1045e8450 - std::rt::lang_start::{{closure}}::h7628ef326ae876a7
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/rt.rs:166:18
  29:        0x104904d04 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h6f7eb9f266759f90
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/core/src/ops/function.rs:287:13
  30:        0x104904d04 - std::panicking::try::do_call::h54b2febb9ea02379
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:485:40
  31:        0x104904d04 - std::panicking::try::h95a2f9f45aeb75ea
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:449:19
  32:        0x104904d04 - std::panic::catch_unwind::h9686256fa0fc97a1
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panic.rs:140:14
  33:        0x104904d04 - std::rt::lang_start_internal::{{closure}}::h227e8b10bc4e486b
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/rt.rs:148:48
  34:        0x104904d04 - std::panicking::try::do_call::h414d500a3ee5fa44
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:485:40
  35:        0x104904d04 - std::panicking::try::h4f025820961f1c3f
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panicking.rs:449:19
  36:        0x104904d04 - std::panic::catch_unwind::h0b71dfe3538d125d
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/panic.rs:140:14
  37:        0x104904d04 - std::rt::lang_start_internal::h8ee16b8f6c950a26
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/rt.rs:148:20
  38:        0x1045e841c - std::rt::lang_start::had4655a8be1c3515
                               at /rustc/90c541806f23a127002de5b4038be731ba1458ca/library/std/src/rt.rs:165:17
  39:        0x10459cfa8 - _main
thread caused non-unwinding panic. aborting.
@dhruvkb
Copy link
Author

dhruvkb commented Jul 9, 2023

I know exa uses the library so I cloned it, added the same two lines to its main() function and it works there!

Screenshot 2023-07-09 at 4 42 02 PM Screenshot 2023-07-09 at 4 42 35 PM

@dhruvkb
Copy link
Author

dhruvkb commented Jul 9, 2023

Solved on StackOverflow. Available at fork https://github.com/dhruvkb/rust-users.

@carnil
Copy link

carnil commented Sep 12, 2023

The proposed patch seems to be dhruvkb@e6ba8a8

This is https://rustsec.org/advisories/RUSTSEC-2023-0059.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants