Bug 1611597 - rust-toolset-1.29-rust: testcases regressions in aarch64
Summary: rust-toolset-1.29-rust: testcases regressions in aarch64
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: DevTools
Classification: Red Hat
Component: rust
Version: rust-toolset-7
Hardware: aarch64
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: 2018.4
Assignee: Josh Stone
QA Contact: Edjunior Barbosa Machado
URL:
Whiteboard:
Depends On: 1625768 1666533 1668114 1696190
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-08-02 12:48 UTC by Edjunior Barbosa Machado
Modified: 2019-04-04 09:56 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
undefined
Clone Of:
Environment:
Last Closed: 2018-11-13 15:24:31 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
rpmbuild rust-toolset-1.29-rust-1.27.1-1.el7 output in rhel-alt-7.5 aarch64 (1.56 MB, text/plain)
2018-08-02 12:48 UTC, Edjunior Barbosa Machado
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Github rust-lang rust issues 49807 0 None closed Test `by-value-self-argument-in-trait-impl.rs` fails on aarch64 2020-02-17 14:37:53 UTC
Red Hat Product Errata RHEA-2018:3584 0 None None None 2018-11-13 15:24:46 UTC

Description Edjunior Barbosa Machado 2018-08-02 12:48:46 UTC
Created attachment 1472690 [details]
rpmbuild rust-toolset-1.29-rust-1.27.1-1.el7 output in rhel-alt-7.5 aarch64

Description of problem:
There are few testcases regressions found in rust-toolset-1.29-rust-1.27.1-1.el7 in comparison to previous rust-toolset-7-rust-1.26.2-3.el7 in rhel-alt-7.5 aarch64:

test [compile-fail] compile-fail/huge-array.rs ... FAILED
test [debuginfo-gdb] debuginfo/by-value-self-argument-in-trait-impl.rs ... FAILED

It might be worth mentioning that rust-toolset-1.29-rust-1.27.1-1.el7 was build with RUST_BACKTRACE=0 due to bug #1611006, while rust-toolset-7-rust-1.26.2-3.el7 used for this comparison was tested with backtrace enabled (RUST_BACKTRACE=1).

Also, these 2 failures were not found in other arches.

Version-Release number of selected component (if applicable):
rust-toolset-1.29-rust-1.27.1-1.el7

Steps to Reproduce:
1. rpmbuild --rebuild ./rust-toolset-1.29-rust-1.27.1-1.el7.src.rpm

Output of the failures:
---- [compile-fail] compile-fail/huge-array.rs stdout ----
>       
error: Error: expected failure status (Some(101)) but received status None.
status: signal: 11
command: "/root/rpmbuild/BUILD/rustc-1.27.1-src/build/aarch64-unknown-linux-gnu/stage2/bin/rustc" "/root/rpmbuild/BUILD/rustc-1.27.1-src/src/test/compile-fail/huge-array.rs" "-L" "/root/rpmbuild/BUILD/rustc-1.27.1-src/build/aarch64-unknown-linux-gnu/test/compile-fail" "--target=aarch64-unknown-linux-gnu" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/root/rpmbuild/BUILD/rustc-1.27.1-src/build/aarch64-unknown-linux-gnu/test/compile-fail/huge-array.stage2-aarch64-unknown-linux-gnu" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/root/rpmbuild/BUILD/rustc-1.27.1-src/build/aarch64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/root/rpmbuild/BUILD/rustc-1.27.1-src/build/aarch64-unknown-linux-gnu/test/compile-fail/huge-array.stage2-aarch64-unknown-linux-gnu.aux" "-A" "unused"
stdout:
------------------------------------------

------------------------------------------
stderr:
------------------------------------------
error: the type `[[u8; 1518599999]; 1518600000]` is too big for the current architecture

error: aborting due to previous error


------------------------------------------

thread '[compile-fail] compile-fail/huge-array.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3033:9
note: Run with `RUST_BACKTRACE=1` for a backtrace.

(...)
---- [debuginfo-gdb] debuginfo/by-value-self-argument-in-trait-impl.rs stdout ----
>       NOTE: compiletest thinks it is using GDB without native rust support
NOTE: compiletest thinks it is using GDB version 7006001

error: line not found in debugger output: $3 = {__0 = 4444.5, __1 = 5555, __2 = 6666, __3 = 7777.5}
status: exit code: 0
command: "/usr/bin/gdb" "-quiet" "-batch" "-nx" "-command=/root/rpmbuild/BUILD/rustc-1.27.1-src/build/aarch64-unknown-linux-gnu/test/debuginfo/by-value-self-argument-in-trait-impl.debugger.script"
stdout:
------------------------------------------
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-110.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "aarch64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Breakpoint 1 at 0x400d3c: file /root/rpmbuild/BUILD/rustc-1.27.1-src/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs, line 59.
Breakpoint 2 at 0x400d64: file /root/rpmbuild/BUILD/rustc-1.27.1-src/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs, line 71.
Breakpoint 3 at 0x400d90: file /root/rpmbuild/BUILD/rustc-1.27.1-src/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs, line 78.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Breakpoint 1, _$LT$isize$u20$as$u20$by_value_self_argument_in_trait_impl..Trait$GT$::method::h301182dfaa0d14da (self=1111) at /root/rpmbuild/BUILD/rustc-1.27.1-src/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs:59
59>             zzz(); // #break
$1 = 1111

Breakpoint 2, _$LT$by_value_self_argument_in_trait_impl..Struct$u20$as$u20$by_value_self_argument_in_trait_impl..Trait$GT$::method::h4a9e5070dccd20d1 (self=...) at /root/rpmbuild/BUILD/rustc-1.27.1-src/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs:71
71>             zzz(); // #break
$2 = {x = 2222, y = 3333}

Breakpoint 3, _$LT$$LP$f64$C$$u20$isize$C$$u20$isize$C$$u20$f64$RP$$u20$as$u20$by_value_self_argument_in_trait_impl..Trait$GT$::method::hfc905ce4eef80791 (self=...) at /root/rpmbuild/BUILD/rustc-1.27.1-src/src/test/debuginfo/by-value-self-argument-in-trait-impl.rs:78
78>             zzz(); // #break
$3 = {__0 = 1.390671161523444e-309, __1 = 3333, __2 = 281474976702120, __3 = 1.3906711615249065e-309}
[Inferior 1 (process 3217) exited normally]

------------------------------------------
stderr:
------------------------------------------

------------------------------------------

thread '[debuginfo-gdb] debuginfo/by-value-self-argument-in-trait-impl.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3033:9
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Comment 1 Josh Stone 2018-09-04 23:53:02 UTC
(In reply to Edjunior Barbosa Machado from comment #0)
> test [compile-fail] compile-fail/huge-array.rs ... FAILED

This one looks better in 1.28.0-3

> test [debuginfo-gdb] debuginfo/by-value-self-argument-in-trait-impl.rs ...FAILED

This one is still failing -- I'll investigate.

Comment 3 Josh Stone 2018-09-11 16:44:03 UTC
debuginfo/by-value-self-... is fixed by llvm-toolset-6.0-llvm-6.0.1-5.el7.  We don't even need to rebuild Rust for this, since it only affects -O0 compilation (which isn't packaged).  Just re-running the test with that LLVM should work.

Comment 7 errata-xmlrpc 2018-11-13 15:24:31 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2018:3584


Note You need to log in before you can comment on or make changes to this bug.