Skip to content

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

Open
@alexcrichton

Description

@alexcrichton

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-debuginfoArea: Debugging information in compiled programs (DWARF, PDB, etc.)A-testsuiteArea: The testsuite used to check the correctness of rustcC-bugCategory: This is a bug.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions