You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
kinrany:~/projects/sqlx_transaction_panic$ DATABASE_URL="mysql://root:example@localhost/Db" cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.06s
Running `target/debug/sqlx_transaction_panic`
thread 'tokio-runtime-worker' panicked at 'assertion failed: self.remaining() >= dst.len()', /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/bytes-1.0.1/src/buf/buf_impl.rs:250:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
With backtrace:
kinrany:~/projects/sqlx_transaction_panic$ DATABASE_URL="mysql://root:example@localhost/Db" RUST_BACKTRACE=1 cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.06s
Running `target/debug/sqlx_transaction_panic`
thread 'tokio-runtime-worker' panicked at 'assertion failed: self.remaining() >= dst.len()', /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/bytes-1.0.1/src/buf/buf_impl.rs:250:9
stack backtrace:
0: rust_begin_unwind
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:515:5
1: core::panicking::panic_fmt
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/panicking.rs:92:14
2: core::panicking::panic
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/panicking.rs:50:5
3: bytes::buf::buf_impl::Buf::copy_to_slice
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/bytes-1.0.1/src/buf/buf_impl.rs:250:9
4: bytes::buf::buf_impl::Buf::get_u64_le
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/bytes-1.0.1/src/buf/buf_impl.rs:511:9
5: <bytes::bytes::Bytes as sqlx_core::mysql::io::buf::MySqlBufExt>::get_uint_lenenc
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/sqlx-core-0.5.5/src/mysql/io/buf.rs:25:21
6: sqlx_core::mysql::connection::stream::MySqlStream::skip_result_metadata::{{closure}}
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/sqlx-core-0.5.5/src/mysql/connection/stream.rs:185:32
7: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/future/mod.rs:80:19
8: sqlx_core::mysql::connection::stream::MySqlStream::wait_until_ready::{{closure}}
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/sqlx-core-0.5.5/src/mysql/connection/stream.rs:109:21
9: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/future/mod.rs:80:19
10: <sqlx_core::mysql::connection::MySqlConnection as sqlx_core::connection::Connection>::ping::{{closure}}
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/sqlx-core-0.5.5/src/mysql/connection/mod.rs:61:13
11: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/future/mod.rs:80:19
12: <core::pin::Pin<P> as core::future::future::Future>::poll
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/future/future.rs:119:9
13: <sqlx_core::pool::connection::PoolConnection<DB> as core::ops::drop::Drop>::drop::{{closure}}
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/sqlx-core-0.5.5/src/pool/connection.rs:83:33
14: <core::future::from_generator::GenFuture<T> as core::future::future::Future>::poll
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/core/src/future/mod.rs:80:19
15: tokio::runtime::task::core::CoreStage<T>::poll::{{closure}}
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/core.rs:147:17
16: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/loom/std/unsafe_cell.rs:14:9
17: tokio::runtime::task::core::CoreStage<T>::poll
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/core.rs:137:13
18: tokio::runtime::task::harness::poll_future::{{closure}}
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/harness.rs:437:23
19: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
20: std::panicking::try::do_call
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
21: __rust_try
22: std::panicking::try
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
23: std::panic::catch_unwind
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
24: tokio::runtime::task::harness::poll_future
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/harness.rs:424:19
25: tokio::runtime::task::harness::Harness<T,S>::poll_inner
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/harness.rs:89:9
26: tokio::runtime::task::harness::Harness<T,S>::poll
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/harness.rs:59:15
27: tokio::runtime::task::raw::poll
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/raw.rs:113:5
28: tokio::runtime::task::raw::RawTask::poll
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/raw.rs:70:18
29: tokio::runtime::task::Notified<S>::run
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/mod.rs:166:9
30: tokio::runtime::thread_pool::worker::Context::run_task::{{closure}}
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/thread_pool/worker.rs:396:13
31: tokio::coop::with_budget::{{closure}}
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/coop.rs:106:9
32: std::thread::local::LocalKey<T>::try_with
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/thread/local.rs:400:16
33: std::thread::local::LocalKey<T>::with
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/thread/local.rs:376:9
34: tokio::coop::with_budget
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/coop.rs:99:5
35: tokio::coop::budget
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/coop.rs:76:5
36: tokio::runtime::thread_pool::worker::Context::run_task
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/thread_pool/worker.rs:395:9
37: tokio::runtime::thread_pool::worker::Context::run
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/thread_pool/worker.rs:365:24
38: tokio::runtime::thread_pool::worker::run::{{closure}}
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/thread_pool/worker.rs:350:17
39: tokio::macros::scoped_tls::ScopedKey<T>::set
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/macros/scoped_tls.rs:61:9
40: tokio::runtime::thread_pool::worker::run
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/thread_pool/worker.rs:347:5
41: tokio::runtime::thread_pool::worker::Launch::launch::{{closure}}
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/thread_pool/worker.rs:326:45
42: <tokio::runtime::blocking::task::BlockingTask<T> as core::future::future::Future>::poll
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/blocking/task.rs:42:21
43: tokio::runtime::task::core::CoreStage<T>::poll::{{closure}}
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/core.rs:147:17
44: tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/loom/std/unsafe_cell.rs:14:9
45: tokio::runtime::task::core::CoreStage<T>::poll
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/core.rs:137:13
46: tokio::runtime::task::harness::poll_future::{{closure}}
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/harness.rs:437:23
47: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:347:9
48: std::panicking::try::do_call
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:401:40
49: __rust_try
50: std::panicking::try
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panicking.rs:365:19
51: std::panic::catch_unwind
at /rustc/a178d0322ce20e33eac124758e837cbd80a6f633/library/std/src/panic.rs:434:14
52: tokio::runtime::task::harness::poll_future
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/harness.rs:424:19
53: tokio::runtime::task::harness::Harness<T,S>::poll_inner
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/harness.rs:89:9
54: tokio::runtime::task::harness::Harness<T,S>::poll
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/harness.rs:59:15
55: tokio::runtime::task::raw::poll
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/raw.rs:113:5
56: tokio::runtime::task::raw::RawTask::poll
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/raw.rs:70:18
57: tokio::runtime::task::Notified<S>::run
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/task/mod.rs:166:9
58: tokio::runtime::blocking::pool::Inner::run
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/blocking/pool.rs:265:17
59: tokio::runtime::blocking::pool::Spawner::spawn_thread::{{closure}}
at /home/kinrany/.cargo/registry/src/github.com-1ecc6299db9ec823/tokio-1.9.0/src/runtime/blocking/pool.rs:245:17
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
The text was updated successfully, but these errors were encountered:
abonander
changed the title
Panic caused by dropping a transaction
[MySQL] Panic caused by dropping a transaction
Aug 30, 2021
Repo with a minimal reproducible demo: https://github.com/Kinrany/sqlx_transaction_panic
Dropping a transaction causes a panic in a worker thread.
Only happens with a connection pool and the
fetch_one
method.Possibly related: #1078
Code
"SELECT 1"
in a transactionOutput
With backtrace:
The text was updated successfully, but these errors were encountered: