LemmyNet / jerboa

A native android app for Lemmy
GNU Affero General Public License v3.0
1.15k stars 167 forks source link

Crash on expanding replies #1258

Closed SyrionNL closed 9 months ago

SyrionNL commented 9 months ago

Jerboa Version

0.0.48

Android Version + Phone

iodéOS 4.5 (android 13/LineageOS), Fairphone 4

Describe The Bug

When trying to click on "3 meer reacties" (3 more reactions in Dutch) in a certain thread, Jerboa crashes.

To Reproduce

  1. Go to: https://lemmy.world/post/6531611
  2. Click on "[x] more reactions" underneath https://feddit.de/comment/3679070
  3. Watch Jerboa crash (or not respond on latest attempt, it did generate the following crash report)

In the case of a crash or when relevant include the logs

Stacktrace

java.lang.IllegalArgumentException: Key "3531169" was already used. If you are using LazyColumn/Row please make sure you provide a unique key for each item. at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$Scope.subcompose(Unknown Source:182) at androidx.compose.foundation.lazy.layout.LazyLayoutMeasureScopeImpl.measure-0kLqBqw(Unknown Source:33) at androidx.compose.foundation.lazy.LazyListKt$rememberLazyListMeasurePolicy$1$1$measuredItemProvider$1.getAndMeasure(Unknown Source:18) at androidx.compose.foundation.lazy.LazyListKt$rememberLazyListMeasurePolicy$1$1.invoke(Unknown Source:617) at androidx.navigation.compose.NavHostKt$NavHost$14$1.invoke(SourceFile:17) at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1.measure-3p2s80s(Unknown Source:91) at androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0(Unknown Source:45) at androidx.compose.material3.ComposableSingletons$AppBarKt$lambda-2$1.invoke-3p2s80s(Unknown Source:60) at androidx.compose.material3.ComposableSingletons$AppBarKt$lambda-2$1.invoke(SourceFile:73) at androidx.compose.ui.layout.LayoutModifierImpl.measure-3p2s80s(Unknown Source:12) at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0(Unknown Source:10) at androidx.compose.material3.ComposableSingletons$AppBarKt$lambda-2$1.invoke-3p2s80s(Unknown Source:19) at androidx.compose.material3.ComposableSingletons$AppBarKt$lambda-2$1.invoke(SourceFile:76) at androidx.compose.ui.layout.LayoutModifierImpl.measure-3p2s80s(Unknown Source:12) at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0(Unknown Source:10) at androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure-3p2s80s(Unknown Source:5) at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0(Unknown Source:10) at androidx.compose.foundation.layout.PaddingNode.measure-3p2s80s(Unknown Source:37) at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0(Unknown Source:10) at okhttp3.internal.http2.Http2Connection$1.invoke(SourceFile:17) at okhttp3.internal.http2.Http2Connection$1.invoke(SourceFile:13) at kotlin.UNINITIALIZED_VALUE.observe(Unknown Source:63) at androidx.compose.runtime.snapshots.SnapshotStateObserver$ObservedScopeMap.observe(Unknown Source:66) at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(Unknown Source:75) at androidx.compose.ui.node.OwnerSnapshotObserver.observeReads$ui_release(Unknown Source:12) at androidx.compose.ui.node.LayoutNodeLayoutDelegate$MeasurePassDelegate.remeasure-BRTryo0(Unknown Source:109) at androidx.compose.ui.node.MeasureAndLayoutDelegate.doRemeasure-sdFAvZA(Unknown Source:17) at androidx.compose.ui.node.MeasureAndLayoutDelegate.measureAndLayout-0kLqBqw(Unknown Source:60) at androidx.compose.ui.platform.AndroidComposeView.measureAndLayout-0kLqBqw(Unknown Source:12) at androidx.compose.ui.node.LayoutNode.forceRemeasure(Unknown Source:40) at androidx.compose.foundation.MagnifierKt$magnifier$4$3.invoke(SourceFile:27) at androidx.compose.foundation.MagnifierKt$magnifier$4$3.invoke(SourceFile:105) at androidx.compose.foundation.gestures.DefaultScrollableState$scrollScope$1.scrollBy(Unknown Source:16) at androidx.compose.runtime.RecomposeScopeImpl$end$1$2.invoke(Unknown Source:359) at androidx.compose.foundation.AndroidEdgeEffectOverscrollEffect.applyToScroll-Rhakbz0(Unknown Source:327) at androidx.compose.foundation.gestures.ScrollingLogic.dispatchScroll-3eAAhYA(Unknown Source:49) at androidx.compose.foundation.gestures.ScrollDraggableState.dragBy(Unknown Source:15) at androidx.compose.foundation.gestures.DraggableNode$pointerInputNode$1$1$1$1.invokeSuspend(Unknown Source:81) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(Unknown Source:8) at kotlinx.coroutines.DispatchedTask.run(Unknown Source:109) at androidx.compose.ui.platform.AndroidUiDispatcher.access$performTrampolineDispatch(Unknown Source:22) at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(Unknown Source:9) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1229) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239) at android.view.Choreographer.doCallbacks(Choreographer.java:899) at android.view.Choreographer.doFrame(Choreographer.java:827) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1214) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7924) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.platform.MotionDurationScaleImpl@6f1f4fc, androidx.compose.runtime.BroadcastFrameClock@4924785, StandaloneCoroutine{Cancelling}@9f129da, AndroidUiDispatcher@f0b6e0b]

END of stacktrace

Thread info

Name: main ID: 2 State: RUNNABLE Priority: 5 Thread group name: main Thread group parent: system Thread group active count: 31 Thread time: 0 hr 0 min, 43 sec

END of thread info

Device info

Report ID: abeb3ab8-10f6-464b-80fa-782ed257d55b Device ID: c5bab57c8ac4d9eb Application version: 48 Default launcher: com.android.settings Timezone name: Midden-Europese standaardtijd Timezone ID: Europe/Amsterdam Version release: 13 Version incremental : eng.vince.20230926.001026 Version SDK: 33 Board: FP4 Bootloader: unknown Brand: Fairphone CPU ABIS 32: armeabi-v7a, armeabi CPU ABIS 64: arm64-v8a Supported ABIS: arm64-v8a, armeabi-v7a, armeabi Device: FP4 Display: TQ3A.230901.001 dev-keys Fingerprint: Fairphone/FP4eea/FP4:12/SKQ1.220201.001/SP2K:user/release-keys Hardware: qcom Host: p3 ID: TQ3A.230901.001 Manufacturer: Fairphone Product: FP4eea Build time: 1695679765000 Build time formatted: 26-09-2023 00:09:25 Type: user Radio: MPSS.HI.2.5.1-01001-BITRA_GEN_PACK-1,MPSS.HI.2.5.1-01001-BITRA_GEN_PACK-1 Tags: release-keys User: vince User IDs: N/A Is sustained performance mode supported: No Is in power save mode: No Is in interactive state: Yes Is ignoring battery optimizations: No Thermal status: STATUS_NONE Location power save mode: MODE_NO_CHANGE Is device idle: No Battery percentage: 83 Battery remaining time: N/A Is battery charging: No Is device rooted: No CPU Model: Qualcomm Technologies, Inc LAGOON Number of CPU cores: 8 Up time with sleep: 235 hr 16 min, 40 sec Up time without sleep: 107 hr 58 min, 47 sec

END of Device info

Exit reasons

Exit reason #1 Description: crash Importance: FOREGROUND Reason: CRASH Timestamp: 09-10-2023 10:07:03 END of exit reason #1

Exit reason #2 Description: crash Importance: FOREGROUND Reason: CRASH Timestamp: 09-10-2023 10:06:49 END of exit reason #2

Exit reason #3 Description: remove task Importance: CACHED Reason: USER_REQUESTED Timestamp: 08-10-2023 13:04:11 END of exit reason #3

END of exit reasons

Application info

App name: Jerboa Version code: 48 Version name: 0.0.48 Package name: com.jerboa Short package name: jerboa Flavor: N/A Signatures: c80qNSw9NUKgqci9/TrHLtzCTSw= Is debuggable: No First installed: 13-06-2023 01:55:40 Last updated: 06-10-2023 08:36:31 Requested permissions: android.permission.ACCESS_NETWORK_STATE, android.permission.INTERNET, android.permission.READ_MEDIA_AUDIO, android.permission.READ_MEDIA_IMAGES, android.permission.READ_MEDIA_VIDEO, com.jerboa.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION Default prefs: N/A Default prefs: N/A

END of Application info

Currently running foreground/background processes

N/A

END of running foreground/background processes info

MV-GH commented 9 months ago

Should be fixed with #1240