Skip to content

App crashing #1213

@RayBourn

Description

@RayBourn

Checklist

  • I've already searched in existing issues and haven't found a similar problem reported.
  • I'm using the latest version of the app
  • This error caused the app to crash
  • This error is reproducible

Which category best fits this error?

Others

App version

0.15.3

Reproduction steps

On clicking some feed, app gets crash.

Crash report

Version: 0.15.3
Device: OnePlus MT2111
System: Android 14 (API 34)

Stack trace: 

.lang.NumberFormatException: For input string: "480w,//gumlet.assettype.com/downtoearth%2F2026-01-10%2Fjngl2cu5%2FSimply-Put-9-Jan-hero-image-copy.jpg?w=640&auto=format%2Ccompress&fit=ma"
	at jdk.internal.math.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2054)
	at jdk.internal.math.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
	at java.lang.Float.parseFloat(Float.java:558)
	at me.ash.reader.ui.component.reader.ImageCandidates.getBestImageForMaxSize(Image.kt:136)
	at me.ash.reader.ui.component.reader.ImageKt.ArticleImage$lambda$4(Image.kt:63)
	at me.ash.reader.ui.component.reader.ImageKt.$r8$lambda$3_GFiq7c4WNG2yHq1vr6A0NjfIk(Image.kt:1)
	at me.ash.reader.ui.component.reader.ImageKt$$ExternalSyntheticLambda3.invoke(R8$$SyntheticClass:27)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.kt:21)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.kt:3)
	at androidx.compose.foundation.layout.BoxWithConstraintsKt$$ExternalSyntheticLambda2.invoke(R8$$SyntheticClass:34)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.kt:12)
	at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.kt:2)
	at androidx.compose.runtime.internal.Expect_jvmKt.invokeComposable(Expect.jvm.kt:15)
	at androidx.compose.runtime.ComposerImpl.doCompose-aFTiNEg(ComposerImpl.kt:85)
	at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:37)
	at androidx.compose.runtime.Recomposer.composeInitial$runtime(Recomposer.kt:74)
	at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime(ComposerImpl.kt:5)
	at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime(ComposerImpl.kt:5)
	at androidx.compose.runtime.ComposerImpl$CompositionContextImpl.composeInitial$runtime(ComposerImpl.kt:5)
	at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:32)
	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose(SubcomposeLayout.kt:236)
	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$Scope.subcompose(SubcomposeLayout.kt:177)
	at androidx.compose.foundation.layout.BoxWithConstraintsKt$$ExternalSyntheticLambda0.invoke(R8$$SyntheticClass:30)
	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1.measure-3p2s80s(SubcomposeLayout.kt:68)
	at androidx.compose.ui.node.InnerNodeCoordinator$LookaheadDelegateImpl.measure-BRTryo0(InnerNodeCoordinator.kt:45)
	at androidx.compose.foundation.layout.FillNode.measure-3p2s80s(Size.kt:105)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator$LookaheadDelegateForLayoutModifierNode.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:27)
	at androidx.compose.ui.node.LookaheadPassDelegate$performMeasureBlock$1.invoke(LookaheadPassDelegate.kt:18)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:251)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performLookaheadMeasure-BRTryo0$ui(LayoutNodeLayoutDelegate.kt:34)
	at androidx.compose.ui.node.LookaheadPassDelegate.remeasure-BRTryo0(LookaheadPassDelegate.kt:162)
	at androidx.compose.ui.node.LookaheadPassDelegate.measure-BRTryo0(LookaheadPassDelegate.kt:130)
	at androidx.compose.foundation.layout.RowColumnMeasurePolicyKt.measure(RowColumnMeasurePolicy.kt:95)
	at androidx.compose.foundation.layout.ColumnMeasurePolicy.measure-3p2s80s(Column.kt:43)
	at androidx.compose.ui.node.InnerNodeCoordinator$LookaheadDelegateImpl.measure-BRTryo0(InnerNodeCoordinator.kt:45)
	at androidx.compose.foundation.layout.PaddingNode.measure-3p2s80s(Padding.kt:33)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator$LookaheadDelegateForLayoutModifierNode.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:27)
	at androidx.compose.foundation.layout.SizeNode.measure-3p2s80s(Size.kt:114)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator$LookaheadDelegateForLayoutModifierNode.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:27)
	at androidx.compose.ui.node.LookaheadPassDelegate$performMeasureBlock$1.invoke(LookaheadPassDelegate.kt:18)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:251)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performLookaheadMeasure-BRTryo0$ui(LayoutNodeLayoutDelegate.kt:34)
	at androidx.compose.ui.node.LookaheadPassDelegate.remeasure-BRTryo0(LookaheadPassDelegate.kt:162)
	at androidx.compose.ui.node.LookaheadPassDelegate.measure-BRTryo0(LookaheadPassDelegate.kt:130)
	at androidx.compose.foundation.lazy.LazyListMeasuredItemProvider.getAndMeasure-0kLqBqw(LazyListMeasuredItemProvider.kt:50)
	at androidx.compose.foundation.lazy.LazyListKt$rememberLazyListMeasurePolicy$1$1.measure-0kLqBqw(LazyList.kt:768)
	at androidx.compose.foundation.lazy.layout.LazyLayoutKt$$ExternalSyntheticLambda4.invoke(R8$$SyntheticClass:16)
	at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1.measure-3p2s80s(SubcomposeLayout.kt:68)
	at androidx.compose.ui.node.InnerNodeCoordinator$LookaheadDelegateImpl.measure-BRTryo0(InnerNodeCoordinator.kt:45)
	at androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure-3p2s80s(GraphicsLayerModifier.kt:1)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator$LookaheadDelegateForLayoutModifierNode.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:27)
	at androidx.compose.foundation.lazy.layout.LazyLayoutBeyondBoundsProviderModifierNode.measure-3p2s80s(LazyLayoutBeyondBoundsModifierLocal.kt:1)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator$LookaheadDelegateForLayoutModifierNode.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:27)
	at androidx.compose.foundation.layout.FillNode.measure-3p2s80s(Size.kt:105)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator$LookaheadDelegateForLayoutModifierNode.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:27)
	at androidx.compose.ui.node.LookaheadPassDelegate$performMeasureBlock$1.invoke(LookaheadPassDelegate.kt:18)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:251)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performLookaheadMeasure-BRTryo0$ui(LayoutNodeLayoutDelegate.kt:34)
	at androidx.compose.ui.node.LookaheadPassDelegate.remeasure-BRTryo0(LookaheadPassDelegate.kt:162)
	at androidx.compose.ui.node.LookaheadPassDelegate.measure-BRTryo0(LookaheadPassDelegate.kt:130)
	at androidx.compose.foundation.layout.BoxMeasurePolicy.measure-3p2s80s(Box.kt:83)
	at androidx.compose.ui.node.InnerNodeCoordinator$LookaheadDelegateImpl.measure-BRTryo0(InnerNodeCoordinator.kt:45)
	at androidx.compose.ui.node.LookaheadPassDelegate$performMeasureBlock$1.invoke(LookaheadPassDelegate.kt:18)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:251)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performLookaheadMeasure-BRTryo0$ui(LayoutNodeLayoutDelegate.kt:34)
	at androidx.compose.ui.node.LookaheadPassDelegate.remeasure-BRTryo0(LookaheadPassDelegate.kt:162)
	at androidx.compose.ui.node.LookaheadPassDelegate.measure-BRTryo0(LookaheadPassDelegate.kt:130)
	at androidx.compose.foundation.text.selection.SimpleLayoutKt$SimpleLayout$1$1.measure-3p2s80s(SimpleLayout.kt:25)
	at androidx.compose.ui.node.InnerNodeCoordinator$LookaheadDelegateImpl.measure-BRTryo0(InnerNodeCoordinator.kt:45)
	at androidx.compose.ui.node.LookaheadPassDelegate$performMeasureBlock$1.invoke(LookaheadPassDelegate.kt:18)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:251)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performLookaheadMeasure-BRTryo0$ui(LayoutNodeLayoutDelegate.kt:34)
	at androidx.compose.ui.node.LookaheadPassDelegate.remeasure-BRTryo0(LookaheadPassDelegate.kt:162)
	at androidx.compose.ui.node.LookaheadPassDelegate.measure-BRTryo0(LookaheadPassDelegate.kt:130)
	at androidx.compose.foundation.layout.BoxMeasurePolicy.measure-3p2s80s(Box.kt:83)
	at androidx.compose.ui.node.InnerNodeCoordinator$LookaheadDelegateImpl.measure-BRTryo0(InnerNodeCoordinator.kt:45)
	at androidx.compose.foundation.layout.FillNode.measure-3p2s80s(Size.kt:105)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator$LookaheadDelegateForLayoutModifierNode.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:27)
	at androidx.compose.ui.node.LookaheadPassDelegate$performMeasureBlock$1.invoke(LookaheadPassDelegate.kt:18)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:251)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performLookaheadMeasure-BRTryo0$ui(LayoutNodeLayoutDelegate.kt:34)
	at androidx.compose.ui.node.LookaheadPassDelegate.remeasure-BRTryo0(LookaheadPassDelegate.kt:162)
	at androidx.compose.ui.node.LookaheadPassDelegate.measure-BRTryo0(LookaheadPassDelegate.kt:130)
	at androidx.compose.animation.AnimatedEnterExitMeasurePolicy.measure-3p2s80s(AnimatedVisibility.kt:25)
	at androidx.compose.ui.node.InnerNodeCoordinator$LookaheadDelegateImpl.measure-BRTryo0(InnerNodeCoordinator.kt:45)
	at androidx.compose.animation.EnterExitTransitionModifierNode.measure-3p2s80s(EnterExitTransition.kt:56)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator$LookaheadDelegateForLayoutModifierNode.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:27)
	at androidx.compose.ui.graphics.BlockGraphicsLayerModifier.measure-3p2s80s(GraphicsLayerModifier.kt:1)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator$LookaheadDelegateForLayoutModifierNode.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:27)
	at androidx.compose.animation.AnimatedContentKt$AnimatedContent$6$1$1$1.invoke(AnimatedContent.kt:9)
	at androidx.compose.ui.layout.LayoutModifierImpl.measure-3p2s80s(LayoutModifier.kt:8)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator$LookaheadDelegateForLayoutModifierNode.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:27)
	at androidx.compose.ui.node.LookaheadPassDelegate$performMeasureBlock$1.invoke(LookaheadPassDelegate.kt:18)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:251)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performLookaheadMeasure-BRTryo0$ui(LayoutNodeLayoutDelegate.kt:34)
	at androidx.compose.ui.node.LookaheadPassDelegate.remeasure-BRTryo0(LookaheadPassDelegate.kt:162)
	at androidx.compose.ui.node.LookaheadPassDelegate.measure-BRTryo0(LookaheadPassDelegate.kt:130)
	at androidx.compose.animation.AnimatedContentMeasurePolicy.measure-3p2s80s(AnimatedContent.kt:68)
	at androidx.compose.ui.node.InnerNodeCoordinator$LookaheadDelegateImpl.measure-BRTryo0(InnerNodeCoordinator.kt:45)
	at androidx.compose.animation.AnimatedContentTransitionScopeImpl$SizeModifierNode.measure-3p2s80s(AnimatedContent.kt:1)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator$LookaheadDelegateForLayoutModifierNode.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:27)
	at androidx.compose.ui.node.LookaheadPassDelegate$performMeasureBlock$1.invoke(LookaheadPassDelegate.kt:18)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:251)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performLookaheadMeasure-BRTryo0$ui(LayoutNodeLayoutDelegate.kt:34)
	at androidx.compose.ui.node.LookaheadPassDelegate.remeasure-BRTryo0(LookaheadPassDelegate.kt:162)
	at androidx.compose.ui.node.LookaheadPassDelegate.measure-BRTryo0(LookaheadPassDelegate.kt:130)
	at androidx.compose.foundation.layout.BoxMeasurePolicy.measure-3p2s80s(Box.kt:229)
	at androidx.compose.ui.node.InnerNodeCoordinator$LookaheadDelegateImpl.measure-BRTryo0(InnerNodeCoordinator.kt:45)
	at androidx.compose.foundation.layout.FillNode.measure-3p2s80s(Size.kt:105)
	at androidx.compose.ui.node.LayoutModifierNodeCoordinator$LookaheadDelegateForLayoutModifierNode.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:27)
	at androidx.compose.ui.node.LookaheadPassDelegate$performMeasureBlock$1.invoke(LookaheadPassDelegate.kt:18)
	at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:314)
	at androidx.compose.ui.node.LayoutNodeLayoutDelegate.performLookaheadMeasure-BRTryo0$ui(LayoutNodeLayoutDelegate.kt:34)
	at androidx.compose.ui.node.LookaheadPassDelegate.remeasure-BRTryo0(LookaheadPassDelegate.kt:162)
	at androidx.compose.ui.node.MeasureAndLayoutDelegate.doLookaheadRemeasure-sdFAvZA(MeasureAndLayoutDelegate.kt:44)
	at androidx.compose.ui.node.MeasureAndLayoutDelegate.remeasureAndRelayoutIfNeeded(MeasureAndLayoutDelegate.kt:89)
	at androidx.compose.ui.node.MeasureAndLayoutDelegate.measureAndLayout(MeasureAndLayoutDelegate.kt:140)
	at androidx.compose.ui.platform.AndroidComposeView.measureAndLayout(AndroidComposeView.android.kt:34)
	at androidx.compose.ui.platform.AndroidComposeView.dispatchDraw(AndroidComposeView.android.kt:15)
	at android.view.View.draw(View.java:24221)
	at android.view.View.updateDisplayListIfDirty(View.java:23036)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4628)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4601)
	at android.view.View.updateDisplayListIfDirty(View.java:22987)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4628)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4601)
	at android.view.View.updateDisplayListIfDirty(View.java:22987)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4628)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4601)
	at android.view.View.updateDisplayListIfDirty(View.java:22987)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4628)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4601)
	at android.view.View.updateDisplayListIfDirty(View.java:22987)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4628)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4601)
	at android.view.View.updateDisplayListIfDirty(View.java:22987)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4628)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4601)
	at android.view.View.updateDisplayListIfDirty(View.java:22987)
	at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:713)
	at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:719)
	at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:821)
	at android.view.ViewRootImpl.draw(ViewRootImpl.java:5571)
	at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:5233)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4268)
	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2765)
	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10219)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1544)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1553)
	at android.view.Choreographer.doCallbacks(Choreographer.java:1109)
	at android.view.Choreographer.doFrame(Choreographer.java:994)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1527)
	at android.os.Handler.handleCallback(Handler.java:958)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:257)
	at android.os.Looper.loop(Looper.java:368)
	at android.app.ActivityThread.main(ActivityThread.java:8839)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:572)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1049)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinguntriagedThis issue hasn't been triaged yet

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions