callstack / callstack/react-native-pager-view

NSInternalInconsistencyException crashes in 5.4.15

未关闭
#545 16 条评论 3 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。