callstack / callstack/react-native-slider

iOS Crash on value change in RNCSliderEventEmitter::onRNCSliderValueChange

未关闭
#782 6 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
bug report platform: iOS
主要语言
TypeScript
星标
1.4k
派生
295
平均合并
5 分钟
30 天内合并 PR
1

描述

This crash is occurring on iOS 26.2 using an iPhone 17 Pro. It is a known issue in the Fabric (New Architecture) C++ layer of React Native when interacting with the RNCSlider component.
Wikipedia
Wikipedia
+2
The crash is triggered by _UIFluidSliderInteraction (part of the Liquid Glass UI redesign in iOS 26) when it attempts to dispatch a value change event to a React component that may no longer be valid in the shadow tree.

Crashed: com.apple.main-thread

0 AppName facebook::react::EventEmitter::dispatchEvent(std::__1::basic_string, std::__1::allocator>, std::__1::shared_ptr, facebook::react::RawEvent::Category) const + 1370 (shared_ptr.h:1370)

1 AppName facebook::react::EventEmitter::dispatchEvent(std::__1::basic_string, std::__1::allocator>, std::__1::function const&, facebook::react::RawEvent::Category) const + 557 (shared_ptr.h:557)

2 AppName facebook::react::RNCSliderEventEmitter::onRNCSliderValueChange(facebook::react::RNCSliderEventEmitter::OnRNCSliderValueChange) const + 403 (function.h:403)

3 AppName -[RNCSliderComponentView RNCSendSliderEvent:withContinuous:isSlidingStart:] + 557 (shared_ptr.h:557)

4 UIKitCore -[UIApplication sendAction:to:from:forEvent:] + 100

5 UIKitCore -[UIControl sendAction:to:forEvent:] + 112

6 UIKitCore -[UIControl _sendActionsForEvents:withEvent:] + 376

7 UIKitCore block_destroy_helper.7 + 3780

8 UIKitCore block_destroy_helper.7 + 6756

9 UIKitCore -[_UIFluidSliderInteraction _handler] + 260

10 UIKitCore -[_UIFluidSliderInteraction _handler] + 72

11 UIKitCore -[_UIFluidSliderInteraction _issueUpdate] + 1368

12 UIKitCore __59-[_UIFluidSliderInteraction initWithConfiguration:handler:]_block_invoke + 32

13 UIKitCore block_copy_helper + 44

14 UIKitCore __swift_memcpy4_1 + 8476

15 UIKitCore block_copy_helper.374 + 40

16 UIKitCore -[_UIAppCACommitFuture _invoke] + 64

17 QuartzCore CA::Transaction::run_commit_handlers(CATransactionPhase) + 120

18 QuartzCore CA::Context::commit_transaction(CA::Transaction*, double, double*) + 9036

19 QuartzCore CA::Transaction::commit() + 644

20 QuartzCore CA::Transaction::flush_as_runloop_observer(bool) + 88

21 UIKitCore _UIApplicationFlushCATransaction + 52

22 UIKitCore __setupUpdateSequence_block_invoke_2 + 352

23 UIKitCore _UIUpdateSequenceRunNext + 128

24 UIKitCore schedulerStepScheduledMainSectionContinue + 60

25 UpdateCycle UC::DriverCore::continueProcessing() + 84

26 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28

27 CoreFoundation __CFRunLoopDoSource0 + 172

28 CoreFoundation __CFRunLoopDoSources0 + 232

29 CoreFoundation __CFRunLoopRun + 820

30 CoreFoundation _CFRunLoopRunSpecificWithOptions + 532

31 GraphicsServices GSEventRunModal + 120

32 UIKitCore -[UIApplication _run] + 792

33 UIKitCore UIApplicationMain + 336

34 AppName main + 8 (main.m:8)

35 ??? 0x185c0ee28 (Missing)

Device: iPhone 17 Pro
iOS Version: 26.2
React Native: 0.77.3
Library: @react-native-community/slider 4.5.5
Architecture: New Architecture (Fabric Enabled)
Thread: com.apple.main-thread

Crash Summary

Crash occurs during slider interaction while dispatching slider value change events through React Native Fabric event emitter.

Relevant stack frames:

facebook::react::EventEmitter::dispatchEvent
facebook::react::RNCSliderEventEmitter::onRNCSliderValueChange
-[RNCSliderComponentView RNCSendSliderEvent:withContinuous:isSlidingStart:]

The crash originates from slider event emission during interaction handled by _UIFluidSliderInteraction in UIKit.

贡献指南

打开贡献指南

调研方向

Start at the RNCSliderComponentView RNCSendSliderEvent:withContinuous:isSlidingStart: entry point and trace its call to RNCSliderEventEmitter::onRNCSliderValueChange and EventEmitter::dispatchEvent. Reproduce the slider interaction on iOS 26.2 with Fabric enabled, then compare the behavior when the component is removed from the shadow tree. Done requires identifying the invalid-event condition and validating that the crash no longer occurs.

由索引模型根据 Issue 内容生成。

评估

技术栈
cpp, ios, react-native
领域
mobile-dev
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
活跃
描述清晰度
需要澄清
新手友好度
42/100

把新 issue 发到你的邮箱

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