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
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to