swiftlang / swift-package-manager

The Package Manager for the Swift Programming Language
Apache License 2.0
9.67k stars 1.32k forks source link

[SR-12332] Swift 5.2 build hangs until crash #4577

Open swift-ci opened 4 years ago

swift-ci commented 4 years ago
Previous ID SR-12332
Radar rdar://problem/60189083
Original Reporter ltwyd (JIRA User)
Type Bug

Attachment: Download

Environment *Ubuntu 18.04* and *5.2-DEVELOPMENT-SNAPSHOT-2020-03-06-a*. Also tried *5.2-DEVELOPMENT-SNAPSHOT-2020-02-27-a* before and it was the same behavior.
Additional Detail from JIRA | | | |------------------|-----------------| |Votes | 0 | |Component/s | Package Manager | |Labels | Bug | |Assignee | None | |Priority | Medium | md5: 2cfbfb889134b56e36fc641c3efe9db2

Issue Description:

Hi,

when building my project (swift build) it just hangs on updating the packages until it crashes/terminates with "Invalid machine command (memory dump written)" (translated, not a english system) after 10-15 minutes.

This just happened after I updated my package dependencys (swift package update) and can be resolved by using the previous Package.resolved. Deleting the .build folder also didnt help.

I attached my Package.swift, Package.resolved and Package.resolved.old (which is the working one before updating).

I was testing a little more and this seems to be caused from
.package(url: "https://github.com/vapor/redis", from: "4.0.0-beta.3")
when removing it from Package.swift, it builds fine.

aciidgh commented 4 years ago

Thanks for the bug report. The attached Package.swift is resolving fine for me with swift-5.2-DEVELOPMENT-SNAPSHOT-2020-03-06-a snapshot. This indicates that the crash is probably not in SwiftPM's dependency resolver but some other component. Do you mind attaching a complete zipped package that reproduces this issue? A crash report will be also helpful if you're on macOS.

Update: I found the issue. It's happening because swift-redi-stack@1.0.0-alpha.7.1 depends on https://github.com/apple/swift-metrics.git from 1.0.0 where as vapor@4.0.0-rc.3.1 depends on swift-metrics from 2.0.0. Updating to a newer version of swift-metrics should fix this issue for your package.

aciidgh commented 4 years ago

@swift-ci create

swift-ci commented 4 years ago

Comment by Sam S (JIRA)

Awesome, thank you for the fast help!

But just wondering, shouldn't Swift give any errors/information in a case like that?

aciidgh commented 4 years ago

Yeah, it should emit an error explaining the issue. It looks like some issue around pre-release versions.

Mordil commented 4 years ago

RediStack has been updated to have a wider range of version support for SwiftMetrics: https://github.com/Mordil/swift-redi-stack/releases/tag/1.0.0-alpha.7.2