Stream: git-wasmtime

Topic: wasmtime / issue #8148 Flaky test failures related to DNS


view this post on Zulip Wasmtime GitHub notifications bot (Mar 15 2024 at 16:37):

alexcrichton opened issue #8148:

This CI failure is the second one (I think?) I've seen related to the preview2_ip_name_lookup test:

failures:

---- async_::preview2_ip_name_lookup stdout ----
preopen: TempDir { path: "/tmp/wasi_components_preview2_ip_name_lookup.component_UOrqd7" }
[guest] stderr:
thread 'main' panicked at crates/test-programs/src/bin/preview2_ip_name_lookup.rs:8:27:
called `Result::unwrap()` on an `Err` value: ErrorCode { code: 5, name: "timeout", message: "The operation timed out before it could finish completely." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

===
thread 'async_::preview2_ip_name_lookup' panicked at crates/wasi/tests/all/async_.rs:299:57:
called `Result::unwrap()` on an `Err` value: error while executing at wasm backtrace:
    0: 0xe836 - <unknown>!__rust_start_panic
    1: 0xe6b2 - <unknown>!rust_panic
    2: 0xe5e5 - <unknown>!std::panicking::rust_panic_with_hook::hc97f08b908247b1d
    3: 0xd9b8 - <unknown>!std::panicking::begin_panic_handler::{{closure}}::hdd638bdaba0c6bcc
    4: 0xd8e3 - <unknown>!std::sys_common::backtrace::__rust_end_short_backtrace::h5b392607309abb6a
    5: 0xdfbc - <unknown>!rust_begin_unwind
    6: 0x12da6 - <unknown>!core::panicking::panic_fmt::h9fec598e5939a913
    7: 0x144ca - <unknown>!core::result::unwrap_failed::hf6fa377d4c4189f7
    8: 0x1dd0 - <unknown>!core::result::Result<T,E>::unwrap::h4c22dad2f3481e72
    9: 0x2223 - <unknown>!preview2_ip_name_lookup::main::h5c29a9b721419f34
   10: 0x13d2 - <unknown>!core::ops::function::FnOnce::call_once::h36602a529b14996f
   11: 0x13a9 - <unknown>!std::sys_common::backtrace::__rust_begin_short_backtrace::hdb75a96ebebc7895
   12: 0x148a - <unknown>!std::rt::lang_start::{{closure}}::h5311d15c72bddc30
   13: 0xc326 - <unknown>!std::rt::lang_start_internal::h11043ae9961d0df9
   14: 0x1435 - <unknown>!std::rt::lang_start::h1076db45b0cb32fb
   15: 0x37a8 - <unknown>!__main_void
   16: 0x134b - <unknown>!_start
   17: 0x254cba - wit-component:adapter:wasi_snapshot_preview1!wasi:cli/run@0.2.0#run
note: using the `WASMTIME_BACKTRACE_DETAILS=1` environment variable may show more debugging information

Caused by:
    wasm trap: wasm `unreachable` instruction executed
stack backtrace:
   0: rust_begin_unwind
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
   1: core::panicking::panic_fmt
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
   2: core::result::unwrap_failed
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5
   3: core::result::Result<T,E>::unwrap
   4: all::async_::preview2_ip_name_lookup::{{closure}}::test_impl::{{closure}}
   5: all::async_::preview2_ip_name_lookup::{{closure}}
   6: <core::pin::Pin<P> as core::future::future::Future>::poll
   7: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
   8: tokio::runtime::park::CachedParkThread::block_on
   9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
  10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
  11: tokio::runtime::context::runtime::enter_runtime
  12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
  13: tokio::runtime::runtime::Runtime::block_on
  14: all::async_::preview2_ip_name_lookup
  15: all::async_::preview2_ip_name_lookup::{{closure}}
  16: core::ops::function::FnOnce::call_once
  17: core::ops::function::FnOnce::call_once
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.


failures:
    async_::preview2_ip_name_lookup

This is specifically failing on this line which is trying to do a real name lookup on the internet. This was known ahead of time that it could possibly be flaky, so I wanted to open this to see if we should do something about it. I'll also try to log future occurrences of failures into this issue too.

cc @badeend

view this post on Zulip Wasmtime GitHub notifications bot (Mar 15 2024 at 17:42):

bjorn3 commented on issue #8148:

One option would be to put the test execution in a new mount namespace with a new file bind mounted over /etc/resolv.conf. And then in this new file choose a dns resolver which allows injecting arbitrary domains.

view this post on Zulip Wasmtime GitHub notifications bot (Apr 14 2024 at 21:40):

alexcrichton commented on issue #8148:

Another failure

view this post on Zulip Wasmtime GitHub notifications bot (Apr 22 2024 at 20:10):

alexcrichton closed issue #8148:

This CI failure is the second one (I think?) I've seen related to the preview2_ip_name_lookup test:

failures:

---- async_::preview2_ip_name_lookup stdout ----
preopen: TempDir { path: "/tmp/wasi_components_preview2_ip_name_lookup.component_UOrqd7" }
[guest] stderr:
thread 'main' panicked at crates/test-programs/src/bin/preview2_ip_name_lookup.rs:8:27:
called `Result::unwrap()` on an `Err` value: ErrorCode { code: 5, name: "timeout", message: "The operation timed out before it could finish completely." }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

===
thread 'async_::preview2_ip_name_lookup' panicked at crates/wasi/tests/all/async_.rs:299:57:
called `Result::unwrap()` on an `Err` value: error while executing at wasm backtrace:
    0: 0xe836 - <unknown>!__rust_start_panic
    1: 0xe6b2 - <unknown>!rust_panic
    2: 0xe5e5 - <unknown>!std::panicking::rust_panic_with_hook::hc97f08b908247b1d
    3: 0xd9b8 - <unknown>!std::panicking::begin_panic_handler::{{closure}}::hdd638bdaba0c6bcc
    4: 0xd8e3 - <unknown>!std::sys_common::backtrace::__rust_end_short_backtrace::h5b392607309abb6a
    5: 0xdfbc - <unknown>!rust_begin_unwind
    6: 0x12da6 - <unknown>!core::panicking::panic_fmt::h9fec598e5939a913
    7: 0x144ca - <unknown>!core::result::unwrap_failed::hf6fa377d4c4189f7
    8: 0x1dd0 - <unknown>!core::result::Result<T,E>::unwrap::h4c22dad2f3481e72
    9: 0x2223 - <unknown>!preview2_ip_name_lookup::main::h5c29a9b721419f34
   10: 0x13d2 - <unknown>!core::ops::function::FnOnce::call_once::h36602a529b14996f
   11: 0x13a9 - <unknown>!std::sys_common::backtrace::__rust_begin_short_backtrace::hdb75a96ebebc7895
   12: 0x148a - <unknown>!std::rt::lang_start::{{closure}}::h5311d15c72bddc30
   13: 0xc326 - <unknown>!std::rt::lang_start_internal::h11043ae9961d0df9
   14: 0x1435 - <unknown>!std::rt::lang_start::h1076db45b0cb32fb
   15: 0x37a8 - <unknown>!__main_void
   16: 0x134b - <unknown>!_start
   17: 0x254cba - wit-component:adapter:wasi_snapshot_preview1!wasi:cli/run@0.2.0#run
note: using the `WASMTIME_BACKTRACE_DETAILS=1` environment variable may show more debugging information

Caused by:
    wasm trap: wasm `unreachable` instruction executed
stack backtrace:
   0: rust_begin_unwind
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:645:5
   1: core::panicking::panic_fmt
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/panicking.rs:72:14
   2: core::result::unwrap_failed
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/result.rs:1649:5
   3: core::result::Result<T,E>::unwrap
   4: all::async_::preview2_ip_name_lookup::{{closure}}::test_impl::{{closure}}
   5: all::async_::preview2_ip_name_lookup::{{closure}}
   6: <core::pin::Pin<P> as core::future::future::Future>::poll
   7: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
   8: tokio::runtime::park::CachedParkThread::block_on
   9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
  10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
  11: tokio::runtime::context::runtime::enter_runtime
  12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
  13: tokio::runtime::runtime::Runtime::block_on
  14: all::async_::preview2_ip_name_lookup
  15: all::async_::preview2_ip_name_lookup::{{closure}}
  16: core::ops::function::FnOnce::call_once
  17: core::ops::function::FnOnce::call_once
             at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.


failures:
    async_::preview2_ip_name_lookup

This is specifically failing on this line which is trying to do a real name lookup on the internet. This was known ahead of time that it could possibly be flaky, so I wanted to open this to see if we should do something about it. I'll also try to log future occurrences of failures into this issue too.

cc @badeend


Last updated: Dec 23 2024 at 12:05 UTC