[swift-dev] swiftCore dependencies on Foundation

Jordan Rose jordan_rose at apple.com
Tue Oct 4 12:11:31 CDT 2016


In HuonW’s recent pull request <https://github.com/apple/swift/pull/4814> we hit an unusual error <https://ci.swift.org/job/swift-PR-osx/3922/>:

> 2016-10-03 12:34:08.112 swift[56714:13650955] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -length only defined for abstract class.  Define -[_TtCs19_NSContiguousString length]!'
> *** First throw call stack:
> (
> 	0   CoreFoundation                      0x00007fff9cbe64f2 __exceptionPreprocess + 178
> 	1   libobjc.A.dylib                     0x00007fff9daaa73c objc_exception_throw + 48
> 	2   CoreFoundation                      0x00007fff9cc4d4bd +[NSException raise:format:] + 205
> 	3   Foundation                          0x00007fff943e8dbd NSRequestConcreteImplementation + 229
> 	4   Foundation                          0x00007fff9442588a -[NSString length] + 19
> 	5   CoreFoundation                      0x00007fff9cc2b613 CFStringHashNSString + 51
> 	6   libswiftCore.dylib                  0x0000000114f7ef56 _TTSfq4s___TFSSg9hashValueSi + 118
> 	7   libswiftCore.dylib                  0x0000000114f3b96b _TTWSSs8HashablesFS_g9hashValueSi + 43
> 	8   libswiftCore.dylib                  0x0000000114e8f0a2 _TFVs24_NativeDictionaryStorage7_bucketfxSi + 34

We’re not really sure how this could happen, though. _NSContiguousString certainly does implement -length <https://github.com/apple/swift/blob/master/stdlib/public/core/StringBridge.swift#L221>, and even though there’s an outstanding PR <https://github.com/apple/swift/pull/5071> to change it to a property that shouldn’t cause this kind of issue. (It’s not marked @objc, but it shouldn’t need to be because the superclass is <https://github.com/apple/swift/blob/master/stdlib/public/core/StringBridge.swift#L184-L191>.)

Anyone know what’s going on here?

Jordan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20161004/7766a5e3/attachment.html>


More information about the swift-dev mailing list