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

Rust 1.19 regression, bugsnag 0.1.3 #42457

Closed
brson opened this issue Jun 6, 2017 · 4 comments
Closed

Rust 1.19 regression, bugsnag 0.1.3 #42457

brson opened this issue Jun 6, 2017 · 4 comments
Assignees
Labels
A-codegen Area: Code generation I-needs-decision Issue: In need of a decision. P-high High priority regression-from-stable-to-beta Performance or correctness regression from stable to beta.

Comments

@brson
Copy link
Contributor

brson commented Jun 6, 2017

https://github.com/superscale/bugsnag-rs

commit 0dcd12904dddba34280cc9dfe1eb4cb62dfe179f
Merge: d48b49e 132e53f
Author: bkchr <bkchr@users.noreply.github.com>
Date:   Thu Mar 30 10:19:38 2017 +0200

    Merge pull request #1 from superscale/improved_stacktrace_filtering

    Changes the filtering while creating the stacktrace
101 brian@ip-10-145-43-250:~/dev/bugsnag-rs⟫ cargo +nightly test
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running target/debug/deps/bugsnag-70e001eda811897f

running 19 tests
test appinfo::tests::test_appinfo_with_release_stage_to_json ... ok
test appinfo::tests::test_appinfo_to_json ... ok
test appinfo::tests::test_appinfo_with_type_to_json ... ok
test bugsnag_impl::tests::test_error_to_json ... ok
test bugsnag_impl::tests::test_info_to_json ... ok
test appinfo::tests::test_appinfo_with_version_to_json ... ok
test bugsnag_impl::tests::test_warning_to_json ... ok
test deviceinfo::tests::test_deviceinfo_to_json ... ok
test event::tests::test_event_to_json ... ok
test event::tests::test_event_with_app_info_to_json ... ok
test event::tests::test_event_with_context_to_json ... ok
test notification::tests::test_notification_to_json ... ok
test bugsnag_impl::tests::test_get_project_dir ... ok
test exception::tests::test_exception_to_json ... ok
test deviceinfo::tests::test_deviceinfo_to_json_with_set ... ok
test notification::tests::test_notification_with_event_to_json ... ok
test stacktrace::tests::test_frame_to_json ... ok
test stacktrace::tests::test_create_stacktrace_with_ignore ... ok
test stacktrace::tests::test_create_stacktrace ... FAILED

failures:

---- stacktrace::tests::test_create_stacktrace stdout ----
        thread 'stacktrace::tests::test_create_stacktrace' panicked at 'assertion failed: found_frame', src/stacktrace.rs:97
note: Run with `RUST_BACKTRACE=1` for a backtrace.


failures:
    stacktrace::tests::test_create_stacktrace

test result: FAILED. 18 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out

error: test failed, to rerun pass '--lib'
brian@ip-10-145-43-250:/mnt2/dev⟫ rustc +nightly -Vv
rustc 1.19.0-nightly (0418fa9d3 2017-06-04)
binary: rustc
commit-hash: 0418fa9d382a47d782cc1e195c14573be9c32095
commit-date: 2017-06-04
host: x86_64-unknown-linux-gnu
release: 1.19.0-nightly
LLVM version: 4.0

@brson brson added the regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. label Jun 6, 2017
@brson
Copy link
Contributor Author

brson commented Jun 6, 2017

cc @SuperScale

@Mark-Simulacrum
Copy link
Member

Bisected to 2971d49 -- #41508; I think this might be intentional breaking changes, since the test looks like it depends on somewhat internal information, but unsure. https://github.com/superscale/bugsnag-rs/blob/master/src/stacktrace.rs#L80

@brson brson added regression-from-stable-to-beta Performance or correctness regression from stable to beta. I-needs-decision Issue: In need of a decision. P-high High priority A-codegen Area: Code generation and removed regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. labels Jun 12, 2017
@brson
Copy link
Contributor Author

brson commented Jun 15, 2017

@mw does this breakage look expected per the linked PR?

@nagisa
Copy link
Member

nagisa commented Jun 15, 2017

Intended breakage. The crate runs:

let frames = create_stacktrace(&|file, _| file.starts_with(env!("CARGO_MANIFEST_DIR")));

The code within closure calculates the frame.in_project boolean. Since after the linked change debug info intentionally does not put absolute paths into the debug info anymore, this check can never become true. This latter skips this code:

if frame.in_project {
    found_frame = true;
    break;
}

and triggers the assert!(found_frame).

@nagisa nagisa closed this as completed Jun 15, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-codegen Area: Code generation I-needs-decision Issue: In need of a decision. P-high High priority regression-from-stable-to-beta Performance or correctness regression from stable to beta.
Projects
None yet
Development

No branches or pull requests

4 participants