DiscreteScrollView icon indicating copy to clipboard operation
DiscreteScrollView copied to clipboard

Cannot set 'scaleX' to Float.NaN

Open iovorobiev opened this issue 7 years ago • 6 comments

Getting a lot of these crashes on Android 9 devices only. Any ideas what can it be?

Fatal Exception: java.lang.IllegalArgumentException: Cannot set 'scaleX' to Float.NaN
       at android.view.View.sanitizeFloatPropertyValue(View.java:15582)
       at android.view.View.sanitizeFloatPropertyValue(View.java:15556)
       at android.view.View.setScaleX(View.java:14945)
       at com.yarolegovich.discretescrollview.transform.ScaleTransformer.transformItem(ScaleTransformer.java:29)
       at com.yarolegovich.discretescrollview.DiscreteScrollLayoutManager.applyItemTransformToChildren(DiscreteScrollLayoutManager.java:342)
       at com.yarolegovich.discretescrollview.DiscreteScrollLayoutManager.onLayoutChildren(DiscreteScrollLayoutManager.java:123)
       at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924)
       at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:3336)
       at android.view.View.measure(View.java:23480)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:23480)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:23480)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.view.View.measure(View.java:23480)
       at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1638)
       at android.view.View.measure(View.java:23480)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1565)
       at android.widget.LinearLayout.measureVertical(LinearLayout.java:847)
       at android.widget.LinearLayout.onMeasure(LinearLayout.java:726)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at com.android.internal.policy.DecorView.onMeasure(DecorView.java:823)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2941)
       at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1740)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2028)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1624)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7926)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1079)
       at android.view.Choreographer.doCallbacks(Choreographer.java:885)
       at android.view.Choreographer.doFrame(Choreographer.java:809)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1065)
       at android.os.Handler.handleCallback(Handler.java:891)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:207)
       at android.app.ActivityThread.main(ActivityThread.java:7470)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)

iovorobiev avatar Jan 23 '19 06:01 iovorobiev

Getting the same ecxeption. Probably because of my item layout xml. ` <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="wrap_content" android:layout_height="match_parent" tools:layout_width="@dimen/image_size" tools:layout_height="@dimen/image_size" android:id="@+id/root">

<ImageView
        android:id="@+id/iv_image"
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:scaleType="centerCrop"
        tools:src="@tools:sample/backgrounds/scenic"
        app:layout_constraintDimensionRatio="w,1:1"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">
</ImageView>

</androidx.constraintlayout.widget.ConstraintLayout>`

sanisloandras avatar Mar 22 '19 00:03 sanisloandras

Getting the same ecxeption

cyw026 avatar Oct 23 '19 03:10 cyw026

Getting a lot of these crashes on Android 9 devices only. Any ideas what can it be?

Fatal Exception: java.lang.IllegalArgumentException: Cannot set 'scaleX' to Float.NaN
       at android.view.View.sanitizeFloatPropertyValue(View.java:15582)
       at android.view.View.sanitizeFloatPropertyValue(View.java:15556)
       at android.view.View.setScaleX(View.java:14945)
       at com.yarolegovich.discretescrollview.transform.ScaleTransformer.transformItem(ScaleTransformer.java:29)
       at com.yarolegovich.discretescrollview.DiscreteScrollLayoutManager.applyItemTransformToChildren(DiscreteScrollLayoutManager.java:342)
       at com.yarolegovich.discretescrollview.DiscreteScrollLayoutManager.onLayoutChildren(DiscreteScrollLayoutManager.java:123)
       at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3924)
       at androidx.recyclerview.widget.RecyclerView.onMeasure(RecyclerView.java:3336)
       at android.view.View.measure(View.java:23480)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:23480)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:23480)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.view.View.measure(View.java:23480)
       at androidx.viewpager.widget.ViewPager.onMeasure(ViewPager.java:1638)
       at android.view.View.measure(View.java:23480)
       at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
       at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:143)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1565)
       at android.widget.LinearLayout.measureVertical(LinearLayout.java:847)
       at android.widget.LinearLayout.onMeasure(LinearLayout.java:726)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6831)
       at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
       at com.android.internal.policy.DecorView.onMeasure(DecorView.java:823)
       at android.view.View.measure(View.java:23480)
       at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2941)
       at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1740)
       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2028)
       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1624)
       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7926)
       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1079)
       at android.view.Choreographer.doCallbacks(Choreographer.java:885)
       at android.view.Choreographer.doFrame(Choreographer.java:809)
       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1065)
       at android.os.Handler.handleCallback(Handler.java:891)
       at android.os.Handler.dispatchMessage(Handler.java:102)
       at android.os.Looper.loop(Looper.java:207)
       at android.app.ActivityThread.main(ActivityThread.java:7470)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:958)

check your layout.xml width and height is 0 or not.

maybe you use the : android:layout_height="0dp" or android:layout_width="0dp" or android:visible="gone"

every of them will make your rootView become error size.

so it's will throw that exception

KollerWithDoris avatar Mar 20 '20 09:03 KollerWithDoris

Is there any update on this crash? We have the same issue

anatamar avatar Jun 01 '20 18:06 anatamar

Maybe related to #194

yarolegovich avatar Aug 01 '20 14:08 yarolegovich

Hmm, this seems to me like a new bug in a recent android release (possibly the update yesterday) This is a basic call in Xamarin Forms element.RelScaleTo(elementScale, millisecondsDelay); where elementScale is a double, and millisecondsDelay a unsigned int. This call has worked previously but breaks now with the error message in this thread. -Update on this one, I was passing in 0 to the millisecondsDelay, because I wanted to change the scale of the elelment after it had been rendered, instantaneously.. seems 0 is not a number in this case...

RobDaytona avatar Sep 12 '20 07:09 RobDaytona