I see a couple of places that are suspicious there:

Description:

https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/URL.subproj/CFURLComponents.c#L66
 
<https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/URL.subproj/CFURLComponents.c#L66>

And the nameString / valueString constants in the copy query items function:

https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/URL.subproj/CFURLComponents.c#L1057
 
<https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/URL.subproj/CFURLComponents.c#L1057>
https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/URL.subproj/CFURLComponents.c#L1079
 
<https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/URL.subproj/CFURLComponents.c#L1079>
https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/URL.subproj/CFURLComponents.c#L1104
 
<https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/URL.subproj/CFURLComponents.c#L1104>
https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/URL.subproj/CFURLComponents.c#L1134
 
<https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/URL.subproj/CFURLComponents.c#L1134>
https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/URL.subproj/CFURLComponents.c#L1158
 
<https://github.com/apple/swift-corelibs-foundation/blob/master/CoreFoundation/URL.subproj/CFURLComponents.c#L1158>

Do you have the ability to re-build swift-corelibs-foundation and run a test? I 
suspect if you replace those with CFRetain(CFSTR(…)) then it will fix your 
crash.

- Tony

> On Nov 29, 2017, at 2:06 PM, Brandon Williams <mbw...@gmail.com> wrote:
> 
> Thanks for the info!
> 
> FWIW, most of the places I have encountered this so far have made use of 
> `URLComponents`, and have even been able to eliminate the crash by getting 
> rid of that code in a few places. The other JIRA bug on this topic also 
> mentions URLComponents in their repro case. Seems to be the culprit.
> 
> Also worth noting that in the above cases dealing with URLComponents the 
> crash only happens in DEBUG compilations, not RELEASE.
> 
> However, I do have another one of these crashes that _does_ happen on RELEASE 
> builds that I haven’t yet been able to reduce.
> 
> 
> On Wed, Nov 29, 2017 at 4:43 PM Tony Parker <anthony.par...@apple.com 
> <mailto:anthony.par...@apple.com>> wrote:
> Hi Brandon,
> 
> This is probably a bug in the CoreFoundation C sources part of 
> swift-corelibs-foundation. Unlike Darwin platforms, we can’t make the 
> CFSTR(“”) macro produce a CFStringRef that cannot be overreleased. Probably 
> there is a constant string returned from CF function, then the Swift runtime 
> assumes it can release it, and bam we wind up with an overrelease.
> 
> We’ll have to track down which function is getting called, which probably 
> just requires stepping through that test case with a debugger…
> 
> - Tony
>> On Nov 29, 2017, at 1:34 PM, Brandon Williams via swift-corelibs-dev 
>> <swift-corelibs-dev@swift.org <mailto:swift-corelibs-dev@swift.org>> wrote:
>> 
> 
>> Hello all!
>> 
>> We’ve been encountering this runtime error quite a bit recently, and we have 
>> no idea why. We’ve filed a bug and there’s one other on JIRA related to 
>> this, but both without any comments:
>> 
>> https://bugs.swift.org/browse/SR-6422 <https://bugs.swift.org/browse/SR-6422>
>> https://bugs.swift.org/browse/SR-6398 <https://bugs.swift.org/browse/SR-6398>
>> 
>> We’re curious if others are aware of this and or has more info? Is it a red 
>> herring for some other problem?
>> 
>> Any info would be helpful!
> 
>> _______________________________________________
>> swift-corelibs-dev mailing list
>> swift-corelibs-dev@swift.org <mailto:swift-corelibs-dev@swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev 
>> <https://lists.swift.org/mailman/listinfo/swift-corelibs-dev>

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

Reply via email to