Skip to content

The generic-enum-with-different-disr-sizes test fails in LLDB #27089

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

Open
alexcrichton opened this issue Jul 17, 2015 · 3 comments
Open

The generic-enum-with-different-disr-sizes test fails in LLDB #27089

alexcrichton opened this issue Jul 17, 2015 · 3 comments
Labels
A-debuginfo Area: Debugging information in compiled programs (DWARF, PDB, etc.) A-testsuite Area: The testsuite used to check the correctness of rustc C-bug Category: This is a bug. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@alexcrichton
Copy link
Member

Add in #27070 I merged the test in with #27076 but ignored the LLDB failure to land the LLVM update ahead of time. This test fails in LLDB currently, and it'd be good to know why! For posterity the error is:

---- [debuginfo-lldb] debuginfo/generic-enum-with-different-disr-sizes.rs stdout ----
    NOTE: compiletest thinks it is using LLDB version 310

error: line not found in debugger output: [...]$1 = Variant1(101)
status: exit code: 0
command: "/usr/bin/python2.7" "/Users/rustbuild/src/rust-buildbot/slave/auto-mac-64-opt/build/src/etc/lldb_batchmode.py" "x86_64-apple-darwin/test/debuginfo-lldb/generic-enum-with-different-disr-sizes.stage2-x86_64-apple-darwin" "x86_64-apple-darwin/test/debuginfo-lldb/generic-enum-with-different-disr-sizes.debugger.script"
stdout:
------------------------------------------
LLDB batch-mode script
----------------------
Debugger commands script is 'x86_64-apple-darwin/test/debuginfo-lldb/generic-enum-with-different-disr-sizes.debugger.script'.
Target executable is 'x86_64-apple-darwin/test/debuginfo-lldb/generic-enum-with-different-disr-sizes.stage2-x86_64-apple-darwin'.
Current working directory is '/Users/rustbuild/src/rust-buildbot/slave/auto-mac-64-opt/build/obj'
Creating a target for 'x86_64-apple-darwin/test/debuginfo-lldb/generic-enum-with-different-disr-sizes.stage2-x86_64-apple-darwin'
settings set auto-confirm true

version
lldb-310.2.37 
command script import /Users/rustbuild/src/rust-buildbot/slave/auto-mac-64-opt/build/./src/etc/lldb_rust_formatters.py
type summary add --no-value --python-function lldb_rust_formatters.print_val -x ".*" --category Rust
type category enable Rust

breakpoint set --line 88
Breakpoint 1: where = generic-enum-with-different-disr-sizes.stage2-x86_64-apple-darwin`generic_enum_with_different_disr_sizes::main + 151 at generic-enum-with-different-disr-sizes.rs:88, address = 0x0000000100000da7 
run
Hit breakpoint 1.1: where = generic-enum-with-different-disr-sizes.stage2-x86_64-apple-darwin`generic_enum_with_different_disr_sizes::main + 151 at generic-enum-with-different-disr-sizes.rs:88, address = 0x0000000100000da7, resolved, hit count = 1 
Process 55204 launched: '/Users/rustbuild/src/rust-buildbot/slave/auto-mac-64-opt/build/obj/x86_64-apple-darwin/test/debuginfo-lldb/generic-enum-with-different-disr-sizes.stage2-x86_64-apple-darwin' (x86_64) 
print eight_bytes1
(generic_enum_with_different_disr_sizes::Enum<f64>) $0 = Variant1(100) 
print four_bytes1
(generic_enum_with_different_disr_sizes::Enum<i32>) $1 = { = Variant1(101) = Variant2(101) } 
print two_bytes1
(generic_enum_with_different_disr_sizes::Enum<i16>) $2 = Variant1(102) 
print one_byte1
(generic_enum_with_different_disr_sizes::Enum<u8>) $3 = { = Variant1('A') = Variant2('A') } 
print eight_bytes2
(generic_enum_with_different_disr_sizes::Enum<f64>) $4 = Variant2(100) 
print four_bytes2
(generic_enum_with_different_disr_sizes::Enum<i32>) $5 = { = Variant1(101) = Variant2(101) } 
print two_bytes2
(generic_enum_with_different_disr_sizes::Enum<i16>) $6 = Variant2(102) 
print one_byte2
(generic_enum_with_different_disr_sizes::Enum<u8>) $7 = { = Variant1('A') = Variant2('A') } 
continue
quit


------------------------------------------
stderr:
------------------------------------------
Traceback (most recent call last):
  File "/Users/rustbuild/src/rust-buildbot/slave/auto-mac-64-opt/build/src/etc/lldb_rust_formatters.py", line 155, in print_val
    return print_val(lldb_val.GetChildAtIndex(discriminant_val), internal_dict)
  File "/Library/PrivateFrameworks/LLDB.framework/Versions/A/Resources/Python/lldb/__init__.py", line 10192, in GetChildAtIndex
    return _lldb.SBValue_GetChildAtIndex(self, *args)
NotImplementedError: Wrong number of arguments for overloaded function 'SBValue_GetChildAtIndex'.
  Possible C/C++ prototypes are:
    GetChildAtIndex(lldb::SBValue *,uint32_t)
    GetChildAtIndex(lldb::SBValue *,uint32_t,lldb::DynamicValueType,bool)

Traceback (most recent call last):
  File "/Users/rustbuild/src/rust-buildbot/slave/auto-mac-64-opt/build/src/etc/lldb_rust_formatters.py", line 155, in print_val
    return print_val(lldb_val.GetChildAtIndex(discriminant_val), internal_dict)
  File "/Library/PrivateFrameworks/LLDB.framework/Versions/A/Resources/Python/lldb/__init__.py", line 10192, in GetChildAtIndex
    return _lldb.SBValue_GetChildAtIndex(self, *args)
NotImplementedError: Wrong number of arguments for overloaded function 'SBValue_GetChildAtIndex'.
  Possible C/C++ prototypes are:
    GetChildAtIndex(lldb::SBValue *,uint32_t)
    GetChildAtIndex(lldb::SBValue *,uint32_t,lldb::DynamicValueType,bool)


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

thread '[debuginfo-lldb] debuginfo/generic-enum-with-different-disr-sizes.rs' panicked at 'explicit panic', /Users/rustbuild/src/rust-buildbot/slave/auto-mac-64-opt/build/src/compiletest/runtest.rs:1490



failures:
    [debuginfo-lldb] debuginfo/generic-enum-with-different-disr-sizes.rs

cc @michaelwoerister

@alexcrichton alexcrichton added the A-debuginfo Area: Debugging information in compiled programs (DWARF, PDB, etc.) label Jul 17, 2015
alexcrichton added a commit to alexcrichton/rust that referenced this issue Jul 17, 2015
@ohAitch
Copy link

ohAitch commented Mar 26, 2016

In the python pretty-printing engine used by the rust-lldb wrapper, to be precise.

@Mark-Simulacrum Mark-Simulacrum added the C-bug Category: This is a bug. label Jul 22, 2017
@steveklabnik
Copy link
Member

Triage: this bug is still ignored, not sure if it's fixed on its own by now or not

@tromey
Copy link
Contributor

tromey commented Mar 26, 2022

Triage: this bug is still ignored, not sure if it's fixed on its own by now or not

I tried removing the ignore-lldb comment today, and the test still fails there.

@Noratrieb Noratrieb added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Apr 5, 2023
@jieyouxu jieyouxu added the A-testsuite Area: The testsuite used to check the correctness of rustc label Mar 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-debuginfo Area: Debugging information in compiled programs (DWARF, PDB, etc.) A-testsuite Area: The testsuite used to check the correctness of rustc C-bug Category: This is a bug. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

7 participants