Differences between Xcode official toolchains and tagged releases from repository

Hello Jordan,

We have filled two bugs against bugs.swift.org to document two crashes
that are only reproducible with our toolchain built from the
swift-2.2.1-RELEASE tag, but that appear fixed in the official
toolchain bundled with Xcode 7.3.1 (7D1014).

Crashers:

Since using the official toolchain somehow fixes the issues we realize
they are far from critical, but we have reported them in hope of
finding the discrepancies between the official toolchain and the the
tagged releases.

Thanks,
Xavi

Thanks, Xavi. Hopefully these aren't blocking you in Xcode 8 either (in either Swift 2.3 or Swift 3).

···

On Oct 4, 2016, at 8:03, Xavier Jurado via swift-dev <swift-dev@swift.org> wrote:

Hello Jordan,

We have filled two bugs against bugs.swift.org to document two crashes
that are only reproducible with our toolchain built from the
swift-2.2.1-RELEASE tag, but that appear fixed in the official
toolchain bundled with Xcode 7.3.1 (7D1014).

Crashers:

[SR-2844] Compiler crash in MergeSwiftModule · Issue #45438 · apple/swift · GitHub
[SR-2845] Compiler crash in CompileSwift while emitting SIL · Issue #45439 · apple/swift · GitHub

Since using the official toolchain somehow fixes the issues we realize
they are far from critical, but we have reported them in hope of
finding the discrepancies between the official toolchain and the the
tagged releases.

Thanks,
Xavi
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Aha, so the second bug is because home-built toolchains have assertions on by default and Xcode GM toolchains generally have them off. (Not a promise, but true of the last few Xcodes.) Of course, if you hit an assertion failure, there’s no telling what the no-asserts build is actually doing.

I’m not so sure the first bug falls into the same category yet, but it might as well.

Jordan

···

On Oct 4, 2016, at 14:05, Jordan Rose via swift-dev <swift-dev@swift.org> wrote:

Thanks, Xavi. Hopefully these aren't blocking you in Xcode 8 either (in either Swift 2.3 or Swift 3).

On Oct 4, 2016, at 8:03, Xavier Jurado via swift-dev <swift-dev@swift.org> wrote:

Hello Jordan,

We have filled two bugs against bugs.swift.org to document two crashes
that are only reproducible with our toolchain built from the
swift-2.2.1-RELEASE tag, but that appear fixed in the official
toolchain bundled with Xcode 7.3.1 (7D1014).

Crashers:

[SR-2844] Compiler crash in MergeSwiftModule · Issue #45438 · apple/swift · GitHub
[SR-2845] Compiler crash in CompileSwift while emitting SIL · Issue #45439 · apple/swift · GitHub

Since using the official toolchain somehow fixes the issues we realize
they are far from critical, but we have reported them in hope of
finding the discrepancies between the official toolchain and the the
tagged releases.

Thanks,
Xavi
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Thanks for the hint! When I built the toolchain I modified the
"mixin_lightweight_assertions" preset locally to use "no-assertions" and
"swift-assertions", thinking it was the appropriate combination based on a
FIXME comment. I will try building it again with only "no-assertions" and
report back.

···

2016-10-05 18:28 GMT+02:00 Jordan Rose <jordan_rose@apple.com>:

Aha, so the second bug is because home-built toolchains have assertions on
by default and Xcode GM toolchains generally have them off. (Not a promise,
but true of the last few Xcodes.) Of course, if you hit an assertion
failure, there’s no telling what the no-asserts build is actually doing.

I’m not so sure the first bug falls into the same category yet, but it
might as well.

Jordan

> On Oct 4, 2016, at 14:05, Jordan Rose via swift-dev <swift-dev@swift.org> > wrote:
>
> Thanks, Xavi. Hopefully these aren't blocking you in Xcode 8 either (in
either Swift 2.3 or Swift 3).
>
>> On Oct 4, 2016, at 8:03, Xavier Jurado via swift-dev < > swift-dev@swift.org> wrote:
>>
>> Hello Jordan,
>>
>> We have filled two bugs against bugs.swift.org to document two crashes
>> that are only reproducible with our toolchain built from the
>> swift-2.2.1-RELEASE tag, but that appear fixed in the official
>> toolchain bundled with Xcode 7.3.1 (7D1014).
>>
>> Crashers:
>>
>> [SR-2844] Compiler crash in MergeSwiftModule · Issue #45438 · apple/swift · GitHub
>> [SR-2845] Compiler crash in CompileSwift while emitting SIL · Issue #45439 · apple/swift · GitHub
>>
>> Since using the official toolchain somehow fixes the issues we realize
>> they are far from critical, but we have reported them in hope of
>> finding the discrepancies between the official toolchain and the the
>> tagged releases.
>>
>> Thanks,
>> Xavi
>> _______________________________________________
>> swift-dev mailing list
>> swift-dev@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-dev
>
> _______________________________________________
> swift-dev mailing list
> swift-dev@swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev

I can confirm that both issues were solved/bypassed by rebuilding the
toolchain with assertions disabled. The provided examples compiled
successfully, so we finally got the same result as the official 2.2
toolchain.

Thank you again for the input!

···

2016-10-06 9:26 GMT+02:00 Xavier Jurado <xavier.jurado@gmail.com>:

Thanks for the hint! When I built the toolchain I modified the
"mixin_lightweight_assertions" preset locally to use "no-assertions" and
"swift-assertions", thinking it was the appropriate combination based on a
FIXME comment. I will try building it again with only "no-assertions" and
report back.

2016-10-05 18:28 GMT+02:00 Jordan Rose <jordan_rose@apple.com>:

Aha, so the second bug is because home-built toolchains have assertions
on by default and Xcode GM toolchains generally have them off. (Not a
promise, but true of the last few Xcodes.) Of course, if you hit an
assertion failure, there’s no telling what the no-asserts build is actually
doing.

I’m not so sure the first bug falls into the same category yet, but it
might as well.

Jordan

> On Oct 4, 2016, at 14:05, Jordan Rose via swift-dev < >> swift-dev@swift.org> wrote:
>
> Thanks, Xavi. Hopefully these aren't blocking you in Xcode 8 either (in
either Swift 2.3 or Swift 3).
>
>> On Oct 4, 2016, at 8:03, Xavier Jurado via swift-dev < >> swift-dev@swift.org> wrote:
>>
>> Hello Jordan,
>>
>> We have filled two bugs against bugs.swift.org to document two crashes
>> that are only reproducible with our toolchain built from the
>> swift-2.2.1-RELEASE tag, but that appear fixed in the official
>> toolchain bundled with Xcode 7.3.1 (7D1014).
>>
>> Crashers:
>>
>> [SR-2844] Compiler crash in MergeSwiftModule · Issue #45438 · apple/swift · GitHub
>> [SR-2845] Compiler crash in CompileSwift while emitting SIL · Issue #45439 · apple/swift · GitHub
>>
>> Since using the official toolchain somehow fixes the issues we realize
>> they are far from critical, but we have reported them in hope of
>> finding the discrepancies between the official toolchain and the the
>> tagged releases.
>>
>> Thanks,
>> Xavi
>> _______________________________________________
>> swift-dev mailing list
>> swift-dev@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-dev
>
> _______________________________________________
> swift-dev mailing list
> swift-dev@swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev