Giter VIP home page Giter VIP logo

Comments (8)

krunal-simform avatar krunal-simform commented on June 7, 2024

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.

Jessewb786 avatar Jessewb786 commented on June 7, 2024

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.

krunal-simform avatar krunal-simform commented on June 7, 2024

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.

andytriboletti avatar andytriboletti commented on June 7, 2024

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.

andytriboletti avatar andytriboletti commented on June 7, 2024

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.

afpatmin avatar afpatmin commented on June 7, 2024

A fork that have mitigated this here: ArgyleConcepts@02f8a53

from sceneview-android.

jacobmattsson avatar jacobmattsson commented on June 7, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.