Skip to content

Crash: Error while updating property 'minimumTrackTintColor' of a view managed by: RNCSlider #161

@laurent22

Description

@laurent22

Environment

System:
    OS: Linux 4.4 Ubuntu 18.04.3 LTS (Bionic Beaver)
    CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
    Memory: 7.13 GB / 15.85 GB
    Shell: 4.4.20 - /bin/bash
  Binaries:
    Node: 12.10.0 - /usr/bin/node
    Yarn: 1.17.3 - .../AppData/Roaming/npm/yarn
    npm: 6.13.4 - ~/.npm-global/bin/npm
  npmPackages:
    react: 16.9.0 => 16.9.0
    react-native: 0.61.5 => 0.61.5
  npmGlobalPackages:
    react-native: 0.59.9

Device

Platform: Android
OS: LineageOS 16
Device: Moto G6 Play

Description

The RNSlider component can make the application crash as soon as the component is displayed. It seems to happen on LineageOS in particular:

laurent22/joplin#2733 (comment)

03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: FATAL EXCEPTION: main
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: Process: net.cozic.joplin, PID: 19031
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: com.facebook.react.bridge.JSApplicationIllegalArgumentException: Error while updating property 'minimumTrackTintColor' of a view managed by: RNCSlider
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateViewProp(ViewManagersPropertyCache.java:98)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.facebook.react.uimanager.ViewManagerPropertyUpdater$FallbackViewManagerSetter.setProperty(ViewManagerPropertyUpdater.java:134)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.facebook.react.uimanager.ViewManagerPropertyUpdater.updateProps(ViewManagerPropertyUpdater.java:54)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.facebook.react.uimanager.ViewManager.updateProperties(ViewManager.java:48)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.facebook.react.uimanager.NativeViewHierarchyManager.createView(NativeViewHierarchyManager.java:278)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.facebook.react.uimanager.UIViewOperationQueue$CreateViewOperation.execute(UIViewOperationQueue.java:179)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.dispatchPendingNonBatchedOperations(UIViewOperationQueue.java:972)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded(UIViewOperationQueue.java:943)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.facebook.react.uimanager.GuardedFrameCallback.doFrame(GuardedFrameCallback.java:28)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.facebook.react.modules.core.ReactChoreographer$ReactChoreographerDispatcher.doFrame(ReactChoreographer.java:174)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.facebook.react.modules.core.ChoreographerCompat$FrameCallback$1.doFrame(ChoreographerCompat.java:84)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:947)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at android.view.Choreographer.doCallbacks(Choreographer.java:761)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at android.view.Choreographer.doFrame(Choreographer.java:693)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at android.os.Handler.handleCallback(Handler.java:873)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:99)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:193)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6718)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.facebook.react.uimanager.ViewManagersPropertyCache$PropSetter.updateViewProp(ViewManagersPropertyCache.java:83)
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	... 21 more
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.drawable.Drawable.setColorFilter(int, android.graphics.PorterDuff$Mode)' on a null object reference
03-11 16:13:41.083 10229 19031 19031 E AndroidRuntime: 	at com.reactnativecommunity.slider.ReactSliderManager.setMinimumTrackTintColor(ReactSliderManager.java:186)

Reproducible Demo

I cannot replicate the crash myself, but this is where it happens, to give an idea of what props are set:

https://github.com/laurent22/joplin/blob/34a1c965bec867d30e1a3e707872674055251329/ReactNativeClient/lib/components/screens/config.js#L405

Metadata

Metadata

Labels

bug reportSomething isn't workingplatform: AndroidIssue related to Android platform

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions