iOS Crash on value change in RNCSliderEventEmitter::onRNCSliderValueChange

Open
#782 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Active
Tech stack
cpp, ios, react-native
Domain
mobile-dev

Research direction

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.

Written by the indexing model from the issue text.

Description

bug report platform: iOS

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<char, std::__1::char_traits, std::__1::allocator>, std::__1::shared_ptr<facebook::react::EventPayload const>, facebook::react::RawEvent::Category) const + 1370 (shared_ptr.h:1370)

1 AppName facebook::react::EventEmitter::dispatchEvent(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, std::__1::function<facebook::jsi::Value (facebook::jsi::Runtime&)> 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.

Dominant language
TypeScript
Stars
1.4k
Forks
295
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from callstack/react-native-slider

All issues in callstack/react-native-slider

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.