Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CustomPersistable is not working properly with Xcode 16 Release Candidate #8686

Closed
ziiip opened this issue Sep 14, 2024 · 3 comments
Closed

Comments

@ziiip
Copy link

ziiip commented Sep 14, 2024

How frequently does the bug occur?

Always

Description

With CGPoint confirming protocolCustomPersistable, crashed with Xcode 16 Release Candidate, Swift 6, but not exist with Xcode 15.4, Swift 5.

Demo: https://github.com/ziiip/realm-swift-iOS-demo/tree/xcode16_swift6_ios17_or_below
Please checkout the branch, pod again, and run on device with iOS 17.6.1 or below.

We can see warning in Xcode 16: Conformance of 'CGPoint' to 'Hashable' is only available in iOS 18.0 or newer; this is an error in the Swift 6 language mode

Key code:

class User: Object,Codable {
    @Persisted(primaryKey: true) var id: String = UUID().uuidString
    @Persisted(indexed: true) var firstName: String = ""
    @Persisted var lastName: String = ""
    
    ....
    
    @Persisted var position2d: CGPoint?  // HERE

    .....

}
// MARK: - CGPoint
extension CGPoint: CustomPersistable {
    public typealias PersistedType = PersistablePoint
    public init(persistedValue: PersistablePoint) { self.init(x: persistedValue.x, y: persistedValue.y) }
    public var persistableValue: PersistablePoint { PersistablePoint(self) }
}

public class PersistablePoint: EmbeddedObject {
    @Persisted var x = 0.0
    @Persisted var y = 0.0

    convenience init(_ point: CGPoint) {
        self.init()
        self.x = point.x
        self.y = point.y
    }
}

snapshot

Stacktrace & log output

#0	0x00000001a30f7a30 in swift::_getWitnessTable ()
#1	0x00000001037f6b48 in lazy protocol witness table accessor for type CGPoint and conformance CGPoint ()
#2	0x00000001037f6aec in instantiation function for generic protocol witness table for CGPoint ()
#3	0x00000001a3104c50 in instantiateWitnessTable ()
#4	0x00000001a30f8f30 in swift::_getWitnessTable ()
#5	0x00000001037f6a20 in lazy protocol witness table accessor for type CGPoint and conformance CGPoint ()
#6	0x00000001037f69c4 in instantiation function for generic protocol witness table for CGPoint ()
#7	0x00000001a3104c50 in instantiateWitnessTable ()
#8	0x00000001a30f8f30 in swift::_getWitnessTable ()
#9	0x00000001037f68f8 in lazy protocol witness table accessor for type CGPoint and conformance CGPoint ()
#10	0x00000001037f689c in instantiation function for generic protocol witness table for CGPoint ()
#11	0x00000001a3104c50 in instantiateWitnessTable ()
#12	0x00000001a30f8f30 in swift::_getWitnessTable ()
#13	0x00000001037f67c0 in lazy protocol witness table accessor for type CGPoint and conformance CGPoint ()
#14	0x00000001037f596c in protocol witness for static _RealmSchemaDiscoverable._rlmType.getter in conformance CGPoint ()
#15	0x0000000103cc2774 in static Optional<CGPoint>._rlmType.getter at /Users/....../Downloads/realm-swift-iOS-demo/Pods/RealmSwift/RealmSwift/Impl/ComplexTypes.swift:228
#16	0x0000000103cc27f0 in protocol witness for static _RealmSchemaDiscoverable._rlmType.getter in conformance <A> A? ()
#17	0x0000000103d1ada8 in static Persisted._rlmType.getter at /Users/....../Downloads/realm-swift-iOS-demo/Pods/RealmSwift/RealmSwift/PersistedProperty.swift:372
#18	0x0000000103d1b324 in protocol witness for static _RealmSchemaDiscoverable._rlmType.getter in conformance Persisted<A> ()
#19	0x0000000103d6c4ac in RLMProperty.init(name:value:) at /Users/....../Downloads/realm-swift-iOS-demo/Pods/RealmSwift/RealmSwift/Impl/SchemaDiscovery.swift:63
#20	0x0000000103d6ce6c in closure #1 in getModernProperties(_:) at /Users/....../Downloads/realm-swift-iOS-demo/Pods/RealmSwift/RealmSwift/Impl/SchemaDiscovery.swift:103
#21	0x0000000103d6d0cc in partial apply for closure #1 in getModernProperties(_:) ()
#22	0x00000001a2f8c36c in merged Swift.Sequence.compactMap<τ_0_0>((τ_0_0.Element) throws -> Swift.Optional<τ_1_0>) throws -> Swift.Array<τ_1_0> ()
#23	0x00000001a2efd550 in Swift.Sequence.compactMap<τ_0_0>((τ_0_0.Element) throws -> Swift.Optional<τ_1_0>) throws -> Swift.Array<τ_1_0> ()
#24	0x0000000103d6cbbc in getModernProperties(_:) at /Users/....../Downloads/realm-swift-iOS-demo/Pods/RealmSwift/RealmSwift/Impl/SchemaDiscovery.swift:98
#25	0x0000000103d6f9dc in getProperties(_:) at /Users/....../Downloads/realm-swift-iOS-demo/Pods/RealmSwift/RealmSwift/Impl/SchemaDiscovery.swift:221
#26	0x0000000103d6fdc4 in static ObjectUtil.getSwiftProperties(_:) at /Users/....../Downloads/realm-swift-iOS-demo/Pods/RealmSwift/RealmSwift/Impl/SchemaDiscovery.swift:242
#27	0x0000000103d00a24 in static RealmSwiftObject._getProperties() at /Users/....../Downloads/realm-swift-iOS-demo/Pods/RealmSwift/RealmSwift/Object.swift:137
#28	0x0000000103d00a5c in @objc static RealmSwiftObject._getProperties() ()
#29	0x00000001048e1004 in +[RLMObjectSchema propertiesForClass:isSwift:] at /Users/....../Downloads/realm-swift-iOS-demo/Pods/Realm/Realm/RLMObjectSchema.mm:222
#30	0x00000001048df648 in +[RLMObjectSchema schemaForObjectClass:] at /Users/....../Downloads/realm-swift-iOS-demo/Pods/Realm/Realm/RLMObjectSchema.mm:154
#31	0x0000000104a91a68 in registerClass at /Users/....../Downloads/realm-swift-iOS-demo/Pods/Realm/Realm/RLMSchema.mm:118
#32	0x0000000104a927bc in __25+[RLMSchema sharedSchema]_block_invoke at /Users/....../Downloads/realm-swift-iOS-demo/Pods/Realm/Realm/RLMSchema.mm:305
#33	0x00000001a4435e54 in __NSDICTIONARY_IS_CALLING_OUT_TO_A_BLOCK__ ()
#34	0x00000001a4435c98 in -[__NSDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:] ()
#35	0x0000000104a92570 in +[RLMSchema sharedSchema] at /Users/....../Downloads/realm-swift-iOS-demo/Pods/Realm/Realm/RLMSchema.mm:304
#36	0x0000000104a65628 in +[RLMRealm realmWithConfiguration:confinedTo:error:] at /Users/....../Downloads/realm-swift-iOS-demo/Pods/Realm/Realm/RLMRealm.mm:455
#37	0x0000000104a64e08 in +[RLMRealm realmWithConfiguration:queue:error:] at /Users/....../Downloads/realm-swift-iOS-demo/Pods/Realm/Realm/RLMRealm.mm:395
#38	0x0000000103c9327c in @nonobjc RLMRealm.__allocating_init(configuration:queue:) ()
#39	0x0000000103d3a6d8 in Realm.init(configuration:queue:) at /Users/....../Downloads/realm-swift-iOS-demo/Pods/RealmSwift/RealmSwift/Realm.swift:95
#40	0x00000001037e31a4 in closure #1 in variable initialization expression of ViewController.realm at /Users/....../Downloads/realm-swift-iOS-demo/ExploreRealm/ViewController.swift:49
#41	0x00000001037ea424 in ViewController.init(coder:) at /Users/....../Downloads/realm-swift-iOS-demo/ExploreRealm/ViewController.swift:42
#42	0x00000001037ea50c in @objc ViewController.init(coder:) ()
#43	0x00000001a6a4d788 in -[UIClassSwapper initWithCoder:] ()
#44	0x00000001af80c804 in UINibDecoderDecodeObjectForValue ()
#45	0x00000001af80c458 in -[UINibDecoder decodeObjectForKey:] ()
#46	0x00000001a6a4a37c in -[UIRuntimeConnection initWithCoder:] ()
#47	0x00000001af80c804 in UINibDecoderDecodeObjectForValue ()
#48	0x00000001af80c98c in UINibDecoderDecodeObjectForValue ()
#49	0x00000001af80c458 in -[UINibDecoder decodeObjectForKey:] ()
#50	0x00000001a6a4d934 in -[NSCoder(UIIBDependencyInjectionInternal) _decodeObjectsWithSourceSegueTemplate:creator:sender:forKey:] ()
#51	0x00000001a6b34f04 in -[UINib instantiateWithOwner:options:] ()
#52	0x00000001a6b54880 in -[UIStoryboard __reallyInstantiateViewControllerWithIdentifier:creator:storyboardSegueTemplate:sender:] ()
#53	0x00000001a6b546a4 in -[UIStoryboard _instantiateViewControllerWithIdentifier:creator:storyboardSegueTemplate:sender:] ()
#54	0x00000001a683026c in -[UIWindowScene _loadWindowWithStoryboardIfNeeded:] ()
#55	0x00000001a68301fc in -[UIWindowScene _readySceneForConnection] ()
#56	0x00000001a682db6c in +[UIScene _sceneForFBSScene:create:withSession:connectionOptions:] ()
#57	0x00000001a6ad60f0 in -[UIApplication _connectUISceneFromFBSScene:transitionContext:] ()
#58	0x00000001a6992a18 in -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] ()
#59	0x00000001a69926cc in -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] ()
#60	0x00000001bd222974 in -[FBSScene _callOutQueue_didCreateWithTransitionContext:completion:] ()
#61	0x00000001bd222808 in __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke.108 ()
#62	0x00000001bd21e6cc in -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] ()
#63	0x00000001bd222cc4 in __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke ()
#64	0x000000010394e7bc in _dispatch_client_callout ()
#65	0x00000001039521f0 in _dispatch_block_invoke_direct ()
#66	0x00000001bd21fd58 in __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ ()
#67	0x00000001bd21fcd8 in -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] ()
#68	0x00000001bd21fbb0 in -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] ()
#69	0x00000001a4467834 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ ()
#70	0x00000001a44677c8 in __CFRunLoopDoSource0 ()
#71	0x00000001a44652f8 in __CFRunLoopDoSources0 ()
#72	0x00000001a4464484 in __CFRunLoopRun ()
#73	0x00000001a4463cd8 in CFRunLoopRunSpecific ()
#74	0x00000001e8eb11a8 in GSEventRunModal ()
#75	0x00000001a6a9dae8 in -[UIApplication _run] ()
#76	0x00000001a6b51d98 in UIApplicationMain ()
#77	0x00000001a6ccb504 in ___lldb_unnamed_symbol261261 ()
#78	0x00000001037f93cc in static UIApplicationDelegate.main() ()
#79	0x00000001037f9344 in static AppDelegate.$main() ()
#80	0x00000001037f9448 in main at /Users/....../Downloads/realm-swift-iOS-demo/ExploreRealm/AppDelegate.swift:12
#81	0x00000001c7c3b154 in start ()

Can you reproduce the bug?

Always

Reproduction Steps

Demo: https://github.com/ziiip/realm-swift-iOS-demo/tree/xcode16_swift6_ios17_or_below
Please checkout the branch, pod again, and run on device with iOS 17.6.1 or below.

Version

10.53.1

What Atlas Services are you using?

Local Database only

Are you using encryption?

No

Platform OS and version(s)

iOS 17.5.1

Build environment

Xcode 16
Using Realm with CocoaPods

Copy link

sync-by-unito bot commented Sep 14, 2024

➤ PM Bot commented:

Jira ticket: RCOCOA-2433

@OriTheElf
Copy link

OriTheElf commented Sep 19, 2024

I got a similar bug like this one, instead it crashed in PersistedProperty at line 371, Swift5, Xcode16, running on a iOS 17.7 device.
image

Tried running in simulator running iOS 18.0, with no crash.

Here is the stack tree:
#0 0x00000001a40cfa30 in swift::_getWitnessTable () #1 0x0000000104b0a644 in lazy protocol witness table accessor for type CGRect and conformance CGRect () #2 0x0000000104b0a5e8 in instantiation function for generic protocol witness table for CGRect () #3 0x00000001a40dcc50 in instantiateWitnessTable () #4 0x00000001a40d0f30 in swift::_getWitnessTable () #5 0x0000000104b0a594 in lazy protocol witness table accessor for type CGRect and conformance CGRect () #6 0x0000000104b0a538 in instantiation function for generic protocol witness table for CGRect () #7 0x00000001a40dcc50 in instantiateWitnessTable () #8 0x00000001a40d0f30 in swift::_getWitnessTable () #9 0x0000000104b0a4e4 in lazy protocol witness table accessor for type CGRect and conformance CGRect () #10 0x0000000104b0a488 in instantiation function for generic protocol witness table for CGRect () #11 0x00000001a40dcc50 in instantiateWitnessTable () #12 0x00000001a40d0f30 in swift::_getWitnessTable () #13 0x0000000104b0a44c in lazy protocol witness table accessor for type CGRect and conformance CGRect () #14 0x0000000104af15f0 in protocol witness for static _RealmSchemaDiscoverable._rlmType.getter in conformance CGRect () #15 0x00000001094004f8 in static Persisted._rlmType.getter at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/RealmSwift/PersistedProperty.swift:371 #16 0x0000000109400a0c in protocol witness for static _RealmSchemaDiscoverable._rlmType.getter in conformance Persisted<A> () #17 0x00000001093ced28 in RLMProperty.init(name:value:) at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/RealmSwift/Impl/SchemaDiscovery.swift:63 #18 0x00000001093cf6e8 in closure #1 in getModernProperties(_:) at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/RealmSwift/Impl/SchemaDiscovery.swift:103 #19 0x00000001093cf948 in partial apply for closure #1 in getModernProperties(_:) () #20 0x00000001a3f6436c in merged Swift.Sequence.compactMap<τ_0_0>((τ_0_0.Element) throws -> Swift.Optional<τ_1_0>) throws -> Swift.Array<τ_1_0> () #21 0x00000001a3ed5550 in Swift.Sequence.compactMap<τ_0_0>((τ_0_0.Element) throws -> Swift.Optional<τ_1_0>) throws -> Swift.Array<τ_1_0> () #22 0x00000001093cf438 in getModernProperties(_:) at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/RealmSwift/Impl/SchemaDiscovery.swift:98 #23 0x00000001093d2434 in getProperties(_:) at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/RealmSwift/Impl/SchemaDiscovery.swift:221 #24 0x00000001093d281c in static ObjectUtil.getSwiftProperties(_:) at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/RealmSwift/Impl/SchemaDiscovery.swift:242 #25 0x00000001093ae7a4 in static RealmSwiftEmbeddedObject._getProperties() at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/RealmSwift/EmbeddedObject.swift:118 #26 0x00000001093ae7dc in @objc static RealmSwiftEmbeddedObject._getProperties() () #27 0x0000000109c00618 in +[RLMObjectSchema propertiesForClass:isSwift:] at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/Realm/RLMObjectSchema.mm:222 #28 0x0000000109bfec5c in +[RLMObjectSchema schemaForObjectClass:] at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/Realm/RLMObjectSchema.mm:154 #29 0x0000000109d8e2b8 in registerClass at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/Realm/RLMSchema.mm:118 #30 0x0000000109d8f00c in __25+[RLMSchema sharedSchema]_block_invoke at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/Realm/RLMSchema.mm:305 #31 0x00000001a540de54 in __NSDICTIONARY_IS_CALLING_OUT_TO_A_BLOCK__ () #32 0x00000001a540dc98 in -[__NSDictionaryM enumerateKeysAndObjectsWithOptions:usingBlock:] () #33 0x0000000109d8edc0 in +[RLMSchema sharedSchema] at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/Realm/RLMSchema.mm:304 #34 0x0000000109d649c4 in +[RLMRealm realmWithConfiguration:confinedTo:error:] at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/Realm/RLMRealm.mm:420 #35 0x0000000109d641f8 in +[RLMRealm realmWithConfiguration:queue:error:] at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/Realm/RLMRealm.mm:360 #36 0x0000000109381ec8 in @nonobjc RLMRealm.__allocating_init(configuration:queue:) () #37 0x000000010941a0e0 in Realm.init(configuration:queue:) at /Users/choi/Library/Developer/Xcode/DerivedData/KnowLED-dfqaapvfabeqhueqrikpciiwtcmv/SourcePackages/checkouts/realm-swift/RealmSwift/Realm.swift:95 #38 0x0000000104af2de8 in static Realm.default.getter at /Users/choi/Developer/KnowLED/KnowLED/Source/PodsExtension/RealmSwiftPlus/RealmSwiftPlus.swift:763 #39 0x0000000104af53a4 in static Realm.objects<KnowLED.Project>(of:) at /Users/choi/Developer/KnowLED/KnowLED/Source/PodsExtension/RealmSwiftPlus/RealmSwiftPlus.swift:575 #40 0x000000010472077c in ProjectsViewModel.addDemoProjectIfNeeded() at /Users/choi/Developer/KnowLED/KnowLED/Source/Modules/Projects/ViewModel/ProjectsViewModel.swift:54 #41 0x000000010471fe9c in ProjectsViewModel.didInitialize() at /Users/choi/Developer/KnowLED/KnowLED/Source/Modules/Projects/ViewModel/ProjectsViewModel.swift:27 #42 0x0000000104be6420 in BaseViewModel.init() at /Users/choi/Developer/KnowLED/KnowLED/Source/Vendors/Playground/Extensions/Base/BaseView/UIBaseView.swift:75 #43 0x0000000104be647c in @objc BaseViewModel.init() () #44 0x0000000104be79f4 in BasePagableViewModel.init() at /Users/choi/Developer/KnowLED/KnowLED/Source/Vendors/Playground/Extensions/Base/BaseView/UIBaseView.swift:85 #45 0x0000000104be7a50 in @objc BasePagableViewModel.init() () #46 0x0000000104721380 in ProjectsViewModel.init() at /Users/choi/Developer/KnowLED/KnowLED/Source/Modules/Projects/ViewModel/ProjectsViewModel.swift:17 #47 0x00000001047213bc in @objc ProjectsViewModel.init() () #48 0x0000000104be7608 in BasePagableViewModel.__allocating_init(delegate:) at /Users/choi/Developer/KnowLED/KnowLED/Source/Vendors/Playground/Extensions/Base/BaseView/UIBaseView.swift:100 #49 0x0000000104be7ef0 in protocol witness for PagableViewModelType.init(delegate:) in conformance BasePagableViewModel<A> () #50 0x0000000104892784 in BaseDynamicFlowLayoutCollectionViewController.viewModel.getter at /Users/choi/Developer/KnowLED/KnowLED/Source/Vendors/Playground/Extensions/Base/Controller/BaseDynamicFlowLayoutCollectionViewController.swift:20 #51 0x0000000104892d04 in BaseDynamicFlowLayoutCollectionViewController.viewModel.modify () #52 0x0000000104892f64 in BaseDynamicFlowLayoutCollectionViewController.configureViewModel() at /Users/choi/Developer/KnowLED/KnowLED/Source/Vendors/Playground/Extensions/Base/Controller/BaseDynamicFlowLayoutCollectionViewController.swift:29 #53 0x0000000104892eb4 in BaseDynamicFlowLayoutCollectionViewController.initialConfigure() at /Users/choi/Developer/KnowLED/KnowLED/Source/Vendors/Playground/Extensions/Base/Controller/BaseDynamicFlowLayoutCollectionViewController.swift:25 #54 0x00000001049285a8 in BaseViewController.init() at /Users/choi/Developer/KnowLED/KnowLED/Source/Vendors/Playground/Extensions/Base/Controller/BaseViewController.swift:80 #55 0x00000001049285f8 in @objc BaseViewController.init() () #56 0x00000001048b7c44 in BaseCollectionViewController.init() at /Users/choi/Developer/KnowLED/KnowLED/Source/Vendors/Playground/Extensions/Base/Controller/BaseCollectionViewController.swift:39 #57 0x00000001048b7c84 in @objc BaseCollectionViewController.init() () #58 0x0000000104ddefec in BaseFlowLayoutCollectionViewController.init() () #59 0x0000000104ddf02c in @objc BaseFlowLayoutCollectionViewController.init() () #60 0x0000000104893860 in BaseDynamicFlowLayoutCollectionViewController.init() () #61 0x00000001048938b8 in @objc BaseDynamicFlowLayoutCollectionViewController.init() () #62 0x0000000104bdb740 in ProjectsViewController.init() () #63 0x0000000104bdb780 in @objc ProjectsViewController.init() () #64 0x0000000104bdb6c4 in ProjectsViewController.__allocating_init() () #65 0x0000000104e91294 in closure #1 in static KeyWindows.newRootViewController() at /Users/choi/Developer/KnowLED/KnowLED/Source/KeyWindows.swift:21 #66 0x0000000104d87650 in UINavigationController.init(_:) at /Users/choi/Developer/KnowLED/KnowLED/Source/Vendors/Playground/Extensions/UIKit/UINavigationControllerPlus.swift:13 #67 0x0000000104e91258 in static KeyWindows.newRootViewController() at /Users/choi/Developer/KnowLED/KnowLED/Source/KeyWindows.swift:20 #68 0x0000000104e915c4 in static KeyWindows.rootWindow() at /Users/choi/Developer/KnowLED/KnowLED/Source/KeyWindows.swift:43 #69 0x0000000104c10440 in AppDelegate.application(_:didFinishLaunchingWithOptions:) at /Users/choi/Developer/KnowLED/KnowLED/Source/AppDelegate.swift:37 #70 0x0000000104c111bc in @objc AppDelegate.application(_:didFinishLaunchingWithOptions:) () #71 0x00000001a7b32bac in -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] () #72 0x00000001a7b300e8 in -[UIApplication _callInitializationDelegatesWithActions:forCanvas:payload:fromOriginatingProcess:] () #73 0x00000001a79fe99c in -[UIApplication _runWithMainScene:transitionContext:completion:] () #74 0x00000001a79b1ad8 in -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] () #75 0x00000001a78a4708 in _UIScenePerformActionsWithLifecycleActionMask () #76 0x00000001a7a77488 in __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke () #77 0x00000001a7a77198 in -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] () #78 0x00000001a7806360 in -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] () #79 0x00000001a77d3594 in -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] () #80 0x00000001a77d2ebc in __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke () #81 0x00000001a77d2868 in +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:fromCurrentState:actions:completion:] () #82 0x00000001a77d1ea8 in _UISceneSettingsDiffActionPerformChangesWithTransitionContextAndCompletion () #83 0x00000001a78a5c80 in -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] () #84 0x00000001a78a44b8 in __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke.226 () #85 0x00000001a78a3e10 in -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] () #86 0x00000001a796ef48 in -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] () #87 0x00000001a796baac in -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] () #88 0x00000001a796b6cc in -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] () #89 0x00000001be202974 in -[FBSScene _callOutQueue_didCreateWithTransitionContext:completion:] () #90 0x00000001be202808 in __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke.108 () #91 0x00000001be1fe6cc in -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] () #92 0x00000001be202cc4 in __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:completion:]_block_invoke () #93 0x0000000101dca7bc in _dispatch_client_callout () #94 0x0000000101dce1f0 in _dispatch_block_invoke_direct () #95 0x00000001be1ffd58 in __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ () #96 0x00000001be1ffcd8 in -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] () #97 0x00000001be1ffbb0 in -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] () #98 0x00000001a543f834 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ () #99 0x00000001a543f7c8 in __CFRunLoopDoSource0 () #100 0x00000001a543d298 in __CFRunLoopDoSources0 () #101 0x00000001a543c484 in __CFRunLoopRun () #102 0x00000001a543bcd8 in CFRunLoopRunSpecific () #103 0x00000001e9e911a8 in GSEventRunModal () #104 0x00000001a7a76ae8 in -[UIApplication _run] () #105 0x00000001a7b2ad98 in UIApplicationMain () #106 0x00000001a7ca4504 in ___lldb_unnamed_symbol261261 () #107 0x0000000104c118f0 in static UIApplicationDelegate.main() () #108 0x0000000104c11868 in static AppDelegate.$main() () #109 0x0000000104c12378 in main at /Users/choi/Developer/KnowLED/KnowLED/Source/AppDelegate.swift:19

@ziiip
Copy link
Author

ziiip commented Oct 13, 2024

I seems like relative to the Hashable, compiling with iOS 18.

@OriTheElf we may needed to do something like:

@available(iOS, obsoleted: 18)
extension CGPoint: @retroactive Hashable {
    public var hashValue: Int {
        var hasher = Hasher()
        hash(into: &hasher)
        return hasher.finalize()
    }

    public func hash(into hasher: inout Hasher) {
        hasher.combine(x)
        hasher.combine(y)
    }
}

@ziiip ziiip closed this as completed Oct 13, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants