Steps to reproduce
- Open Nextcloud Talk Android app.
- Tap on the button to create a new conversation / room.
- App crashes immediately.
Expected behaviour
Opening the conversation creation activity
Actual behaviour
The app crashes with a NullPointerException when trying to open/render the conversation creation screen (ConversationCreationActivity). The crash occurs during the initial composition pass inside the Scaffold body content of ConversationCreationScreen.
Device brand and model
Pixel 6A
Android version
16
Nextcloud Talk app version
24.0.2
Nextcloud server version
34.0.3
Talk version
24.0.4
Custom TURN server configured
Yes
Custom STUN server configured
Yes
Android logs
Time: 1787202919546
msg: java.lang.NullPointerException
stacktrace: java.lang.NullPointerException
at com.nextcloud.talk.conversationcreation.ConversationCreationActivityKt.ConversationCreationScreen$lambda$5(ConversationCreationActivity.kt:230)
at com.nextcloud.talk.conversationcreation.ConversationCreationActivityKt$$ExternalSyntheticLambda29.invoke(D8$$SyntheticClass:0)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.kt:131)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.kt:52)
at androidx.compose.material3.ScaffoldKt$ScaffoldLayout$bodyContent$1$1.invoke(Scaffold.kt:163)
at androidx.compose.material3.ScaffoldKt$ScaffoldLayout$bodyContent$1$1.invoke(Scaffold.kt:163)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.kt:122)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.kt:52)
at androidx.compose.runtime.internal.Expect_jvmKt.invokeComposable(Expect.jvmAndAndroid.kt:26)
at androidx.compose.runtime.GapComposer.doCompose-aFTiNEg(GapComposer.kt:2643)
at androidx.compose.runtime.GapComposer.composeContent--ZbOJvo$runtime(GapComposer.kt:2545)
at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:895)
at androidx.compose.runtime.Recomposer.composeInitial$runtime(Recomposer.kt:1178)
at androidx.compose.runtime.GapComposer$CompositionContextImpl.composeInitial$runtime(GapComposer.kt:2987)
at androidx.compose.runtime.CompositionImpl.composeInitial(Composition.kt:732)
at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:699)
at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose(SubcomposeLayout.kt:721)
at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose(SubcomposeLayout.kt:658)
at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.subcompose(SubcomposeLayout.kt:624)
at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$Scope.subcompose(SubcomposeLayout.kt:1353)
at androidx.compose.material3.ScaffoldKt.ScaffoldLayout_FMILGgc$lambda$15$lambda$14(Scaffold.kt:274)
at androidx.compose.material3.ScaffoldKt$$ExternalSyntheticLambda2.invoke(D8$$SyntheticClass:0)
at androidx.compose.ui.layout.LayoutNodeSubcompositionsState$createMeasurePolicy$1.measure-3p2s80s(SubcomposeLayout.kt:955)
at androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0(InnerNodeCoordinator.kt:130)
at androidx.compose.ui.node.MeasurePassDelegate$performMeasureBlock$1.invoke(MeasurePassDelegate.kt:173)
at androidx.compose.ui.node.MeasurePassDelegate$performMeasureBlock$1.invoke(MeasurePassDelegate.kt:172)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:729)
at androidx.compose.ui.node.MeasurePassDelegate.remeasure-BRTryo0(MeasurePassDelegate.kt:1077)
at androidx.compose.ui.node.MeasurePassDelegate.measure-BRTryo0(MeasurePassDelegate.kt:470)
at androidx.compose.foundation.layout.BoxMeasurePolicy.measure-3p2s80s(Box.kt:145)
at androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0(InnerNodeCoordinator.kt:130)
at androidx.compose.ui.graphics.SimpleGraphicsLayerModifier.measure-3p2s80s(GraphicsLayerModifier.kt:843)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:190)
at androidx.compose.foundation.layout.InsetsPaddingModifierNode.measure-3p2s80s(WindowInsetsPadding.kt:506)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:190)
at androidx.compose.foundation.layout.InsetsPaddingModifierNode.measure-3p2s80s(WindowInsetsPadding.kt:506)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:190)
at androidx.compose.ui.node.MeasurePassDelegate$performMeasureBlock$1.invoke(MeasurePassDelegate.kt:173)
at androidx.compose.ui.node.MeasurePassDelegate$performMeasureBlock$1.invoke(MeasurePassDelegate.kt:172)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:729)
at androidx.compose.ui.node.MeasurePassDelegate.remeasure-BRTryo0(MeasurePassDelegate.kt:1077)
at androidx.compose.ui.node.MeasurePassDelegate.measure-BRTryo0(MeasurePassDelegate.kt:470)
at androidx.compose.ui.layout.RootMeasurePolicy.measure-3p2s80s(RootMeasurePolicy.kt:50)
at androidx.compose.ui.node.InnerNodeCoordinator.measure-BRTryo0(InnerNodeCoordinator.kt:130)
at androidx.compose.ui.platform.AndroidComposeView$RootModifierNode.measure-3p2s80s(AndroidComposeView.android.kt:3595)
at androidx.compose.ui.node.LayoutModifierNodeCoordinator.measure-BRTryo0(LayoutModifierNodeCoordinator.kt:190)
at androidx.compose.ui.node.MeasurePassDelegate$performMeasureBlock$1.invoke(MeasurePassDelegate.kt:173)
at androidx.compose.ui.node.MeasurePassDelegate$performMeasureBlock$1.invoke(MeasurePassDelegate.kt:172)
at androidx.compose.runtime.snapshots.SnapshotStateObserver.observeReads(SnapshotStateObserver.kt:758)
at androidx.compose.ui.node.MeasurePassDelegate.remeasure-BRTryo0(MeasurePassDelegate.kt:1077)
at androidx.compose.ui.node.LayoutNode.remeasure-_Sx5XlM$ui(LayoutNode.kt:1290)
at androidx.compose.ui.node.MeasureAndLayoutDelegate.doRemeasure-sdFAvZA(MeasureAndLayoutDelegate.kt:381)
at androidx.compose.ui.node.MeasureAndLayoutDelegate.remeasureOnly(MeasureAndLayoutDelegate.kt:723)
at androidx.compose.ui.node.MeasureAndLayoutDelegate.measureOnly(MeasureAndLayoutDelegate.kt:460)
at androidx.compose.ui.platform.AndroidComposeView.onMeasure(AndroidComposeView.android.kt:1973)
at android.view.View.measure(View.java:28595)
at androidx.compose.ui.platform.AbstractComposeView.internalOnMeasure$ui(ComposeView.android.kt:489)
at androidx.compose.ui.platform.AbstractComposeView.onMeasure(ComposeView.android.kt:476)
at android.view.View.measure(View.java:28595)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7039)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at androidx.appcompat.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:141)
at android.view.View.measure(View.java:28595)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7039)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1608)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:878)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
at android.view.View.measure(View.java:28595)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7039)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at android.view.View.measure(View.java:28595)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7039)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1608)
at android.widget.LinearLayout.measureVertical(LinearLayout.java:878)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:721)
at android.view.View.measure(View.java:28595)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:7039)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:194)
at com.android.internal.policy.DecorView.onMeasure(DecorView.java:758)
at android.view.View.measure(View.java:28595)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:5096)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:3444)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3757)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3135)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10821)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1632)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1641)
at android.view.Choreographer.doCallbacks(Choreographer.java:1237)
at android.view.Choreographer.doFrame(Choreographer.java:1166)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1615)
at android.os.Handler.handleCallback(Handler.java:1070)
at android.os.Handler.dispatchMessage(Handler.java:125)
at android.os.Looper.dispatchMessage(Looper.java:333)
at android.os.Looper.loopOnce(Looper.java:263)
at android.os.Looper.loop(Looper.java:367)
at android.app.ActivityThread.main(ActivityThread.java:9314)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:569)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:929)
Steps to reproduce
Expected behaviour
Opening the conversation creation activity
Actual behaviour
The app crashes with a NullPointerException when trying to open/render the conversation creation screen (ConversationCreationActivity). The crash occurs during the initial composition pass inside the Scaffold body content of ConversationCreationScreen.
Device brand and model
Pixel 6A
Android version
16
Nextcloud Talk app version
24.0.2
Nextcloud server version
34.0.3
Talk version
24.0.4
Custom TURN server configured
Yes
Custom STUN server configured
Yes
Android logs