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
I do not have a reproducible example yet. But wanted to raise this issue to discuss:
Error handling when parsing SQL messages from the server. Is there a way we can get just an Err when something like this happens (parsing fails) instead of a panic? Is it safe to continue using such connection or it has to be dropped from the pool?
Cancellation safety of sqlx futures. Is it safe to assume that any fetch can be safely cancelled (future dropped)? We have some code that probably drops some of the futures while doing fetch with an ANALYZE query. Just wondering if it could be related to the issue.
Info
SQLx version: 0.6.3
SQLx features enabled: ["runtime-tokio-rustls", "mysql", "chrono", "uuid"]
Database server and version: MariaDB 10.6.11
Operating system: linux
rustc --version: 1.69 stable
The text was updated successfully, but these errors were encountered:
I've just hit this bug as well, in my case it's occurring on an upsert table, where an initial insert works fine but a subsequent update fails with the same issue.
thread 'tokio-runtime-worker' panicked at 'assertion failed: self.remaining() >= dst.len()',
Will notify here if I came across a solution for this or further details.
Bug Description
sqlx panics somewhere in
sqlx_core::mysql::protocol::statement::prepare_ok::PrepareOk::decode_with
:https://github.com/launchbadge/sqlx/blob/v0.6.3/sqlx-core/src/mysql/protocol/statement/prepare_ok.rs#L19-L35
Message:
assertion failed: self.remaining() >= dst.len()
Backtrace:
Minimal Reproduction
I do not have a reproducible example yet. But wanted to raise this issue to discuss:
Error handling when parsing SQL messages from the server. Is there a way we can get just an
Err
when something like this happens (parsing fails) instead of a panic? Is it safe to continue using such connection or it has to be dropped from the pool?Cancellation safety of
sqlx
futures. Is it safe to assume that anyfetch
can be safely cancelled (future dropped)? We have some code that probably drops some of the futures while doingfetch
with an ANALYZE query. Just wondering if it could be related to the issue.Info
0.6.3
["runtime-tokio-rustls", "mysql", "chrono", "uuid"]
rustc --version
: 1.69 stableThe text was updated successfully, but these errors were encountered: