Comments (8)
I'm experiencing the same crash when I press back or implement BackHandler
to navigate to a different screen.
java.lang.NullPointerException
at io.github.sceneview.components.CameraComponent$DefaultImpls.getCamera(CameraComponent.kt:30)
at io.github.sceneview.node.CameraNode.getCamera(CameraNode.kt:27)
at io.github.sceneview.node.CameraNode.destroy(CameraNode.kt:330)
at io.github.sceneview.ar.ARSceneKt$rememberARCameraNode$$inlined$rememberNode$1$1.dispose(Effects.kt:498)
at androidx.compose.runtime.DisposableEffectImpl.onForgotten(Effects.kt:87)
at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:1276)
at androidx.compose.runtime.CompositionImpl.applyChangesInLocked(Composition.kt:984)
at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:1005)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:639)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:551)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
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:7872)
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)
Version: 2.1.0
from sceneview-android.
I'm actually experiencing the exact same issue on 2.1.0.
java.lang.NullPointerException
at io.github.sceneview.components.CameraComponent$DefaultImpls.getCamera(CameraComponent.kt:30)
at io.github.sceneview.node.CameraNode.getCamera(CameraNode.kt:27)
at io.github.sceneview.node.CameraNode.destroy(CameraNode.kt:330)
at io.github.sceneview.ar.ARSceneKt$rememberARCameraNode$$inlined$rememberNode$1$1.dispose(Effects.kt:498)
at androidx.compose.runtime.DisposableEffectImpl.onForgotten(Effects.kt:87)
at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:1276)
at androidx.compose.runtime.CompositionImpl.applyChangesInLocked(Composition.kt:984)
at androidx.compose.runtime.CompositionImpl.applyChanges(Composition.kt:1005)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:639)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:551)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
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:7872)
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.runtime.PausableMonotonicFrameClock@9f66ca9, androidx.compose.ui.platform.MotionDurationScaleImpl@6bdf22e, StandaloneCoroutine{Cancelling}@c3e51cf, AndroidUiDispatcher@890175c]
from sceneview-android.
Getting a similar crash on the orientation change (and probably on any other configuration change).
java.lang.RuntimeException: Unable to destroy activity {<package>/<package>.ui.MainActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5971)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:6009)
at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:6309)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:6206)
at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:76)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:144)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:101)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2630)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:257)
at android.os.Looper.loop(Looper.java:368)
at android.app.ActivityThread.main(ActivityThread.java:8826)
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)
Caused by: java.lang.NullPointerException
at io.github.sceneview.components.CameraComponent$DefaultImpls.getCamera(CameraComponent.kt:30)
at io.github.sceneview.node.CameraNode.getCamera(CameraNode.kt:27)
at io.github.sceneview.node.CameraNode.destroy(CameraNode.kt:330)
at io.github.sceneview.ar.ARSceneKt$rememberARCameraNode$$inlined$rememberNode$1$1.dispose(Effects.kt:498)
at androidx.compose.runtime.DisposableEffectImpl.onForgotten(Effects.kt:87)
at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:1276)
at androidx.compose.runtime.CompositionImpl.dispose(Composition.kt:769)
at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.disposeCurrentNodes(SubcomposeLayout.kt:593)
at androidx.compose.ui.layout.LayoutNodeSubcompositionsState.onRelease(SubcomposeLayout.kt:407)
at androidx.compose.ui.node.LayoutNode.onRelease(LayoutNode.kt:1362)
at androidx.compose.runtime.CompositionImpl$RememberEventDispatcher.dispatchRememberObservers(Composition.kt:1281)
at androidx.compose.runtime.CompositionImpl.dispose(Composition.kt:769)
at androidx.compose.ui.platform.WrappedComposition.dispose(Wrapper.android.kt:153)
at androidx.compose.ui.platform.WrappedComposition.onStateChanged(Wrapper.android.kt:161)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.kt:322)
at androidx.lifecycle.LifecycleRegistry.backwardPass(LifecycleRegistry.kt:273)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.kt:290)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.kt:143)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.kt:126)
at androidx.lifecycle.ReportFragment$Companion.dispatch$lifecycle_runtime_release(ReportFragment.kt:190)
at androidx.lifecycle.ReportFragment$LifecycleCallbacks.onActivityPreDestroyed(ReportFragment.kt:146)
at android.app.Activity.dispatchActivityPreDestroyed(Activity.java:1612)
at android.app.Activity.performDestroy(Activity.java:9044)
at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1510)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:5958)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:6009)
at android.app.ActivityThread.handleRelaunchActivityInner(ActivityThread.java:6309)
at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:6206)
at android.app.servertransaction.ActivityRelaunchItem.execute(ActivityRelaunchItem.java:76)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:144)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:101)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2630)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:257)
at android.os.Looper.loop(Looper.java:368)
at android.app.ActivityThread.main(ActivityThread.java:8826)
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)
from sceneview-android.
I'm seeing the same thing when using tabs and clicking away from a sceneview. With Version 2.0.4 I get SIGSEGV:
2024-04-11 21:58:01.881 11165-11165 libc com.greenrobot.openspace A Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x2a8 in tid 11165 (robot.openspace), pid 11165 (robot.openspace)
from sceneview-android.
With the latest version I got it to work.
I am doing this:
val cameraNode = SceneView.DefaultCameraNode(engine)
then passing cameraNode to my scene.
Scene(
modifier = Modifier.fillMaxSize(),
engine = engine,
modelLoader = modelLoader,
isOpaque = false,
cameraNode = cameraNode,
activity = LocalContext.current as? ComponentActivity,
lifecycle = LocalLifecycleOwner.current.lifecycle,
view = rememberView(engine),
childNodes = rememberNodes {
add(ModelNode(modelLoader.createModelInstance("apple.glb")).apply {
// Position the first apple
position = Position(0f, 0f, 0f)
})
add(ModelNode(modelLoader.createModelInstance("apple2.glb")).apply {
// Position the second apple
position = Position(2f, 0f, 0f)
})
},
//environment = environmentLoader.createHDREnvironment("environment.hdr")!!
)
from sceneview-android.
A fork that have mitigated this here: ArgyleConcepts@02f8a53
from sceneview-android.
Same thing happens with the View-based API (with 2.1.1). On 2.0.4, this Exception doesn't occur.
java.lang.NullPointerException
at io.github.sceneview.components.CameraComponent$DefaultImpls.getCamera(CameraComponent.kt:30)
at io.github.sceneview.node.CameraNode.getCamera(CameraNode.kt:27)
at io.github.sceneview.node.CameraNode.destroy(CameraNode.kt:330)
at io.github.sceneview.SceneView.destroy(SceneView.kt:612)
at io.github.sceneview.SceneView.onDetachedFromWindow(SceneView.kt:677)
at android.view.View.dispatchDetachedFromWindow(View.java:22319)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3986)
at android.view.ViewGroup.removeViewInternal(ViewGroup.java:5610)
at android.view.ViewGroup.removeViewInternal(ViewGroup.java:5581)
at android.view.ViewGroup.removeView(ViewGroup.java:5512)
at androidx.fragment.app.FragmentContainerView.removeView(FragmentContainerView.kt:293)
at androidx.fragment.app.SpecialEffectsController$Operation$State.applyState(SpecialEffectsController.kt:398)
at androidx.fragment.app.DefaultSpecialEffectsController.applyContainerChanges(DefaultSpecialEffectsController.kt:757)
at androidx.fragment.app.DefaultSpecialEffectsController.executeOperations$lambda$2(DefaultSpecialEffectsController.kt:90)
at androidx.fragment.app.DefaultSpecialEffectsController.$r8$lambda$1QpWHhDUzj8NqxMUz0S9KkFt5ZY(Unknown Source:0)
at androidx.fragment.app.DefaultSpecialEffectsController$$ExternalSyntheticLambda2.run(D8$$SyntheticClass:0)
at androidx.fragment.app.SpecialEffectsController$Operation.complete(SpecialEffectsController.kt:608)
at androidx.fragment.app.SpecialEffectsController$FragmentStateManagerOperation.complete(SpecialEffectsController.kt:663)
at androidx.fragment.app.SpecialEffectsController$Operation.completeSpecialEffect(SpecialEffectsController.kt:587)
at androidx.fragment.app.DefaultSpecialEffectsController$SpecialEffectsInfo.completeSpecialEffect(DefaultSpecialEffectsController.kt:774)
at androidx.fragment.app.DefaultSpecialEffectsController.startAnimations(DefaultSpecialEffectsController.kt:150)
at androidx.fragment.app.DefaultSpecialEffectsController.executeOperations(DefaultSpecialEffectsController.kt:101)
at androidx.fragment.app.SpecialEffectsController.executePendingOperations(SpecialEffectsController.kt:234)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1956)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1845)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1782)
at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:565)
at android.os.Handler.handleCallback(Handler.java:959)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8501)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
from sceneview-android.
Related Issues (20)
- ARScene crashes on compose when disposing element HOT 1
- Projection matrix is not updated in augmented face mode HOT 9
- Exception: Calling method on destroyed Scene when Scene is shown and hidden in Compose HOT 1
- ViewNode for 2.1.0 HOT 3
- Crash on closing SceneView with child node HOT 2
- ar-cloud-anchor sample + azure
- NullPointerException on screen rotation HOT 2
- Correct way to set background color/ using skybox causes black flash momentarily
- Would it be possible to add a sample for the new ViewNode in Compose (in v2.1.0)? HOT 1
- Animate Node transform/How to create Node Animations
- Can't add session features during ARCore initialization in ARSceneView HOT 2
- Scene does not work inside LazyColumn HOT 1
- Stop the animation at last frame of animation playback HOT 1
- Human Skin Scan
- Not able to update GLB model consistently in existing Compose ARSceneView
- Crash on disposing AR Scene in 2.1.0 HOT 2
- Node shaking issue
- Models not displaying right on device but they look ok on emulator with isOpaque = false
- Augmented faces
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sceneview-android.