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-14700] Out of source order during code completion after two subsequent requests #57050

Closed
ahoppen opened this issue Jun 1, 2021 · 1 comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. code completion Area → source tooling: code completion found by stress tester Flag: An issue found by the SourceKit stress tester source tooling Area: IDE support, SourceKit, and other source tooling

Comments

@ahoppen
Copy link
Contributor

ahoppen commented Jun 1, 2021

Previous ID SR-14700
Radar rdar://78781220
Original Reporter @ahoppen
Type Bug
Status Resolved
Resolution Duplicate
Additional Detail from JIRA
Votes 0
Component/s CodeCompletion
Labels Bug, FoundByStressTester
Assignee None
Priority Medium

md5: 97c60bdd5e684137803bc39e9deca8dd

duplicates:

  • SR-14699 Out of order source ranges during code completion

Issue Description:

The following test case produces an assertion failures because of out of order AST nodes. It is a variation of SR-14699 that only happens on the second request and it might thus be worth investigating, whether state is stored accidentally.

// RUN: %sourcekitd-test -req=complete %s -pos 5:42 -- %s == -req=complete %s -pos 5:87 -- %s

struct AppState {
    init() {
        let icloudDirectory = FileManager.default.url(forUbiquityContainerIdentifier: nil)
    }
    
    func archiveState() {}
}

Stack trace:

Source ranges out of order in addMember():
(constructor_decl range=[/Users/alex/swift-src/swift/test/SourceKit/test.swift:4:5 - line:9:1] "init()" designated
  (parameter "self")
  (parameter_list range=[/Users/alex/swift-src/swift/test/SourceKit/test.swift:4:9 - line:4:10])
  (brace_stmt range=[/Users/alex/swift-src/swift/test/SourceKit/test.swift:4:12 - line:9:1]
    (pattern_binding_decl range=[/Users/alex/swift-src/swift/test/SourceKit/test.swift:5:9 - line:5:31]
      (pattern_named 'icloudDirectory')
      Original init:
      (unresolved_decl_ref_expr type='<null>' name=FileManager function_ref=unapplied)
      Processed init:
      (unresolved_decl_ref_expr type='<null>' name=FileManager function_ref=unapplied))

    (var_decl range=[/Users/alex/swift-src/swift/test/SourceKit/test.swift:5:13 - line:5:13] "icloudDirectory" type='<null type>' let)
))
(func_decl range=[/Users/alex/swift-src/swift/test/SourceKit/test.swift:8:5 - line:8:26] "archiveState()"
  (parameter "self")
  (parameter_list range=[/Users/alex/swift-src/swift/test/SourceKit/test.swift:8:22 - line:8:23]))
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.  While performing new completion
1.  While evaluating request CodeCompletionSecondPassRequest(source_file "/Users/alex/swift-src/swift/test/SourceKit/test.swift", )
2.  While evaluating request TypeCheckASTNodeAtLocRequest(0x7f9472866728 AbstractFunctionDecl name=init() : (no type set), )
/Users/alex/swift-src/nbuild/Release+Asserts/tools/swift/test-macosx-x86_64/SourceKit/Output/test.swift.script: line 1: 62071 Abort trap: 6           /Users/alex/swift-src/nbuild/Release+Asserts/bin/sourcekitd-test -module-cache-path '/Users/alex/swift-src/nbuild/Release+Asserts/swift-test-results/x86_64-apple-macosx10.9/clang-module-cache' -req=complete /Users/alex/swift-src/swift/test/SourceKit/test.swift -pos 5:42 -- /Users/alex/swift-src/swift/test/SourceKit/test.swift == -req=complete /Users/alex/swift-src/swift/test/SourceKit/test.swift -pos 5:87 -- /Users/alex/swift-src/swift/test/SourceKit/test.swift
@ahoppen
Copy link
Contributor Author

ahoppen commented Jun 23, 2021

Nevermind, this actually crashes on the first SourceKit request, so it’s a dupe of SR-14699.

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
@AnthonyLatsis AnthonyLatsis added the source tooling Area: IDE support, SourceKit, and other source tooling label Feb 6, 2023
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. code completion Area → source tooling: code completion found by stress tester Flag: An issue found by the SourceKit stress tester source tooling Area: IDE support, SourceKit, and other source tooling
Projects
None yet
Development

No branches or pull requests

2 participants