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

Stack overflow in Debug impl for service errors #51

Closed
bdonlan opened this issue May 6, 2021 · 2 comments
Closed

Stack overflow in Debug impl for service errors #51

bdonlan opened this issue May 6, 2021 · 2 comments
Labels
bug This issue is a bug.

Comments

@bdonlan
Copy link

bdonlan commented May 6, 2021

Bug Report

Version

AWS SDK for Rust commit 5ba29483a3d6a59762d5b57aada43cea671afd72

ddb-bench v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/ddb-bench)
├── aws-sdk-dynamodb v0.0.2 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/dynamodb)
│   ├── aws-auth v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-auth)
│   │   ├── smithy-http v0.0.1 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http)
│   │   │   ├── bytes v1.0.1
│   │   │   ├── bytes-utils v0.1.1
│   │   │   │   ├── bytes v1.0.1
│   │   │   │   └── either v1.6.1
│   │   │   ├── futures-core v0.3.14
│   │   │   ├── http v0.2.4
│   │   │   │   ├── bytes v1.0.1
│   │   │   │   ├── fnv v1.0.7
│   │   │   │   └── itoa v0.4.7
│   │   │   ├── http-body v0.4.1
│   │   │   │   ├── bytes v1.0.1
│   │   │   │   ├── http v0.2.4 (*)
│   │   │   │   └── pin-project-lite v0.2.6
│   │   │   ├── hyper v0.14.7
│   │   │   │   ├── bytes v1.0.1
│   │   │   │   ├── futures-channel v0.3.14
│   │   │   │   │   └── futures-core v0.3.14
│   │   │   │   ├── futures-core v0.3.14
│   │   │   │   ├── futures-util v0.3.14
│   │   │   │   │   ├── futures-core v0.3.14
│   │   │   │   │   ├── futures-macro v0.3.14 (proc-macro)
│   │   │   │   │   │   ├── proc-macro-hack v0.5.19 (proc-macro)
│   │   │   │   │   │   ├── proc-macro2 v1.0.26
│   │   │   │   │   │   │   └── unicode-xid v0.2.2
│   │   │   │   │   │   ├── quote v1.0.9
│   │   │   │   │   │   │   └── proc-macro2 v1.0.26 (*)
│   │   │   │   │   │   └── syn v1.0.72
│   │   │   │   │   │       ├── proc-macro2 v1.0.26 (*)
│   │   │   │   │   │       ├── quote v1.0.9 (*)
│   │   │   │   │   │       └── unicode-xid v0.2.2
│   │   │   │   │   ├── futures-task v0.3.14
│   │   │   │   │   ├── pin-project-lite v0.2.6
│   │   │   │   │   ├── pin-utils v0.1.0
│   │   │   │   │   ├── proc-macro-hack v0.5.19 (proc-macro)
│   │   │   │   │   ├── proc-macro-nested v0.1.7
│   │   │   │   │   └── slab v0.4.3
│   │   │   │   ├── h2 v0.3.3
│   │   │   │   │   ├── bytes v1.0.1
│   │   │   │   │   ├── fnv v1.0.7
│   │   │   │   │   ├── futures-core v0.3.14
│   │   │   │   │   ├── futures-sink v0.3.14
│   │   │   │   │   ├── futures-util v0.3.14 (*)
│   │   │   │   │   ├── http v0.2.4 (*)
│   │   │   │   │   ├── indexmap v1.6.2
│   │   │   │   │   │   └── hashbrown v0.9.1
│   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   └── autocfg v1.0.1
│   │   │   │   │   ├── slab v0.4.3
│   │   │   │   │   ├── tokio v1.5.0
│   │   │   │   │   │   ├── bytes v1.0.1
│   │   │   │   │   │   ├── libc v0.2.94
│   │   │   │   │   │   ├── memchr v2.4.0
│   │   │   │   │   │   ├── mio v0.7.11
│   │   │   │   │   │   │   ├── libc v0.2.94
│   │   │   │   │   │   │   └── log v0.4.14
│   │   │   │   │   │   │       └── cfg-if v1.0.0
│   │   │   │   │   │   ├── num_cpus v1.13.0
│   │   │   │   │   │   │   └── libc v0.2.94
│   │   │   │   │   │   ├── once_cell v1.7.2
│   │   │   │   │   │   ├── parking_lot v0.11.1
│   │   │   │   │   │   │   ├── instant v0.1.9
│   │   │   │   │   │   │   │   └── cfg-if v1.0.0
│   │   │   │   │   │   │   ├── lock_api v0.4.4
│   │   │   │   │   │   │   │   └── scopeguard v1.1.0
│   │   │   │   │   │   │   └── parking_lot_core v0.8.3
│   │   │   │   │   │   │       ├── cfg-if v1.0.0
│   │   │   │   │   │   │       ├── instant v0.1.9 (*)
│   │   │   │   │   │   │       ├── libc v0.2.94
│   │   │   │   │   │   │       └── smallvec v1.6.1
│   │   │   │   │   │   ├── pin-project-lite v0.2.6
│   │   │   │   │   │   ├── signal-hook-registry v1.3.0
│   │   │   │   │   │   │   └── libc v0.2.94
│   │   │   │   │   │   └── tokio-macros v1.1.0 (proc-macro)
│   │   │   │   │   │       ├── proc-macro2 v1.0.26 (*)
│   │   │   │   │   │       ├── quote v1.0.9 (*)
│   │   │   │   │   │       └── syn v1.0.72 (*)
│   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   └── autocfg v1.0.1
│   │   │   │   │   ├── tokio-util v0.6.6
│   │   │   │   │   │   ├── bytes v1.0.1
│   │   │   │   │   │   ├── futures-core v0.3.14
│   │   │   │   │   │   ├── futures-sink v0.3.14
│   │   │   │   │   │   ├── log v0.4.14 (*)
│   │   │   │   │   │   ├── pin-project-lite v0.2.6
│   │   │   │   │   │   └── tokio v1.5.0 (*)
│   │   │   │   │   └── tracing v0.1.26
│   │   │   │   │       ├── cfg-if v1.0.0
│   │   │   │   │       ├── log v0.4.14 (*)
│   │   │   │   │       ├── pin-project-lite v0.2.6
│   │   │   │   │       ├── tracing-attributes v0.1.15 (proc-macro)
│   │   │   │   │       │   ├── proc-macro2 v1.0.26 (*)
│   │   │   │   │       │   ├── quote v1.0.9 (*)
│   │   │   │   │       │   └── syn v1.0.72 (*)
│   │   │   │   │       └── tracing-core v0.1.18
│   │   │   │   │           └── lazy_static v1.4.0
│   │   │   │   ├── http v0.2.4 (*)
│   │   │   │   ├── http-body v0.4.1 (*)
│   │   │   │   ├── httparse v1.4.0
│   │   │   │   ├── httpdate v1.0.0
│   │   │   │   ├── itoa v0.4.7
│   │   │   │   ├── pin-project v1.0.7
│   │   │   │   │   └── pin-project-internal v1.0.7 (proc-macro)
│   │   │   │   │       ├── proc-macro2 v1.0.26 (*)
│   │   │   │   │       ├── quote v1.0.9 (*)
│   │   │   │   │       └── syn v1.0.72 (*)
│   │   │   │   ├── socket2 v0.4.0
│   │   │   │   │   └── libc v0.2.94
│   │   │   │   ├── tokio v1.5.0 (*)
│   │   │   │   ├── tower-service v0.3.1
│   │   │   │   ├── tracing v0.1.26 (*)
│   │   │   │   └── want v0.3.0
│   │   │   │       ├── log v0.4.14 (*)
│   │   │   │       └── try-lock v0.2.3
│   │   │   ├── pin-project v1.0.7 (*)
│   │   │   ├── smithy-types v0.0.1 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-types)
│   │   │   │   └── chrono v0.4.19
│   │   │   │       ├── libc v0.2.94
│   │   │   │       ├── num-integer v0.1.44
│   │   │   │       │   └── num-traits v0.2.14
│   │   │   │       │       [build-dependencies]
│   │   │   │       │       └── autocfg v1.0.1
│   │   │   │       │   [build-dependencies]
│   │   │   │       │   └── autocfg v1.0.1
│   │   │   │       └── num-traits v0.2.14 (*)
│   │   │   └── thiserror v1.0.24
│   │   │       └── thiserror-impl v1.0.24 (proc-macro)
│   │   │           ├── proc-macro2 v1.0.26 (*)
│   │   │           ├── quote v1.0.9 (*)
│   │   │           └── syn v1.0.72 (*)
│   │   └── zeroize v1.3.0
│   ├── aws-endpoint v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-endpoint)
│   │   ├── aws-types v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-types)
│   │   │   └── lazy_static v1.4.0
│   │   │   [build-dependencies]
│   │   │   └── rustc_version v0.3.3
│   │   │       └── semver v0.11.0
│   │   │           └── semver-parser v0.10.2
│   │   │               └── pest v2.1.3
│   │   │                   └── ucd-trie v0.1.3
│   │   ├── http v0.2.4 (*)
│   │   └── smithy-http v0.0.1 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http) (*)
│   ├── aws-http v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-http)
│   │   ├── aws-types v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-types) (*)
│   │   ├── http v0.2.4 (*)
│   │   ├── lazy_static v1.4.0
│   │   ├── smithy-http v0.0.1 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http) (*)
│   │   ├── smithy-types v0.0.1 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-types) (*)
│   │   └── thiserror v1.0.24 (*)
│   ├── aws-hyper v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-hyper)
│   │   ├── aws-auth v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-auth) (*)
│   │   ├── aws-endpoint v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-endpoint) (*)
│   │   ├── aws-http v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-http) (*)
│   │   ├── aws-sig-auth v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-sig-auth)
│   │   │   ├── aws-auth v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-auth) (*)
│   │   │   ├── aws-sigv4 v0.0.1 (https://github.com/rcoh/sigv4?rev=05f90abc02a868cb570ed3006d950947cc0898b0#05f90abc)
│   │   │   │   ├── bytes v1.0.1
│   │   │   │   ├── chrono v0.4.19 (*)
│   │   │   │   ├── hex v0.4.3
│   │   │   │   ├── http v0.2.4 (*)
│   │   │   │   ├── http-body v0.4.1 (*)
│   │   │   │   ├── ring v0.16.20
│   │   │   │   │   ├── libc v0.2.94
│   │   │   │   │   ├── once_cell v1.7.2
│   │   │   │   │   ├── spin v0.5.2
│   │   │   │   │   └── untrusted v0.7.1
│   │   │   │   │   [build-dependencies]
│   │   │   │   │   └── cc v1.0.67
│   │   │   │   ├── serde v1.0.125
│   │   │   │   │   └── serde_derive v1.0.125 (proc-macro)
│   │   │   │   │       ├── proc-macro2 v1.0.26 (*)
│   │   │   │   │       ├── quote v1.0.9 (*)
│   │   │   │   │       └── syn v1.0.72 (*)
│   │   │   │   └── serde_urlencoded v0.7.0
│   │   │   │       ├── form_urlencoded v1.0.1
│   │   │   │       │   ├── matches v0.1.8
│   │   │   │       │   └── percent-encoding v2.1.0
│   │   │   │       ├── itoa v0.4.7
│   │   │   │       ├── ryu v1.0.5
│   │   │   │       └── serde v1.0.125 (*)
│   │   │   ├── aws-types v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-types) (*)
│   │   │   ├── http v0.2.4 (*)
│   │   │   ├── smithy-http v0.0.1 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http) (*)
│   │   │   └── thiserror v1.0.24 (*)
│   │   ├── bytes v1.0.1
│   │   ├── fastrand v1.4.1
│   │   ├── http v0.2.4 (*)
│   │   ├── http-body v0.4.1 (*)
│   │   ├── hyper v0.14.7 (*)
│   │   ├── hyper-rustls v0.22.1
│   │   │   ├── ct-logs v0.8.0
│   │   │   │   └── sct v0.6.1
│   │   │   │       ├── ring v0.16.20 (*)
│   │   │   │       └── untrusted v0.7.1
│   │   │   ├── futures-util v0.3.14 (*)
│   │   │   ├── hyper v0.14.7 (*)
│   │   │   ├── log v0.4.14 (*)
│   │   │   ├── rustls v0.19.1
│   │   │   │   ├── base64 v0.13.0
│   │   │   │   ├── log v0.4.14 (*)
│   │   │   │   ├── ring v0.16.20 (*)
│   │   │   │   ├── sct v0.6.1 (*)
│   │   │   │   └── webpki v0.21.4
│   │   │   │       ├── ring v0.16.20 (*)
│   │   │   │       └── untrusted v0.7.1
│   │   │   ├── rustls-native-certs v0.5.0
│   │   │   │   ├── openssl-probe v0.1.2
│   │   │   │   └── rustls v0.19.1 (*)
│   │   │   ├── tokio v1.5.0 (*)
│   │   │   ├── tokio-rustls v0.22.0
│   │   │   │   ├── rustls v0.19.1 (*)
│   │   │   │   ├── tokio v1.5.0 (*)
│   │   │   │   └── webpki v0.21.4 (*)
│   │   │   └── webpki v0.21.4 (*)
│   │   ├── pin-project v1.0.7 (*)
│   │   ├── protocol-test-helpers v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/protocol-test-helpers)
│   │   │   ├── assert-json-diff v1.1.0
│   │   │   │   ├── extend v0.1.2 (proc-macro)
│   │   │   │   │   ├── proc-macro-error v1.0.4
│   │   │   │   │   │   ├── proc-macro-error-attr v1.0.4 (proc-macro)
│   │   │   │   │   │   │   ├── proc-macro2 v1.0.26 (*)
│   │   │   │   │   │   │   └── quote v1.0.9 (*)
│   │   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   │   └── version_check v0.9.3
│   │   │   │   │   │   ├── proc-macro2 v1.0.26 (*)
│   │   │   │   │   │   ├── quote v1.0.9 (*)
│   │   │   │   │   │   └── syn v1.0.72 (*)
│   │   │   │   │   │   [build-dependencies]
│   │   │   │   │   │   └── version_check v0.9.3
│   │   │   │   │   ├── proc-macro2 v1.0.26 (*)
│   │   │   │   │   ├── quote v1.0.9 (*)
│   │   │   │   │   └── syn v1.0.72 (*)
│   │   │   │   ├── serde v1.0.125 (*)
│   │   │   │   └── serde_json v1.0.64
│   │   │   │       ├── itoa v0.4.7
│   │   │   │       ├── ryu v1.0.5
│   │   │   │       └── serde v1.0.125 (*)
│   │   │   ├── http v0.2.4 (*)
│   │   │   ├── serde_json v1.0.64 (*)
│   │   │   └── thiserror v1.0.24 (*)
│   │   ├── smithy-http v0.0.1 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http) (*)
│   │   ├── smithy-http-tower v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http-tower)
│   │   │   ├── bytes v1.0.1
│   │   │   ├── http v0.2.4 (*)
│   │   │   ├── http-body v0.4.1 (*)
│   │   │   ├── pin-project v1.0.7 (*)
│   │   │   ├── smithy-http v0.0.1 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http) (*)
│   │   │   ├── tower v0.4.7
│   │   │   │   ├── futures-core v0.3.14
│   │   │   │   ├── futures-util v0.3.14 (*)
│   │   │   │   ├── pin-project v1.0.7 (*)
│   │   │   │   ├── tokio v1.5.0 (*)
│   │   │   │   ├── tower-layer v0.3.1
│   │   │   │   ├── tower-service v0.3.1
│   │   │   │   └── tracing v0.1.26 (*)
│   │   │   └── tracing v0.1.26 (*)
│   │   ├── smithy-types v0.0.1 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-types) (*)
│   │   ├── tokio v1.5.0 (*)
│   │   ├── tower v0.4.7 (*)
│   │   └── tracing v0.1.26 (*)
│   ├── aws-sig-auth v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-sig-auth) (*)
│   ├── aws-types v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-types) (*)
│   ├── bytes v1.0.1
│   ├── fastrand v1.4.1
│   ├── http v0.2.4 (*)
│   ├── serde v1.0.125 (*)
│   ├── serde_json v1.0.64 (*)
│   ├── smithy-http v0.0.1 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http) (*)
│   └── smithy-types v0.0.1 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-types) (*)
├── aws-types v0.1.0 (/local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/aws-types) (*)
├── eyre v0.6.5
│   ├── indenter v0.3.3
│   └── once_cell v1.7.2
├── leaky-bucket v0.10.0
│   ├── futures-util v0.3.14 (*)
│   ├── lazy_static v1.4.0
│   ├── log v0.4.14 (*)
│   ├── thiserror v1.0.24 (*)
│   ├── tokio v1.5.0 (*)
│   └── tokio-stream v0.1.5
│       ├── futures-core v0.3.14
│       ├── pin-project-lite v0.2.6
│       └── tokio v1.5.0 (*)
├── rand v0.8.3
│   ├── libc v0.2.94
│   ├── rand_chacha v0.3.0
│   │   ├── ppv-lite86 v0.2.10
│   │   └── rand_core v0.6.2
│   │       └── getrandom v0.2.2
│   │           ├── cfg-if v1.0.0
│   │           └── libc v0.2.94
│   └── rand_core v0.6.2 (*)
├── structopt v0.3.21
│   ├── clap v2.33.3
│   │   ├── ansi_term v0.11.0
│   │   ├── atty v0.2.14
│   │   │   └── libc v0.2.94
│   │   ├── bitflags v1.2.1
│   │   ├── strsim v0.8.0
│   │   ├── textwrap v0.11.0
│   │   │   └── unicode-width v0.1.8
│   │   ├── unicode-width v0.1.8
│   │   └── vec_map v0.8.2
│   ├── lazy_static v1.4.0
│   └── structopt-derive v0.4.14 (proc-macro)
│       ├── heck v0.3.2
│       │   └── unicode-segmentation v1.7.1
│       ├── proc-macro-error v1.0.4 (*)
│       ├── proc-macro2 v1.0.26 (*)
│       ├── quote v1.0.9 (*)
│       └── syn v1.0.72 (*)
├── tokio v1.5.0 (*)
└── tracing-subscriber v0.2.18
    ├── ansi_term v0.12.1
    ├── chrono v0.4.19 (*)
    ├── lazy_static v1.4.0
    ├── matchers v0.0.1
    │   └── regex-automata v0.1.9
    │       ├── byteorder v1.4.3
    │       └── regex-syntax v0.6.25
    ├── regex v1.5.3
    │   └── regex-syntax v0.6.25
    ├── serde v1.0.125 (*)
    ├── serde_json v1.0.64 (*)
    ├── sharded-slab v0.1.1
    │   └── lazy_static v1.4.0
    ├── smallvec v1.6.1
    ├── thread_local v1.1.3
    │   └── once_cell v1.7.2
    ├── tracing v0.1.26 (*)
    ├── tracing-core v0.1.18 (*)
    ├── tracing-log v0.1.2
    │   ├── lazy_static v1.4.0
    │   ├── log v0.4.14 (*)
    │   └── tracing-core v0.1.18 (*)
    └── tracing-serde v0.1.2
        ├── serde v1.0.125 (*)
        └── tracing-core v0.1.18 (*)

Platform

Linux [redacted] 5.4.[redacted] #1 SMP Tue Feb 23 21:54:59 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

AWS Services

DynamoDB

Description

Dumping a ProvisionThroughputExceeded error return results in a reliably reproducable stack overflow, looking like the following:

[src/main.rs:78] e = ServiceError {
    err: PutItemError {
        kind: ProvisionedThroughputExceededError(
            ProvisionedThroughputExceededError {
                message: Some(
                    "The level of configured provisioned throughput for the table was exceeded. Consider increasing your provisioning level with the UpdateTable API.",
                ),
            },
        ),
        meta: Error {
            code: Some(
                "ProvisionedThroughputExceededException",
            ),
            message: Some(
                "The level of configured provisioned throughput for the table was exceeded. Consider increasing your provisioning level with the UpdateTable API.",
            ),
            request_id: Some(
                "JOBF8AT640UEF06CP0D1B7JETFVV4KQNSO5AEMVJF66Q9ASUAAJG",
            ),
        },
    },
    raw: Response {
        status: 400,
        version: HTTP/1.1,
        headers: {
            "server": "Server",
            "date": "Thu, 06 May 2021 21:01:27 GMT",
            "content-type": "application/x-amz-json-1.0",
            "content-length": "241",
            "connection": "keep-alive",
            "x-amzn-requestid": "JOBF8AT640UEF06CP0D1B7JETFVV4KQNSO5AEMVJF66Q9ASUAAJG",
            "x-amz-crc32": "1545824508",
        },
        body: SdkBody(

thread 'tokio-runtime-worker' has overflowed its stack
fatal runtime error: stack overflow
zsh: abort (core dumped)  ./target/debug/ddb-bench --hash-key hk --range-key rk --table perf-test

The backtrace looks like:

#0  0x00007f6edd3d9c20 in raise () from /lib64/libc.so.6
#1  0x00007f6edd3db0c8 in abort () from /lib64/libc.so.6
#2  0x000055cf93f72517 in std::sys::unix::abort_internal () at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0//library/std/src/sys/unix/mod.rs:237
#3  0x000055cf93f6d735 in std::sys_common::util::abort () at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0//library/std/src/sys_common/util.rs:19
#4  0x000055cf93f716e0 in std::sys::unix::stack_overflow::imp::signal_handler () at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0//library/std/src/sys/unix/stack_overflow.rs:106
#5  <signal handler called>
#6  0x000055cf93c6b1a4 in <smithy_http::body::Inner as core::fmt::Debug>::fmt (self=<error reading variable: Cannot access memory at address 0x7f6ed7bfefb8>, f=0x0)
    at /local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http/src/body.rs:45
#7  0x000055cf93c70dc7 in <&T as core::fmt::Debug>::fmt (self=0x7f6ed7bff048, f=0x7f6ed7df97a0)
    at /home/bdonlan/.rustup/toolchains/brazilrust/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2014
#8  0x000055cf93c6b20e in <smithy_http::body::Inner as core::fmt::Debug>::fmt (self=0x7f6ed7dfba50, f=0x7f6ed7df97a0)
    at /local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http/src/body.rs:47
#9  0x000055cf93c70dc7 in <&T as core::fmt::Debug>::fmt (self=0x7f6ed7bff0d8, f=0x7f6ed7df97a0)
    at /home/bdonlan/.rustup/toolchains/brazilrust/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2014
#10 0x000055cf93c6b20e in <smithy_http::body::Inner as core::fmt::Debug>::fmt (self=0x7f6ed7dfba50, f=0x7f6ed7df97a0)
    at /local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http/src/body.rs:47
#11 0x000055cf93c70dc7 in <&T as core::fmt::Debug>::fmt (self=0x7f6ed7bff168, f=0x7f6ed7df97a0)
    at /home/bdonlan/.rustup/toolchains/brazilrust/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2014
#12 0x000055cf93c6b20e in <smithy_http::body::Inner as core::fmt::Debug>::fmt (self=0x7f6ed7dfba50, f=0x7f6ed7df97a0)
    at /local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http/src/body.rs:47
#13 0x000055cf93c70dc7 in <&T as core::fmt::Debug>::fmt (self=0x7f6ed7bff1f8, f=0x7f6ed7df97a0)
    at /home/bdonlan/.rustup/toolchains/brazilrust/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2014
#14 0x000055cf93c6b20e in <smithy_http::body::Inner as core::fmt::Debug>::fmt (self=0x7f6ed7dfba50, f=0x7f6ed7df97a0)
    at /local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http/src/body.rs:47
#15 0x000055cf93c70dc7 in <&T as core::fmt::Debug>::fmt (self=0x7f6ed7bff288, f=0x7f6ed7df97a0)
    at /home/bdonlan/.rustup/toolchains/brazilrust/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2014
#16 0x000055cf93c6b20e in <smithy_http::body::Inner as core::fmt::Debug>::fmt (self=0x7f6ed7dfba50, f=0x7f6ed7df97a0)
    at /local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http/src/body.rs:47
#17 0x000055cf93c70dc7 in <&T as core::fmt::Debug>::fmt (self=0x7f6ed7bff318, f=0x7f6ed7df97a0)
    at /home/bdonlan/.rustup/toolchains/brazilrust/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2014
#18 0x000055cf93c6b20e in <smithy_http::body::Inner as core::fmt::Debug>::fmt (self=0x7f6ed7dfba50, f=0x7f6ed7df97a0)
    at /local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http/src/body.rs:47
#19 0x000055cf93c70dc7 in <&T as core::fmt::Debug>::fmt (self=0x7f6ed7bff3a8, f=0x7f6ed7df97a0)
    at /home/bdonlan/.rustup/toolchains/brazilrust/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2014
#20 0x000055cf93c6b20e in <smithy_http::body::Inner as core::fmt::Debug>::fmt (self=0x7f6ed7dfba50, f=0x7f6ed7df97a0)
    at /local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http/src/body.rs:47
#21 0x000055cf93c70dc7 in <&T as core::fmt::Debug>::fmt (self=0x7f6ed7bff438, f=0x7f6ed7df97a0)
    at /home/bdonlan/.rustup/toolchains/brazilrust/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2014
#22 0x000055cf93c6b20e in <smithy_http::body::Inner as core::fmt::Debug>::fmt (self=0x7f6ed7dfba50, f=0x7f6ed7df97a0)
    at /local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http/src/body.rs:47
#23 0x000055cf93c70dc7 in <&T as core::fmt::Debug>::fmt (self=0x7f6ed7bff4c8, f=0x7f6ed7df97a0)
    at /home/bdonlan/.rustup/toolchains/brazilrust/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2014
#24 0x000055cf93c6b20e in <smithy_http::body::Inner as core::fmt::Debug>::fmt (self=0x7f6ed7dfba50, f=0x7f6ed7df97a0)
    at /local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http/src/body.rs:47
#25 0x000055cf93c70dc7 in <&T as core::fmt::Debug>::fmt (self=0x7f6ed7bff558, f=0x7f6ed7df97a0)
    at /home/bdonlan/.rustup/toolchains/brazilrust/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2014
#26 0x000055cf93c6b20e in <smithy_http::body::Inner as core::fmt::Debug>::fmt (self=0x7f6ed7dfba50, f=0x7f6ed7df97a0)
    at /local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http/src/body.rs:47
#27 0x000055cf93c70dc7 in <&T as core::fmt::Debug>::fmt (self=0x7f6ed7bff5e8, f=0x7f6ed7df97a0)
    at /home/bdonlan/.rustup/toolchains/brazilrust/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2014
#28 0x000055cf93c6b20e in <smithy_http::body::Inner as core::fmt::Debug>::fmt (self=0x7f6ed7dfba50, f=0x7f6ed7df97a0)
    at /local/home/bdonlan/src/benchmark-ddb/aws-sdk-rust/sdk/smithy-http/src/body.rs:47
#29 0x000055cf93c70dc7 in <&T as core::fmt::Debug>::fmt (self=0x7f6ed7bff678, f=0x7f6ed7df97a0)
    at /home/bdonlan/.rustup/toolchains/brazilrust/lib/rustlib/src/rust/library/core/src/fmt/mod.rs:2014

The issue appears to be a simple infinite recursion at https://github.com/awslabs/aws-sdk-rust/blob/main/sdk/smithy-http/src/body.rs#L47

@rcoh rcoh added the bug This issue is a bug. label May 7, 2021
@rcoh
Copy link
Contributor

rcoh commented May 7, 2021

@bdonlan thanks for the report. This should be fixed in the new release, tagged at v0.0.3-alpha: https://github.com/awslabs/aws-sdk-rust/blob/v0.0.3-alpha/sdk/smithy-http/src/body.rs#L44-L53

Let me know if that resolves it for you

@rcoh
Copy link
Contributor

rcoh commented May 26, 2021

fixed in v0.0.3-alpha

@rcoh rcoh closed this as completed May 26, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug This issue is a bug.
Projects
None yet
Development

No branches or pull requests

2 participants