-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Conditional jump or move based on uninitialized variable (and potential SEGV).... #58529
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
Comments
If a nightly build fixes this, then this was likely an optimization bug fixed by the recent LLVM update, in which case it's probably not worth investigating this further.
What format is this file in? Despite the extension, this does not seem to be a gzip file. At least it is not accepted by |
I have pasted the repro file below. A couple of comments:
valgrind is happy only if code is compiled with codegen-units=1 in .cargo/config (and the -Z config-profile option which requires a nightly build). Without the "-Z config-file" option and "codegen-units=1", valgrind is still unhappy with the generated code even on the latest nightly.
src/main.rsextern crate serde;
extern crate serde_cbor;
#[macro_use]
extern crate serde_derive;
#[derive(Serialize, Deserialize)]
pub struct MyType {
#[serde(rename = "streamName")]
pub stream_name: Option<String>,
}
fn main() {
let cbor : &[u8] = &[0xa2, 0x6f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0xf6, 0x72, 0x73,
0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x98, 0x29, 0xa4,
0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x6e, 0x44, 0x72, 0x6f, 0x70, 0x6c, 0x69, 0x74, 0x65,
0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61,
0x6d, 0x65, 0x68, 0x64, 0x72, 0x6f, 0x70, 0x6c, 0x69, 0x74, 0x65, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71,
0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63,
0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73,
0x69, 0x76, 0x65, 0x01, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x62, 0x6c, 0x65,
0x61, 0x74, 0x64, 0x2e, 0x6c, 0x6f, 0x67, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d,
0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74,
0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x98, 0x38, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65,
0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45,
0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0xa7, 0x71, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e,
0x61, 0x6d, 0x65, 0x70, 0x70, 0x63, 0x69, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e,
0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e,
0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69,
0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x18,
0x22, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x75, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x2d,
0x72, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2d, 0x62, 0x69, 0x6e, 0x2e, 0x6c, 0x6f, 0x67, 0x6f, 0x61, 0x70, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69,
0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22,
0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69,
0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x04, 0x7e, 0xa4, 0x6a, 0x73,
0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x69, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x6c, 0x6f, 0x67, 0x6f,
0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69,
0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76,
0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x09, 0xa4,
0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x6c,
0x6f, 0x67, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d,
0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65,
0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75,
0x73, 0x69, 0x76, 0x65, 0x1a, 0x00, 0x01, 0x18, 0x45, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65,
0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c,
0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0x00, 0x01, 0x25, 0x4e, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61,
0x6d, 0x65, 0x6f, 0x63, 0x6f, 0x61, 0x70, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x6c, 0x6f, 0x67, 0x6f, 0x61,
0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74,
0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65,
0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65,
0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x02, 0xa4, 0x6a,
0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x78, 0x1e, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x2d, 0x62, 0x61,
0x64, 0x2d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2e, 0x6c,
0x6f, 0x67, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d,
0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65,
0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75,
0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76,
0x65, 0x19, 0x07, 0x7c, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x2e, 0x6c, 0x6f, 0x67, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d,
0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74,
0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x90, 0x23, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65,
0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45,
0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x9f, 0xe4, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e,
0x61, 0x6d, 0x65, 0x72, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x6c,
0x6f, 0x67, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d,
0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65,
0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75,
0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76,
0x65, 0x09, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x61, 0x63, 0x63, 0x65, 0x73,
0x73, 0x2d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x6c, 0x6f, 0x67, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69,
0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e,
0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65,
0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0x00, 0x0b, 0x4e,
0xc0, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65,
0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0x00, 0x0b,
0x5e, 0x85, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x78, 0x18, 0x63, 0x6f, 0x61, 0x70,
0x2d, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2e, 0x6c, 0x6f, 0x67,
0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e,
0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69,
0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x02,
0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x6b, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x79, 0x64,
0x2e, 0x6c, 0x6f, 0x67, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65,
0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71,
0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63,
0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0xa1, 0x7c, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65,
0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c,
0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0xab, 0x77, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65,
0x68, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74,
0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65,
0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0x00, 0x01, 0xb1, 0xce, 0x78, 0x22, 0x69, 0x74,
0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68,
0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0x00, 0x01, 0xc0, 0x96, 0xa4, 0x6a, 0x73,
0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x67, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x6f, 0x61, 0x70,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f,
0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19,
0xf8, 0x52, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0x00,
0x01, 0x06, 0xc2, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x6b, 0x70, 0x65, 0x74, 0x72,
0x69, 0x66, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d,
0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74,
0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0x00, 0x06, 0xe3, 0x59, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d,
0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73,
0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x1a, 0x00, 0x06, 0xeb, 0x82, 0xa4, 0x6a, 0x73, 0x74, 0x72,
0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x72, 0x75, 0x73, 0x65, 0x72, 0x6c, 0x61, 0x6e, 0x64, 0x2d, 0x70, 0x69, 0x6e,
0x67, 0x64, 0x2e, 0x6c, 0x6f, 0x67, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61,
0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53,
0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45,
0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x50, 0x14, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71,
0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78,
0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x59, 0x81, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61,
0x6d, 0x65, 0x76, 0x64, 0x72, 0x69, 0x76, 0x65, 0x73, 0x5f, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f,
0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d,
0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65,
0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78,
0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e,
0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75,
0x73, 0x69, 0x76, 0x65, 0x19, 0x07, 0x6c, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x72,
0x6d, 0x63, 0x72, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61,
0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74,
0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65,
0x19, 0x58, 0x0d, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19,
0x60, 0x97, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x75, 0x6b, 0x65, 0x79, 0x73, 0x74,
0x6f, 0x72, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70,
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78,
0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48,
0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x07, 0x78, 0xa4, 0x6a,
0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x6c, 0x61, 0x6c, 0x5f, 0x64, 0x6d, 0x65, 0x73, 0x67, 0x2e,
0x6c, 0x6f, 0x67, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a,
0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75,
0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c,
0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69,
0x76, 0x65, 0x18, 0x5c, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x78, 0x2b, 0x63, 0x61,
0x72, 0x62, 0x6f, 0x6e, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73,
0x74, 0x61, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x6a, 0x73, 0x6f,
0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f,
0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e,
0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73,
0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65,
0x19, 0x07, 0x77, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x65, 0x74, 0x72,
0x69, 0x66, 0x79, 0x2d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69,
0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22,
0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69,
0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x07, 0x62, 0xa4, 0x6a, 0x73,
0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x74,
0x72, 0x69, 0x63, 0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74,
0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65,
0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65,
0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45,
0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x07, 0x77, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e,
0x61, 0x6d, 0x65, 0x6c, 0x72, 0x65, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x6c, 0x6f, 0x67, 0x6f, 0x61, 0x70, 0x70,
0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72,
0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78,
0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48,
0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x07, 0x76, 0xa4, 0x6a,
0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x79, 0x5f, 0x6d, 0x65,
0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69,
0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77,
0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53,
0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74,
0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x01, 0x7f, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d,
0x4e, 0x61, 0x6d, 0x65, 0x78, 0x1b, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63,
0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67,
0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74,
0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68,
0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x01, 0x7f, 0xa4, 0x6a, 0x73, 0x74, 0x72,
0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x78, 0x1c, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x61, 0x67,
0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70,
0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f,
0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75,
0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00,
0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x01, 0x7c, 0xa4,
0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x77, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x5f, 0x64,
0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69,
0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22,
0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69,
0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x01, 0x7c, 0xa4, 0x6a, 0x73,
0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x70, 0x76, 0x32, 0x2d, 0x6c, 0x6f, 0x67, 0x2d, 0x73, 0x69, 0x7a,
0x65, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61,
0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53,
0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45,
0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65,
0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c,
0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x01, 0x7e, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65,
0x78, 0x1b, 0x63, 0x61, 0x72, 0x62, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6d, 0x65, 0x74,
0x72, 0x69, 0x63, 0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74,
0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65,
0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65,
0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45,
0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x0a, 0x6c, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e,
0x61, 0x6d, 0x65, 0x77, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69,
0x63, 0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d,
0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74,
0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75,
0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63,
0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x19, 0x01, 0x7e, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d,
0x65, 0x78, 0x1e, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x2d, 0x6f, 0x6c, 0x64, 0x2d, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x2d,
0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, 0x2e, 0x6c, 0x6f, 0x67, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63,
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67,
0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72,
0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74,
0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68,
0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x18, 0x81, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65,
0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x64, 0x72, 0x69, 0x76, 0x65, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61,
0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53,
0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45,
0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65,
0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c,
0x75, 0x73, 0x69, 0x76, 0x65, 0x18, 0x80, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x77,
0x63, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x2e, 0x6a,
0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a,
0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75,
0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c,
0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69,
0x76, 0x65, 0x18, 0x21, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x70, 0x63,
0x65, 0x61, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c,
0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69,
0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22,
0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69,
0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x18, 0x21, 0xa4, 0x6a, 0x73, 0x74,
0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x71, 0x63, 0x61, 0x72, 0x64, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61,
0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53,
0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45,
0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65,
0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c,
0x75, 0x73, 0x69, 0x76, 0x65, 0x18, 0x21, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x78,
0x19, 0x70, 0x65, 0x74, 0x72, 0x69, 0x66, 0x79, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x2d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63,
0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61,
0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53,
0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45,
0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65,
0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c,
0x75, 0x73, 0x69, 0x76, 0x65, 0x18, 0x20, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x77,
0x69, 0x32, 0x63, 0x2d, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x2d, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x6a,
0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a,
0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75,
0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c,
0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69,
0x76, 0x65, 0x02, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x69, 0x6c, 0x73, 0x68, 0x77,
0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d,
0x65, 0x6a, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65,
0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78,
0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e,
0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75,
0x73, 0x69, 0x76, 0x65, 0x02, 0xa4, 0x6a, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x76, 0x64, 0x69,
0x73, 0x6b, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x2e, 0x6a, 0x73, 0x6f, 0x6e,
0x6f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x6a, 0x6d, 0x6f, 0x6e,
0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x78, 0x21, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69,
0x76, 0x65, 0x00, 0x78, 0x22, 0x69, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d,
0x62, 0x65, 0x72, 0x48, 0x69, 0x67, 0x68, 0x65, 0x73, 0x74, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x02];
let _: Result<MyType, _> = serde_cbor::from_slice(&cbor);
} src/mod.rs#[macro_use]
extern crate serde_derive;
extern crate serde;
extern crate serde_cbor; |
FWIW, a variant of the above test program results in an valgrind error of "Invalid write of size 8" on a stack based pointer. Interestingly enough, this happens only with the aarch64-unknown-linux-musl target and cannot be reproduced on the aarch64-unknown-linux-gnu target. I am trying to see if the same issue can be reproduced on x86_64-unknown-linux-musl, but setting up the environment will take some time. Note that the SEGV was observed on an aarch64-unknown-linux-musl platform, but am not sure whether the "invalid write" is related. |
Attachment appears to be just a tarball not gzipped. |
BTW, think we have tracked down the "invalid write of size 8" seems to be some sort of musl compatibility issue with the panic backtrace (or something along those lines). Since we don't see the "invalid write of size 8" on Alpine Linux (aarch64) with the same binary, it stands to reason that there's something different about about our platform musl that causes the issue. In any case, compiling the code with "panic=abort" gets rid that issue. As noted, we do see "conditional jump..." or move error on multiple platforms, including x86_64. |
FWIW, we believe that we have root-caused the issue. The bottom line is that there appears to be a bug in tokio that results in a double free of a memory allocated pointer, which eventually causes the musl library to SEGV on a NULL pointer. We haven't managed to boil it down to a simple repro case, so there's a little bit of a conjecture here, but the bottom line is that the issue went away after we switched to a single threaded tokio execution engine. Note that there's nothing inherently parallel in our code and we are using 100% safe Rust, so the corruption must be coming presumably from unsafe portions in other crates (most likely tokio in this case). |
@khareatu did you open a bug in the tokio tracker for this? This seems like a pretty bad bug. |
Jonas-Schievink, |
Closing since this is not a bug on our end |
Gist
Background:
This was discovered during our attempt to root cause an inexplicable SEGV error in 100% safe Rust code. The short version is that the SEGV was being caused by a the corruption of a doubly linked list structure used by malloc() and the structure was ostensibly corrupted when the pointer was somehow overwritten. Since the issue made absolutely no sense, we tried to distill it down and were surprised when valgrind showed that our test code resulted in a conditional execution based on uninitialized data.
** Error and analysis **
valgrind error
valgrind --track-origins=yes target/release/bug_repro
...
==32239== Conditional jump or move depends on uninitialised value(s)
==32239== at 0x113B86: <serde_cbor::de::Deserializer>::parse_map
==32239== by 0x10E16A: <serde_cbor::de::Deserializer>::parse_value
==32239== by 0x10CB27: serde_cbor::de::from_slice
==32239== by 0x114AFC: bug_repro::main
...
==32239== Uninitialised value was created by a stack allocation
==32239== at 0x1137B3: <serde_cbor::de::Deserializer>::parse_map (in /home/ANT.AMAZON.COM/khareatu/kaos/Carbon2/src/UGMH/target/release/bug_repro)
We can validate the above by the following with gdb:
(gdb) info functions parse_map
0x00000000001137c0 <serde_cbor::de::Deserializer>::parse_map
(gdb) disas 0x1137c0
Dump of assembler code for function ZN46$LT$serde_cbor..de..Deserializer$LT$R$GT$$GT$9parse_map17h2e6263b3d6f0a8b5E:
...
0x00000000001137ca <+10>: sub $0xf8,%rsp => Stack frame is allocated here
0x00000000001137d1 <+17>: mov %rsi,%r13 => We set a break point on this instruction
Breakpoint 2, 0x00000000001137d1 in <serde_cbor::de::Deserializer>::parse_map ()
(gdb) info registers
...
rsp 0x1ffefff6d0 0x1ffefff6d0
valgrind shows that uninitialized data will be located at a future point in the program:
0x0000000000113b6f <+943>: mov 0x90(%rsp),%rsi => Load happens here
0x0000000000113b77 <+951>: cmp $0x1,%r12
...
0x0000000000113b8b <+971>: test %rsi,%rsi
0x0000000000113b8e <+974>: mov 0x80(%rsp),%rbp
0x0000000000113b96 <+982>: je 0x113bbd => Jump based on the above load
We can dump the random bytes allocated on the stack and set a break on 0x113b8e:
(gdb) x/4xg 0x1ffefff6d0+0x90
0x1ffefff760: 0x00000000042289f0 0x0000000004044000
0x1ffefff770: 0x0000000004028440 0x0000000004028930
(gdb) x/xg 42289f0
break *0x113b8e
continue
.... => We break following the load of rsi from [rsp+0x90]
0x0000000000113b96 in <serde_cbor::de::Deserializer>::parse_map ()
(gdb) info registers
....
rsi 0x42289f0 69372400
We can see that this is the same random value @ [rsp+0x90] on the stack frame. In fact, we can further verify this by changing the value in [rsp+0x90] to some other value to ensure that it's not initialized later in the control flow.
bug_repro.gz
The text was updated successfully, but these errors were encountered: