Bug 1664396
| Summary: | debuginfo-both tests from rust internal testsuite fail on rhel-8 x86_64 and aarch64 | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Edjunior Barbosa Machado <emachado> | |
| Component: | rust-toolset | Assignee: | Josh Stone <jistone> | |
| Status: | CLOSED ERRATA | QA Contact: | Alexandra Petlanová Hájková <ahajkova> | |
| Severity: | unspecified | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 8.0 | CC: | ahajkova, jistone, mcermak, tstellar | |
| Target Milestone: | rc | Flags: | pm-rhel:
mirror+
|
|
| Target Release: | 8.1 | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | No Doc Update | ||
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1691972 1730716 (view as bug list) | Environment: | ||
| Last Closed: | 2019-11-05 21:03:41 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: | 1666533, 1696190 | |||
| Bug Blocks: | 1691972, 1730716 | |||
|
Description
Edjunior Barbosa Machado
2019-01-08 16:23:08 UTC
Most of the failures seem to be related to this python error when trying to import thread module (deprecated on python3):
...
---- [debuginfo-both] debuginfo/borrowed-basic.rs stdout ----
NOTE: compiletest thinks it is using GDB with native rust support
NOTE: compiletest thinks it is using GDB version 8002000
NOTE: compiletest thinks it is using LLDB version 700
NOTE: compiletest thinks it is using LLDB without native rust support
error: Error while running LLDB
status: exit code: 1
command: "/usr/libexec/platform-python" "/root/rpmbuild/BUILD/rustc-1.31.0-src/src/etc/lldb_batchmode.py" "/root/rpmbuild/BUILD/rustc-1.31.0-src/build/aarch64-unknown-linux-gnu/test/debuginfo/borrowed-basic/a" "/root/rpmbuild/BUILD/rustc-1.31.0-src/build/aarch64-unknown-linux-gnu/test/debuginfo/borrowed-basic/borrowed-basic.debugger.script"
stdout:
------------------------------------------
------------------------------------------
stderr:
------------------------------------------
Traceback (most recent call last):
File "/root/rpmbuild/BUILD/rustc-1.31.0-src/src/etc/lldb_batchmode.py", line 31, in <module>
import thread
ModuleNotFoundError: No module named 'thread'
------------------------------------------
thread '[debuginfo-both] debuginfo/borrowed-basic.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3284:9
...
And the reason they are not failing in s390x and ppc64le might be because these arches currently do not support lldb.
I've sent a PR to use _thread as a fallback: https://github.com/rust-lang/rust/pull/57453 I don't think this is critical for GA. In the meantime, if you can run the testsuite on a machine *without* LLDB installed, you should at least be able to get GDB results. (In reply to Josh Stone from comment #3) > I've sent a PR to use _thread as a fallback: > https://github.com/rust-lang/rust/pull/57453 > > I don't think this is critical for GA. In the meantime, if you can run the > testsuite on a machine *without* LLDB installed, you should at least be able > to get GDB results. Without lldb installed on these arches, the number of failures on debuginfo-both testcases was strongly reduced: aarch64: 8 x86_64: 7 $ grep ^test.*debuginfo-both.*FAILED * aarch64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/borrowed-c-style-enum.rs ... FAILED aarch64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/by-value-self-argument-in-trait-impl.rs ... FAILED aarch64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/c-style-enum-in-composite.rs ... FAILED aarch64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/gdb-pretty-struct-and-enums-pre-gdb-7-7.rs ... FAILED aarch64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/generic-enum-with-different-disr-sizes.rs ... FAILED aarch64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/generic-struct-style-enum.rs ... FAILED aarch64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/generic-tuple-style-enum.rs ... FAILED aarch64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/nil-enum.rs ... FAILED x86_64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/borrowed-c-style-enum.rs ... FAILED x86_64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/c-style-enum-in-composite.rs ... FAILED x86_64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/gdb-pretty-struct-and-enums-pre-gdb-7-7.rs ... FAILED x86_64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/generic-enum-with-different-disr-sizes.rs ... FAILED x86_64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/generic-struct-style-enum.rs ... FAILED x86_64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/generic-tuple-style-enum.rs ... FAILED x86_64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/nil-enum.rs ... FAILED Thanks. And the upstream patch was merged to fix rust-lldb for python3. I think the enum failures are just small differences in the way they are printed by different versions of GDB. > aarch64_rhel-8.0_rebuild.log:test [debuginfo-both] debuginfo/by-value-self-argument-in-trait-impl.rs ... FAILED This is a recurrence of bug 1611597, llvm bug 1625768. That patch didn't make it into the LLVM 7 release, and was forgotten to backport in the RHEL8 package. It's just a debuginfo issue though, not affecting program execution, so I don't think it's critical. According to the testsuite results this bug does not seem to be fixed, the full results: http://plat-qe-04.lab.eng.rdu2.redhat.com/output.html grep ^test.*debuginfo-both.*FAILED 3671725_rust-1.35.0-2.module+el8.0.1+3282+25f778e4.x86_64_rhel-8.0_rebuild.log test [debuginfo-both] debuginfo/basic-types-globals-metadata.rs ... FAILED test [debuginfo-both] debuginfo/basic-types-globals.rs ... FAILED test [debuginfo-both] debuginfo/basic-types-metadata.rs ... FAILED test [debuginfo-both] debuginfo/basic-types-mut-globals.rs ... FAILED test [debuginfo-both] debuginfo/borrowed-basic.rs ... FAILED test [debuginfo-both] debuginfo/borrowed-c-style-enum.rs ... FAILED test [debuginfo-both] debuginfo/borrowed-struct.rs ... FAILED test [debuginfo-both] debuginfo/borrowed-tuple.rs ... FAILED test [debuginfo-both] debuginfo/borrowed-unique-basic.rs ... FAILED test [debuginfo-both] debuginfo/box.rs ... FAILED test [debuginfo-both] debuginfo/boxed-struct.rs ... FAILED test [debuginfo-both] debuginfo/by-value-self-argument-in-trait-impl.rs ... FAILED test [debuginfo-both] debuginfo/c-style-enum-in-composite.rs ... FAILED test [debuginfo-both] debuginfo/c-style-enum.rs ... FAILED test [debuginfo-both] debuginfo/closure-in-generic-function.rs ... FAILED test [debuginfo-both] debuginfo/constant-debug-locs.rs ... FAILED test [debuginfo-both] debuginfo/constant-in-match-pattern.rs ... FAILED test [debuginfo-both] debuginfo/cross-crate-type-uniquing.rs ... FAILED test [debuginfo-both] debuginfo/destructured-fn-argument.rs ... FAILED test [debuginfo-both] debuginfo/destructured-local.rs ... FAILED test [debuginfo-both] debuginfo/empty-string.rs ... FAILED test [debuginfo-both] debuginfo/evec-in-struct.rs ... FAILED test [debuginfo-both] debuginfo/extern-c-fn.rs ... FAILED test [debuginfo-both] debuginfo/function-arguments.rs ... FAILED test [debuginfo-both] debuginfo/function-call.rs ... FAILED test [debuginfo-both] debuginfo/generators.rs ... FAILED test [debuginfo-both] debuginfo/generic-function.rs ... FAILED test [debuginfo-both] debuginfo/generic-functions-nested.rs ... FAILED test [debuginfo-both] debuginfo/generic-static-method-on-struct-and-enum.rs ... FAILED test [debuginfo-both] debuginfo/include_string.rs ... FAILED test [debuginfo-both] debuginfo/issue-13213.rs ... FAILED test [debuginfo-both] debuginfo/issue-14411.rs ... FAILED test [debuginfo-both] debuginfo/issue-22656.rs ... FAILED test [debuginfo-both] debuginfo/issue-7712.rs ... FAILED test [debuginfo-both] debuginfo/lexical-scope-in-for-loop.rs ... FAILED test [debuginfo-both] debuginfo/lexical-scope-in-if.rs ... FAILED test [debuginfo-both] debuginfo/lexical-scope-in-match.rs ... FAILED test [debuginfo-both] debuginfo/lexical-scope-in-parameterless-closure.rs ... FAILED test [debuginfo-both] debuginfo/lexical-scope-in-stack-closure.rs ... FAILED test [debuginfo-both] debuginfo/lexical-scope-in-unconditional-loop.rs ... FAILED test [debuginfo-both] debuginfo/lexical-scope-in-unique-closure.rs ... FAILED test [debuginfo-both] debuginfo/lexical-scope-in-while.rs ... FAILED test [debuginfo-both] debuginfo/lexical-scopes-in-block-expression.rs ... FAILED test [debuginfo-both] debuginfo/macro-stepping.rs ... FAILED test [debuginfo-both] debuginfo/method-on-struct.rs ... FAILED test [debuginfo-both] debuginfo/method-on-trait.rs ... FAILED test [debuginfo-both] debuginfo/method-on-tuple-struct.rs ... FAILED test [debuginfo-both] debuginfo/multi-byte-chars.rs ... FAILED test [debuginfo-both] debuginfo/multi-cgu.rs ... FAILED test [debuginfo-both] debuginfo/multiple-functions-equal-var-names.rs ... FAILED test [debuginfo-both] debuginfo/multiple-functions.rs ... FAILED test [debuginfo-both] debuginfo/name-shadowing-and-scope-nesting.rs ... FAILED test [debuginfo-both] debuginfo/packed-struct-with-destructor.rs ... FAILED test [debuginfo-both] debuginfo/packed-struct.rs ... FAILED test [debuginfo-both] debuginfo/pretty-huge-vec.rs ... FAILED test [debuginfo-both] debuginfo/pretty-std-collections.rs ... FAILED test [debuginfo-both] debuginfo/pretty-uninitialized-vec.rs ... FAILED test [debuginfo-both] debuginfo/self-in-default-method.rs ... FAILED test [debuginfo-both] debuginfo/self-in-generic-default-method.rs ... FAILED test [debuginfo-both] debuginfo/shadowed-argument.rs ... FAILED test [debuginfo-both] debuginfo/shadowed-variable.rs ... FAILED test [debuginfo-both] debuginfo/simple-lexical-scope.rs ... FAILED test [debuginfo-both] debuginfo/simple-struct.rs ... FAILED test [debuginfo-both] debuginfo/simple-tuple.rs ... FAILED test [debuginfo-both] debuginfo/static-method-on-struct-and-enum.rs ... FAILED test [debuginfo-both] debuginfo/struct-in-struct.rs ... FAILED test [debuginfo-both] debuginfo/struct-namespace.rs ... FAILED test [debuginfo-both] debuginfo/struct-with-destructor.rs ... FAILED test [debuginfo-both] debuginfo/trait-pointers.rs ... FAILED test [debuginfo-both] debuginfo/tuple-in-struct.rs ... FAILED test [debuginfo-both] debuginfo/tuple-in-tuple.rs ... FAILED test [debuginfo-both] debuginfo/tuple-struct.rs ... FAILED test [debuginfo-both] debuginfo/union-smoke.rs ... FAILED test [debuginfo-both] debuginfo/unreachable-locals.rs ... FAILED test [debuginfo-both] debuginfo/unsized.rs ... FAILED test [debuginfo-both] debuginfo/var-captured-in-nested-closure.rs ... FAILED test [debuginfo-both] debuginfo/var-captured-in-sendable-closure.rs ... FAILED test [debuginfo-both] debuginfo/var-captured-in-stack-closure.rs ... FAILED test [debuginfo-both] debuginfo/vec-slices.rs ... FAILED test [debuginfo-both] debuginfo/vec.rs ... FAILED Hmm, strange, it's a different error, but for some reason the testsuite is trying to use python2.7.
error: Error while running LLDB
status: exit code: 1
command: "/usr/bin/python2.7" "/root/rpmbuild/BUILD/rustc-1.35.0-src/src/etc/lldb_batchmode.py" "/root/rpmbuild/BUILD/rustc-1.35.0-src/build/x86_64-unknown-linux-gnu/test/debuginfo/basic-types-globals-metadata/a" "/root/rpmbuild/BUILD/rustc-1.35.0-src/build/x86_64-unknown-linux-gnu/test/debuginfo/basic-types-globals-metadata/basic-types-globals-metadata.debugger.script"
stdout:
------------------------------------------
------------------------------------------
stderr:
------------------------------------------
Traceback (most recent call last):
File "/root/rpmbuild/BUILD/rustc-1.35.0-src/src/etc/lldb_batchmode.py", line 17, in <module>
import lldb
File "/usr/lib64/python3.6/site-packages/lldb/__init__.py", line 39, in <module>
import _lldb
ImportError: dynamic module does not define init function (init_lldb)
The compiletest command for this section has "--lldb-python" "/usr/bin/python2.7" ... "--lldb-python-dir" "/usr/lib64/python3.6/site-packages". It's not going to work to mix python versions, of course.
The brew build used platform-python here, for a consistent python3 experience. But lldb wasn't installed either, so it only actually ran gdb tests.
Maybe it will work as expected if python2.7 is not installed on your test machine? But there may be some configuration flag I can set to make sure the desired python is used everywhere, not left to some fickle detection.
*** Bug 1730716 has been marked as a duplicate of this bug. *** (In reply to Josh Stone from comment #11) > Hmm, strange, it's a different error, but for some reason the testsuite is > trying to use python2.7. > ... > Maybe it will work as expected if python2.7 is not installed on your test > machine? But there may be some configuration flag I can set to make sure the > desired python is used everywhere, not left to some fickle detection. So yes, I found this in src/bootstrap/sanity.rs: build.config.python = build.config.python.take().map(|p| cmd_finder.must_have(p)) .or_else(|| cmd_finder.maybe_have("python2.7")) .or_else(|| cmd_finder.maybe_have("python2")) .or_else(|| env::var_os("BOOTSTRAP_PYTHON").map(PathBuf::from)) // set by bootstrap.py .or_else(|| Some(cmd_finder.must_have("python"))); That is, use the "./configure --python" value if given, otherwise try python2.7, python2, BOOTSTRAP_PYTHON (the one running the build script), or just python. I wasn't setting the configure option before, and in brew I didn't have any python2 installed, so it used BOOTSTRAP_PYTHON. But I guess your system did have python2.7, so that was chosen. I will set "./configure --python" in the next build. 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-2019:3407 |