Bug 1611597

Summary: rust-toolset-1.29-rust: testcases regressions in aarch64
Product: DevTools Reporter: Edjunior Barbosa Machado <emachado>
Component: rustAssignee: Josh Stone <jistone>
Status: CLOSED ERRATA QA Contact: Edjunior Barbosa Machado <emachado>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rust-toolset-7CC: jcajka, law, tstellar
Target Milestone: rc   
Target Release: 2018.4   
Hardware: aarch64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: No Doc Update
Doc Text:
undefined
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-11-13 15:24:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1625768, 1666533, 1668114, 1696190    
Bug Blocks:    
Attachments:
Description Flags
rpmbuild rust-toolset-1.29-rust-1.27.1-1.el7 output in rhel-alt-7.5 aarch64 none

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