callstack / callstack/react-native-pager-view
NSInternalInconsistencyException crashes in 5.4.15
- 主要语言
- TypeScript
- 星标
- 3.4k
- 派生
- 476
- 平均合并
- 10 天 21 小时
- 30 天内合并 PR
- 2
描述
## Environment
"react-native-pager-view": "5.4.15",
"react-native": "0.66.4",
## Description
I saw that https://github.com/callstack/react-native-pager-view/releases/tag/v5.4.15 contained a fix for NSInternalInconsistencyException however I'm still getting production crash reports.
Looks like another user here https://github.com/callstack/react-native-pager-view/pull/530#issuecomment-1096189299 is reporting the same issue.
## NSInternalInconsistencyException: Unexpected view controller
```
Hardware Model: iPhone14,5
Role: Foreground
OS Version: iOS 15.3.1
NSInternalInconsistencyException: Unexpected view controller:
0 CoreFoundation ___exceptionPreprocess
1 libobjc.A.dylib _objc_exception_throw
2 Foundation -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:]
3 UIKitCore -[UIPageViewController queuingScrollView:willManuallyScroll:toRevealView:concealView:animated:]
4 UIKitCore -[_UIQueuingScrollView _notifyDelegateWillManuallyScroll:toRevealView:concealingView:animated:]
5 UIKitCore ___54-[_UIQueuingScrollView _didScrollWithAnimation:force:]_block_invoke
6 UIKitCore -[_UIQueuingScrollView _didScrollWithAnimation:force:]
7 UIKitCore -[_UIQueuingScrollView layoutSubviews]
8 UIKitCore -[UIView(CALayerDelegate) layoutSublayersOfLayer:]
9 QuartzCore CA::Layer::layout_if_needed(CA::Transaction*)
10 QuartzCore CA::Layer::layout_and_display_if_needed(CA::Transaction*)
11 QuartzCore CA::Context::commit_transaction(CA::Transaction*, double, double*)
12 QuartzCore CA::Transaction::commit()
13 QuartzCore CA::Transaction::flush_as_runloop_observer(bool)
14 UIKitCore __UIApplicationFlushCATransaction
15 UIKitCore __UIUpdateSequenceRun
16 UIKitCore _schedulerStepScheduledMainSection
17 UIKitCore _runloopSourceCallback
18 CoreFoundation ___CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
19 CoreFoundation ___CFRunLoopDoSource0
20 CoreFoundation ___CFRunLoopDoSources0
21 CoreFoundation ___CFRunLoopRun
22 CoreFoundation _CFRunLoopRunSpecific
23 GraphicsServices _GSEventRunModal
24 UIKitCore -[UIApplication _run]
25 UIKitCore _UIApplicationMain
```
## NSInternalInconsistencyException: Don't know about flushed view
https://stackoverflow.com/questions/42833765/assertion-failure-in-uipageviewcontroller
https://github.com/iospro/AMPageViewController
```
Hardware Model: iPhone9,3
Role: Foreground
OS Version: iOS 15.2.1
NSInternalInconsistencyException: Don't know about flushed view >
0 CoreFoundation ___exceptionPreprocess
1 libobjc.A.dylib _objc_exception_throw
2 Foundation -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:]
3 UIKitCore -[UIPageViewController _flushViewController:animated:]
4 UIKitCore -[UIPageViewController queuingScrollView:didFlushView:animated:]
5 UIKitCore -[_UIQueuingScrollView _flushView:animated:]
6 UIKitCore -[_UIQueuingScrollView _replaceViews:updatingContents:adjustContentInsets:animated:]
7 UIKitCore -[_UIQueuingScrollView _didScrollWithAnimation:force:]
8 UIKitCore -[_UIQueuingScrollView layoutSubviews]
9 UIKitCore -[UIView(CALayerDelegate) layoutSublayersOfLayer:]
10 QuartzCore CA::Layer::layout_if_needed(CA::Transaction*)
11 QuartzCore CA::Layer::layout_and_display_if_needed(CA::Transaction*)
12 QuartzCore CA::Context::commit_transaction(CA::Transaction*, double, double*)
13 QuartzCore CA::Transaction::commit()
14 QuartzCore CA::Transaction::flush_as_runloop_observer(bool)
15 CoreFoundation ___CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__
16 CoreFoundation ___CFRunLoopDoObservers
17 CoreFoundation ___CFRunLoopRun
18 CoreFoundation _CFRunLoopRunSpecific
19 GraphicsServices _GSEventRunModal
20 UIKitCore -[UIApplication _run]
21 UIKitCore _UIApplicationMain
```
贡献指南
调研方向
检查 v5.4.15 版本修复以及 PR #530 中的讨论,然后将它们与涉及 UIPageViewController 的两份 iOS 崩溃跟踪进行比较。如果可能,请在列出的 React Native 和 iOS 版本上重现这些故障;完成标准是识别并阻止报告的两个断言崩溃。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- ios, react-native
- 领域
- mobile-dev
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 需要澄清
- 新手友好度
- 35/100