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

Panic on <radeco_lib::analysis::matcher::gmatch::GraphMatcher<'a, I, S>>::hash_data #305

Open
radare opened this issue Mar 6, 2019 · 0 comments

Comments

@radare
Copy link
Collaborator

radare commented Mar 6, 2019

crackme0x00.exe.zip

$ RUST_BACKTRACE=1 r2pm -r radeco crackme0x00.exe 
Warning: CC = E(1) - N(1) + (2 * P(0)) < 1 at 0x00402e40
Warning: CC = E(1) - N(1) + (2 * P(0)) < 1 at 0x00402e50
Warning: CC = E(1) - N(1) + (2 * P(0)) < 1 at 0x00402e40
Warning: CC = E(1) - N(1) + (2 * P(0)) < 1 at 0x00402e50
thread '<unnamed>' panicked at 'internal error: entered unreachable code', /Users/pancake/.cargo/git/checkouts/radeco-lib-bf219eb1a7e916cc/a88edde/src/analysis/matcher/gmatch.rs:227:26
thread '<unnamed>' panicked at 'internal error: entered unreachable code', /Users/pancake/.cargo/git/checkouts/radeco-lib-bf219eb1a7e916cc/a88edde/src/analysis/matcher/gmatch.rs:227:26
thread '<unnamed>' panicked at 'assertion failed: `(left == right)`
  left: `2`,
 right: `1`', /Users/pancake/.cargo/git/checkouts/radeco-lib-bf219eb1a7e916cc/a88edde/src/analysis/sccp.rs:151:13
thread '<unnamed>' panicked at 'not yet implemented', /Users/pancake/.cargo/git/checkouts/radeco-lib-bf219eb1a7e916cc/a88edde/src/analysis/sccp.rs:336:18
thread '<unnamed>' panicked at 'assertion failed: `(left == right)`
  left: `2`,
 right: `1`', /Users/pancake/.cargo/git/checkouts/radeco-lib-bf219eb1a7e916cc/a88edde/src/analysis/sccp.rs:151:13
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
   1: std::panicking::default_hook::{{closure}}
   2: std::panicking::rust_panic_with_hook
   3: std::panicking::begin_panic
   4: <radeco_lib::analysis::matcher::gmatch::GraphMatcher<'a, I, S>>::hash_data
   5: <radeco_lib::analysis::matcher::gmatch::GraphMatcher<'a, I, S>>::grep
   6: <radeco_lib::analysis::engine::RadecoEngine as radeco_lib::analysis::engine::Engine>::run_func
   7: rayon::iter::plumbing::bridge_producer_consumer::helper
   8: rayon::iter::plumbing::bridge_producer_consumer::helper
   9: rayon::iter::plumbing::bridge_producer_consumer::helper
  10: rayon::iter::plumbing::bridge_producer_consumer::helper
  11: <rayon_core::job::StackJob<L, F, R> as rayon_core::job::Job>::execute
  12: rayon_core::registry::WorkerThread::wait_until_cold
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
   1: std::panicking::default_hook::{{closure}}
   2: std::panicking::rust_panic_with_hook
   3: std::panicking::begin_panic
   4: <radeco_lib::analysis::matcher::gmatch::GraphMatcher<'a, I, S>>::hash_data
   5: <radeco_lib::analysis::matcher::gmatch::GraphMatcher<'a, I, S>>::grep
   6: <radeco_lib::analysis::engine::RadecoEngine as radeco_lib::analysis::engine::Engine>::run_func
   7: rayon::iter::plumbing::bridge_producer_consumer::helper
   8: <rayon_core::job::StackJob<L, F, R>>::run_inline
   9: rayon::iter::plumbing::bridge_producer_consumer::helper
  10: <rayon_core::job::StackJob<L, F, R> as rayon_core::job::Job>::execute
  11: rayon_core::registry::WorkerThread::wait_until_cold
  12: rayon::iter::plumbing::bridge_producer_consumer::helper
  13: <rayon_core::job::StackJob<L, F, R> as rayon_core::job::Job>::execute
  14: rayon_core::registry::WorkerThread::wait_until_cold
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
   1: std::panicking::default_hook::{{closure}}
   2: std::panicking::rust_panic_with_hook
   3: std::panicking::continue_panic_fmt
   4: std::panicking::begin_panic_fmt
   5: radeco_lib::analysis::sccp::SCCP::visit_phi
   6: <radeco_lib::analysis::sccp::SCCP as radeco_lib::analysis::analyzer::FuncAnalyzer>::analyze
   7: <radeco_lib::analysis::engine::RadecoEngine as radeco_lib::analysis::engine::Engine>::run_func
   8: rayon::iter::plumbing::bridge_producer_consumer::helper
   9: <rayon_core::job::StackJob<L, F, R>>::run_inline
  10: rayon::iter::plumbing::bridge_producer_consumer::helper
  11: rayon::iter::plumbing::bridge_producer_consumer::helper
  12: rayon::iter::plumbing::bridge_producer_consumer::helper
  13: rayon::iter::plumbing::bridge_producer_consumer::helper
  14: <rayon_core::job::StackJob<L, F, R> as rayon_core::job::Job>::execute
  15: rayon_core::registry::WorkerThread::wait_until_cold
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
   1: std::panicking::default_hook::{{closure}}
   2: std::panicking::rust_panic_with_hook
   3: std::panicking::begin_panic
   4: radeco_lib::analysis::sccp::SCCP::visit_expression
   5: <radeco_lib::analysis::sccp::SCCP as radeco_lib::analysis::analyzer::FuncAnalyzer>::analyze
   6: <radeco_lib::analysis::engine::RadecoEngine as radeco_lib::analysis::engine::Engine>::run_func
   7: rayon::iter::plumbing::bridge_producer_consumer::helper
   8: rayon::iter::plumbing::bridge_producer_consumer::helper
   9: <rayon_core::job::StackJob<L, F, R>>::run_inline
  10: rayon::iter::plumbing::bridge_producer_consumer::helper
  11: rayon::iter::plumbing::bridge_producer_consumer::helper
  12: <rayon_core::job::StackJob<L, F, R> as rayon_core::job::Job>::execute
  13: rayon_core::registry::WorkerThread::wait_until_cold
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
   0: std::sys::unix::backtrace::tracing::imp::unwind_backtrace
   1: std::panicking::default_hook::{{closure}}
   2: std::panicking::rust_panic_with_hook
   3: std::panicking::continue_panic_fmt
   4: std::panicking::begin_panic_fmt
   5: radeco_lib::analysis::sccp::SCCP::visit_phi
   6: <radeco_lib::analysis::sccp::SCCP as radeco_lib::analysis::analyzer::FuncAnalyzer>::analyze
   7: <radeco_lib::analysis::engine::RadecoEngine as radeco_lib::analysis::engine::Engine>::run_func
   8: rayon::iter::plumbing::bridge_producer_consumer::helper
   9: rayon::iter::plumbing::bridge_producer_consumer::helper
  10: rayon::iter::plumbing::bridge_producer_consumer::helper
  11: <rayon_core::job::StackJob<L, F, R> as rayon_core::job::Job>::execute
  12: rayon_core::registry::WorkerThread::wait_until_cold
  13: rayon::iter::plumbing::bridge_producer_consumer::helper
  14: rayon::iter::plumbing::bridge_producer_consumer::helper
  15: <rayon_core::job::StackJob<L, F, R> as rayon_core::job::Job>::execute
  16: rayon_core::registry::WorkerThread::wait_until_cold

@XVilka XVilka changed the title another panic Panic on <radeco_lib::analysis::matcher::gmatch::GraphMatcher<'a, I, S>>::hash_data Mar 8, 2019
@XVilka XVilka transferred this issue from another repository Jun 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants