[swift-dev] Flaky test - objc_nonnull_lie_hack

Jordan Rose jordan_rose at apple.com
Fri Sep 9 19:18:03 CDT 2016


Dmitri tracked it down and has a fix for it, and then I had a complaint about his fix, and then I didn't get back to it. :-)

https://github.com/apple/swift/pull/4622

Jordan


> On Sep 9, 2016, at 14:50, Slava Pestov via swift-dev <swift-dev at swift.org> wrote:
> 
> Running it in a loop on another machine doesn’t trigger it, so I’m thinking it might be a random variation in how the standard library is built?
> 
>> On Sep 9, 2016, at 2:49 PM, Mark Lacey <mark.lacey at apple.com <mailto:mark.lacey at apple.com>> wrote:
>> 
>> 
>>> On Sep 9, 2016, at 2:45 PM, Slava Pestov via swift-dev <swift-dev at swift.org <mailto:swift-dev at swift.org>> wrote:
>>> 
>>> Hi all,
>>> 
>>> Is anyone else seeing this? I haven’t seen it in CI, but for me this test fails at random, very rarely too — looks like something is non-deterministic in the optimizer?
>> 
>> Yes, I hit this a couple days ago and attempted to reproduce and couldn’t.
>> 
>> Mark
>> 
>>> 
>>> /Users/slava/new/swift/test/SILGen/objc_nonnull_lie_hack.swift:30:9: error: expected string not found in input
>>> // OPT: [[METHOD:%[0-9]+]] = class_method [volatile] [[METATYPE]] : $@thick Gizmo.Type, #Gizmo.nonNilGizmo!1.foreign : (Gizmo.Type) -> () -> Gizmo , $@convention(objc_method) (@objc_metatype Gizmo.Type) -> @autoreleased Gizmo
>>>         ^
>>> <stdin>:329:34: note: scanning from here
>>>  %0 = metatype $@thick Gizmo.Type, loc "SOURCE_DIR/test/SILGen/objc_nonnull_lie_hack.swift":36:21, scope 54 // user: %1
>>>                                  ^
>>> <stdin>:329:34: note: with variable "METATYPE" equal to "%0"
>>>  %0 = metatype $@thick Gizmo.Type, loc "SOURCE_DIR/test/SILGen/objc_nonnull_lie_hack.swift":36:21, scope 54 // user: %1
>>>                                  ^
>>> <stdin>:330:2: note: possible intended match here
>>>  %1 = class_method [volatile] %0 : $@thick Gizmo.Type, #Gizmo.nonNilGizmo!1.foreign : (Gizmo.Type) -> () -> Gizmo! , $@convention(objc_method) (@objc_metatype Gizmo.Type) -> @autoreleased Optional<Gizmo>, loc "SOURCE_DIR/test/SILGen/objc_nonnull_lie_hack.swift":36:27, scope 54 // user: %3
>>>  ^
>>> /Users/slava/new/swift/test/SILGen/objc_nonnull_lie_hack.swift:44:9: error: expected string not found in input
>>> // OPT: [[METHOD:%[0-9]+]] = class_method [volatile] [[OBJ:%[0-9]+]] : $Gizmo, #Gizmo.nonNilGizmo!1.foreign : (Gizmo) -> () -> Gizmo , $@convention(objc_method) (Gizmo) -> @autoreleased Gizmo
>>>         ^
>>> <stdin>:1625:67: note: scanning from here
>>> sil hidden @_TTSf4g___TF21objc_nonnull_lie_hack18callInstanceMethodFT5gizmoCSo5Gizmo_GSqS0__ : $@convention(thin) (@guaranteed Gizmo) -> @owned Optional<Gizmo> {
>>>                                                                   ^
>>> /Users/slava/new/swift/test/SILGen/objc_nonnull_lie_hack.swift:58:9: error: expected string not found in input
>>> // OPT: [[GETTER:%[0-9]+]] = class_method [volatile] [[OBJ:%[0-9]+]] : $Gizmo, #Gizmo.nonNilGizmoProperty!getter.1.foreign : (Gizmo) -> () -> Gizmo , $@convention(objc_method) (Gizmo) -> @autoreleased Gizmo
>>>         ^
>>> <stdin>:1842:88: note: scanning from here
>>> sil hidden @_TTSf4g___TF21objc_nonnull_lie_hack12loadPropertyFT5gizmoCSo5Gizmo_GSqS0__ : $@convention(thin) (@guaranteed Gizmo) -> @owned Optional<Gizmo> {
>>>                                                                                        ^
>>> /Users/slava/new/swift/test/SILGen/objc_nonnull_lie_hack.swift:71:9: error: expected string not found in input
>>> // OPT: [[GETTER:%[0-9]+]] = class_method [volatile] [[OBJ:%[0-9]+]] : $Gizmo, #Gizmo.unownedNonNilGizmoProperty!getter.1.foreign : (Gizmo) -> () -> Gizmo , $@convention(objc_method) (Gizmo) -> @autoreleased Gizmo
>>>         ^
>>> <stdin>:2059:95: note: scanning from here
>>> sil hidden @_TTSf4g___TF21objc_nonnull_lie_hack19loadUnownedPropertyFT5gizmoCSo5Gizmo_GSqS0__ : $@convention(thin) (@guaranteed Gizmo) -> @owned Optional<Gizmo> {
>>>                                                                                               ^
>>> 
>>> _______________________________________________
>>> swift-dev mailing list
>>> swift-dev at swift.org <mailto:swift-dev at swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-dev <https://lists.swift.org/mailman/listinfo/swift-dev>
>> 
> 
> _______________________________________________
> swift-dev mailing list
> swift-dev at swift.org
> https://lists.swift.org/mailman/listinfo/swift-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20160909/d868e8c0/attachment.html>


More information about the swift-dev mailing list