Reproducible SourceKit crashes when getting cursor info

Originator:jp
Number:rdar://33777206 Date Originated:08-Aug-2017 09:53 AM
Status:Open Resolved:
Product:Developer Tools Product Version:Xcode 8.3.3 (8E3004b)
Classification:Crash/Hang/Data Loss Reproducible:Always
 
Summary:
SourceKit crashes when option-clicking in a number of distinct cases in SwiftLint’s SwiftLintFramework scheme (https://github.com/realm/SwiftLint)

Steps to Reproduce:
1. Open Swiftlint 0.21.0 in Xcode 8.3.3
  ```
  git clone https://github.com/realm/SwiftLint.git
  cd SwiftLint
  git checkout 0.21.0
  git submodule update --init
  open -a Xcode-8.3.3.app .
  ```
2. Select 'SwiftLintFramework' scheme
3. Hit cmd-B to build the scheme
4. Wait for Xcode to finish indexing the project
5. Navigate to `Source/SwiftLintFramework/Extensions/File+SwiftLint.swift`
6. Option-click at byte offset 1989 in the file

Repeat for the following files & byte offsets:

- Source/SwiftLintFramework/Extensions/File+SwiftLint.swift
  - 1989
  - 5397
  - 6427
- Source/SwiftLintFramework/Models/LinterCache.swift
  - 432
  - 3789
- Source/SwiftLintFramework/Models/RuleList.swift
  - 1758
- Source/SwiftLintFramework/Rules/NimbleOperatorRule.swift
  - 4660

Expected Results:
SourceKit shouldn’t crash

Actual Results:
SourceKit crashes

Version:
Xcode 8.3.3 (8E3004b)

Notes:
I can easily compile a similar list of crashing SourceKit cursor info requests for any given Xcode project. Let me know if this radar was useful and I’ll keep sending ones like these for other projects.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!