Skip to content
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

[SR-11086] Crash in REPL when redeclaring class with variable #4336

Open
swift-ci opened this issue Jul 8, 2019 · 4 comments
Open

[SR-11086] Crash in REPL when redeclaring class with variable #4336

swift-ci opened this issue Jul 8, 2019 · 4 comments
Labels
bug Something isn't working Compiler LLDB for Swift

Comments

@swift-ci
Copy link

swift-ci commented Jul 8, 2019

Previous ID SR-11086
Radar rdar://problem/52808651
Original Reporter aasimk (JIRA User)
Type Bug
Environment

Xcode 11 beta 3

Additional Detail from JIRA
Votes 0
Component/s Compiler, LLDB for Swift
Labels Bug
Assignee None
Priority Medium

md5: 4da831baa79eee189c7475de2db8544d

Issue Description:

This crash seems to be only occurring in the REPL due to allowing redeclaration of variables and classes

Steps to trigger crash

  1> class Foo {}
  2> let Foo = 0
  3> let foo: Foo = Foo()

Stack trace

0  lldb                     0x0000000103125da5 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  lldb                     0x0000000103125417 llvm::sys::RunSignalHandlers() + 39
2  lldb                     0x00000001031263f8 SignalHandler(int) + 264
3  libsystem_platform.dylib 0x00007fff7b677b5d _sigtramp + 29
4  libsystem_platform.dylib 000000000000000000 _sigtramp + 2224587968
5  LLDB                     0x00000001041fff73 swift::TypeChecker::coercePatternToType(swift::Pattern*&, swift::TypeResolution, swift::Type, swift::TypeResolutionOptions, swift::TypeLoc) + 6035
6  LLDB                     0x00000001041fe3f6 swift::TypeChecker::typeCheckPattern(swift::Pattern*, swift::DeclContext*, swift::TypeResolutionOptions) + 710
7  LLDB                     0x00000001041d1bfd validatePatternBindingEntries(swift::TypeChecker&, swift::PatternBindingDecl*) + 621
8  LLDB                     0x00000001041cb265 (anonymous namespace)::DeclChecker::visit(swift::Decl*) + 1253
9  LLDB                     0x00000001041cad76 swift::TypeChecker::typeCheckDecl(swift::Decl*) + 38
10 LLDB                     0x00000001042396ee swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) + 1486
11 LLDB                     0x00000001042387f8 bool (anonymous namespace)::StmtChecker::typeCheckStmt<swift::BraceStmt>(swift::BraceStmt*&) + 136
12 LLDB                     0x00000001042388ee swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) + 174
13 LLDB                     0x00000001042551d6 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) + 950
14 LLDB                     0x0000000103631877 lldb_private::SwiftExpressionParser::Parse(lldb_private::DiagnosticManager&, unsigned int, unsigned int) + 407
15 LLDB                     0x000000010363e9cf lldb_private::SwiftUserExpression::Parse(lldb_private::DiagnosticManager&, lldb_private::ExecutionContext&, lldb_private::ExecutionPolicy, bool, bool) + 991
16 LLDB                     0x00000001033ee6a5 lldb_private::UserExpression::Evaluate(lldb_private::ExecutionContext&, lldb_private::EvaluateExpressionOptions const&, llvm::StringRef, llvm::StringRef, lldb_private::SharingPtr<lldb_private::ValueObject>&, lldb_private::Status&, unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::shared_ptr<lldb_private::Module>*) + 1701
17 LLDB                     0x00000001033ec7c1 lldb_private::REPL::IOHandlerInputComplete(lldb_private::IOHandler&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) + 2129
18 LLDB                     0x0000000103361cc0 lldb_private::IOHandlerEditline::Run() + 368
19 LLDB                     0x000000010334909b lldb_private::Debugger::ExecuteIOHandlers() + 123
20 LLDB                     0x000000010334bae3 lldb_private::Debugger::IOHandlerThread(void*) + 19
21 LLDB                     0x00000001033f6287 lldb_private::HostNativeThreadBase::ThreadCreateTrampoline(void*) + 103
22 libsystem_pthread.dylib  0x00007fff7b6802eb _pthread_body + 126
23 libsystem_pthread.dylib  0x00007fff7b683249 _pthread_start + 66
24 libsystem_pthread.dylib  0x00007fff7b67f40d thread_start + 13
fish: 'swift' terminated by signal SIGSEGV (Address boundary error)
@belkadan
Copy link

belkadan commented Jul 9, 2019

@swift-ci create

@swift-ci
Copy link
Author

Comment by Andrew Litteken (JIRA)

I was thinking of trying to take a run at this bug as a first try at working with the compiler, would this be an ok starting bug?

@belkadan
Copy link

I don't think we really know what the problem is yet. You'd be better picking one with a "StarterBug" label.

@swift-ci
Copy link
Author

Comment by Andrew Litteken (JIRA)

Ok, I'l take a look, FWIW I did get a different error message when running from the lldb repository:

Assertion failed: (isa<X>(Val) && "cast<Ty>() argument of incompatible type!"), function cast, file /Users/andrewlitteken/Documents/side-interests/swift-source/llvm/include/llvm/Support/Casting.h, line 255.
0  lldb                     0x0000000104c452c5 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  lldb                     0x0000000104c44567 llvm::sys::RunSignalHandlers() + 39
2  lldb                     0x0000000104c45928 SignalHandler(int) + 264
3  libsystem_platform.dylib 0x00007fff7bcebb5d _sigtramp + 29
4  libsystem_platform.dylib 0x0000700004d24468 _sigtramp + 2298710312
5  libsystem_c.dylib        0x00007fff7bba56a6 abort + 127
6  libsystem_c.dylib        0x00007fff7bb6e20d basename_r + 0
7  LLDB                     0x00000001111e7b83 resolveIdentTypeComponent(swift::TypeResolution, llvm::ArrayRef<swift::ComponentIdentTypeRepr*>, swift::TypeResolutionOptions) (.cold.5) + 35
8  LLDB                     0x000000010dbd4679 resolveIdentTypeComponent(swift::TypeResolution, llvm::ArrayRef<swift::ComponentIdentTypeRepr*>, swift::TypeResolutionOptions) + 3321
9  LLDB                     0x000000010dbd3674 swift::TypeChecker::resolveIdentifierType(swift::TypeResolution, swift::IdentTypeRepr*, swift::TypeResolutionOptions) + 164
10 LLDB                     0x000000010dbd4ab7 (anonymous namespace)::TypeResolver::resolveType(swift::TypeRepr*, swift::TypeResolutionOptions) + 295
11 LLDB                     0x000000010dbd2d77 swift::TypeResolution::resolveType(swift::TypeRepr*, swift::TypeResolutionOptions) + 247
12 LLDB                     0x000000010dbd47ed swift::TypeChecker::validateType(swift::TypeLoc&, swift::TypeResolution, swift::TypeResolutionOptions) + 109
13 LLDB                     0x000000010db7d11b validateTypedPattern(swift::TypeChecker&, swift::TypeResolution, swift::TypedPattern*, swift::TypeResolutionOptions) + 219
14 LLDB                     0x000000010db7cc54 swift::TypeChecker::typeCheckPattern(swift::Pattern*, swift::DeclContext*, swift::TypeResolutionOptions) + 388
15 LLDB                     0x000000010db46656 validatePatternBindingEntries(swift::TypeChecker&, swift::PatternBindingDecl*) + 598
16 LLDB                     0x000000010db3f744 (anonymous namespace)::DeclChecker::visit(swift::Decl*) + 1796
17 LLDB                     0x000000010db3f036 swift::TypeChecker::typeCheckDecl(swift::Decl*) + 38
18 LLDB                     0x000000010dbbf65a swift::ASTVisitor<(anonymous namespace)::StmtChecker, void, swift::Stmt*, void, void, void, void>::visit(swift::Stmt*) + 458
19 LLDB                     0x000000010dbbe818 bool (anonymous namespace)::StmtChecker::typeCheckStmt<swift::BraceStmt>(swift::BraceStmt*&) + 136
20 LLDB                     0x000000010dbbe90e swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) + 174
21 LLDB                     0x000000010dbdf0e2 swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int) + 914
22 LLDB                     0x000000010c4d0399 lldb_private::SwiftExpressionParser::Parse(lldb_private::DiagnosticManager&, unsigned int, unsigned int) + 937
23 LLDB                     0x000000010c516b4d lldb_private::SwiftUserExpression::Parse(lldb_private::DiagnosticManager&, lldb_private::ExecutionContext&, lldb_private::ExecutionPolicy, bool, bool) + 2141
24 LLDB                     0x000000010bb7b261 lldb_private::UserExpression::Evaluate(lldb_private::ExecutionContext&, lldb_private::EvaluateExpressionOptions const&, llvm::StringRef, llvm::StringRef, lldb_private::SharingPtr<lldb_private::ValueObject>&, lldb_private::Status&, unsigned int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, std::__1::shared_ptr<lldb_private::Module>*) + 2689
25 LLDB                     0x000000010bb73da5 lldb_private::REPL::IOHandlerInputComplete(lldb_private::IOHandler&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) + 2949
26 LLDB                     0x000000010b984296 lldb_private::IOHandlerEditline::Run() + 278
27 LLDB                     0x000000010b9193d1 lldb_private::Debugger::ExecuteIOHandlers() + 97
28 LLDB                     0x000000010b91d23d lldb_private::Debugger::IOHandlerThread(void*) + 29
29 LLDB                     0x000000010bb9f1fb lldb_private::HostNativeThreadBase::ThreadCreateTrampoline(void*) + 155
30 LLDB                     0x000000010cf5bdfb lldb_private::HostThreadMacOSX::ThreadCreateTrampoline(void*) + 155
31 libsystem_pthread.dylib  0x00007fff7bcf42eb _pthread_body + 126
32 libsystem_pthread.dylib  0x00007fff7bcf7249 _pthread_start + 66
33 libsystem_pthread.dylib  0x00007fff7bcf340d thread_start + 13

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
@shahmishal shahmishal transferred this issue from apple/swift May 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Compiler LLDB for Swift
Projects
None yet
Development

No branches or pull requests

2 participants