google-ar / sceneform-android-sdk

Sceneform SDK for Android
https://developers.google.com/sceneform/develop/
Apache License 2.0
1.23k stars 604 forks source link

SIGBUS/SIGSEGV crash in libsceneform_animation.so when loading models #608

Open Dings3 opened 5 years ago

Dings3 commented 5 years ago

Sceneform randomly crashes with SIGBUS or SIGSEGV when loading certain models, for example the fox model from the augmentedface example.

To reproduce: Import the fox model as sceneform asset, so .sfb is in res\raw In MainActivity onCreate: ModelRenderable.builder().setSource(this, R.raw.fox_face).build()

in activity_main.xml <com.google.ar.sceneform.ArSceneView android:id="@+id/arSceneView" android:layout_width="match_parent" android:layout_height="match_parent" />

in build.gradle implementation 'com.google.ar.sceneform:animation:1.7.0'

Reproduced on Samsung A6, Android 8.0.0 and Pixel 2 emulator with Android 9

stacktrace.txt sceneformcrash_project.zip

szczepanskikrs commented 5 years ago

Same issue here, it's random and non-deterministic. Happens on emulator OpenGL ES version 3.0 API 28. And Motorola G5 Android 8.1. It seems to be related to models with FBX animations.

A/libc: Fatal signal 11 (SIGSEGV), code 128 (SI_KERNEL), fault addr 0x0 in tid 4859 (tygames.testgame), pid 4859 (tygames.testgame)

Sorry, I can't attach my project nor model.

garyp commented 5 years ago

We're seeing the same issue with Sceneform 1.8.0. So far it's always been a SIGSEGV on the emulator (Pixel, Android 9.0, x86) and we've also gotten reports of a SIGBUS on a Samsung Note 9 (Android 8.0). The stacktrace is similar to the one posted above, always crashing in Java_com_google_ar_sceneform_animation_ModelSkeletonRig_createSkeletonRigNative while loading a 3D model. Note that this happens even if we don't make use of any Sceneform animation features.

If I remove the dependency on com.google.ar.sceneform.ux:sceneform-ux:1.80 then the crashes stop happening.

Here's one of our stacktraces:

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/sdk_gphone_x86/generic_x86:9/PSR1.180720.075/5124027:userdebug/dev-keys'
Revision: '0'
ABI: 'x86'
pid: 27920, tid: 27920, name: pro.streem.now  >>> pro.streem.now <<<
signal 11 (SIGSEGV), code 128 (SI_KERNEL), fault addr 0x0
    eax cc0f9980  ebx cc0f99c0  ecx 7594f978  edx 00000000
    edi 00000000  esi 00000000
    ebp ffe43bb8  esp ffe43b80  eip d062c3b7

backtrace:
    #00 pc 000093b7  /data/app/pro.streem.now-pB5XqMH9YchJ-_r7GB0REg==/lib/x86/libsceneform_animation.so
    #01 pc 00008a0e  /data/app/pro.streem.now-pB5XqMH9YchJ-_r7GB0REg==/lib/x86/libsceneform_animation.so
    #02 pc 00009dcb  /data/app/pro.streem.now-pB5XqMH9YchJ-_r7GB0REg==/lib/x86/libsceneform_animation.so (Java_com_google_ar_sceneform_animation_ModelSkeletonRig_createSkeletonRigNative+331)
    #03 pc 005f6b97  /system/lib/libart.so (art_quick_generic_jni_trampoline+71)
    #04 pc 005f0b82  /system/lib/libart.so (art_quick_invoke_stub+338)
    #05 pc 000a30ce  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+222)
    #06 pc 0029bca2  /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+338)
    #07 pc 00293e48  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1048)
    #08 pc 002d5fce  /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE1ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+286)
    #09 pc 002d184a  /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+75882)
    #10 pc 005f7762  /system/lib/libart.so (ExecuteSwitchImplAsm+18)
    #11 pc 002bdbcc  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/pro.streem.now-pB5XqMH9YchJ-_r7GB0REg==/split_lib_dependencies_apk.apk (deleted) (com.google.ar.sceneform.animation.ModelSkeletonRig.<init>)
    #12 pc 002661c9  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+521)
    #13 pc 0026c79c  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+220)
    #14 pc 00293e2b  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1019)
    #15 pc 002d5fce  /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE1ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+286)
    #16 pc 002d184a  /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+75882)
    #17 pc 005f7762  /system/lib/libart.so (ExecuteSwitchImplAsm+18)
    #18 pc 002bdeb4  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/pro.streem.now-pB5XqMH9YchJ-_r7GB0REg==/split_lib_dependencies_apk.apk (deleted) (com.google.ar.sceneform.animation.c.create)
    #19 pc 002661c9  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+521)
    #20 pc 0026c79c  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+220)
    #21 pc 00293e2b  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1019)
    #22 pc 002d44dd  /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE2ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+669)
    #23 pc 002d10ad  /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+73933)
    #24 pc 005f7762  /system/lib/libart.so (ExecuteSwitchImplAsm+18)
    #25 pc 002d55b4  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/pro.streem.now-pB5XqMH9YchJ-_r7GB0REg==/split_lib_dependencies_apk.apk (deleted) (com.google.ar.sceneform.rendering.SkeletonRig.createInstance)
    #26 pc 002661c9  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+521)
    #27 pc 0026c79c  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+220)
    #28 pc 00293e2b  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1019)
    #29 pc 002d75be  /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE0ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+158)
    #30 pc 002d1001  /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+73761)
    #31 pc 005f7762  /system/lib/libart.so (ExecuteSwitchImplAsm+18)
    #32 pc 002cdaa4  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/pro.streem.now-pB5XqMH9YchJ-_r7GB0REg==/split_lib_dependencies_apk.apk (deleted) (com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.setupAnimation)
    #33 pc 002661c9  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+521)
    #34 pc 0026c79c  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+220)
    #35 pc 00293e2b  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1019)
    #36 pc 002d5fce  /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE1ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+286)
    #37 pc 002d184a  /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+75882)
    #38 pc 005f7762  /system/lib/libart.so (ExecuteSwitchImplAsm+18)
    #39 pc 002cdaf4  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/pro.streem.now-pB5XqMH9YchJ-_r7GB0REg==/split_lib_dependencies_apk.apk (deleted) (com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.setupFilamentGeometryBuffers)
    #40 pc 002661c9  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+521)
    #41 pc 0026c79c  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+220)
    #42 pc 00293e2b  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1019)
    #43 pc 002d5fce  /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE1ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+286)
    #44 pc 002d184a  /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+75882)
    #45 pc 005f7762  /system/lib/libart.so (ExecuteSwitchImplAsm+18)
    #46 pc 002cc8e0  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/pro.streem.now-pB5XqMH9YchJ-_r7GB0REg==/split_lib_dependencies_apk.apk (deleted) (com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.setupFilament)
    #47 pc 002661c9  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+521)
    #48 pc 0026c79c  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+220)
    #49 pc 00293e2b  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1019)
    #50 pc 002d5fce  /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE1ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+286)
    #51 pc 002d184a  /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+75882)
    #52 pc 005f7762  /system/lib/libart.so (ExecuteSwitchImplAsm+18)
    #53 pc 002cc8a4  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/pro.streem.now-pB5XqMH9YchJ-_r7GB0REg==/split_lib_dependencies_apk.apk (deleted) (com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.lambda$downloadAndProcessRenderable$2$LoadRenderableFromSfbTask)
    #54 pc 002661c9  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+521)
    #55 pc 0026c79c  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+220)
    #56 pc 00293e2b  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1019)
    #57 pc 002d44dd  /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE2ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+669)
    #58 pc 002d10ad  /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+73933)
    #59 pc 005f7762  /system/lib/libart.so (ExecuteSwitchImplAsm+18)
    #60 pc 002c8ed0  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/pro.streem.now-pB5XqMH9YchJ-_r7GB0REg==/split_lib_dependencies_apk.apk (deleted) (com.google.ar.sceneform.rendering.-$$Lambda$LoadRenderableFromSfbTask$0wXnjSyvkYWGOjtkSvpSQVC_azM.apply)
    #61 pc 002661c9  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+521)
    #62 pc 0026c79c  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+220)
    #63 pc 00293e2b  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1019)
    #64 pc 002d6891  /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE4ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+1425)
    #65 pc 002d0bf5  /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+72725)
    #66 pc 005f7762  /system/lib/libart.so (ExecuteSwitchImplAsm+18)
    #67 pc 001df836  /system/framework/boot.vdex (java.util.concurrent.CompletableFuture.uniApply)
    #68 pc 002661c9  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+521)
    #69 pc 0026c79c  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+220)
    #70 pc 00293e2b  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1019)
    #71 pc 002bea45  /system/lib/libart.so (bool art::interpreter::DoInvokeVirtualQuick<false>(art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+517)
    #72 pc 002cfb1a  /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+68410)
    #73 pc 005f7762  /system/lib/libart.so (ExecuteSwitchImplAsm+18)
    #74 pc 001dee60  /system/framework/boot.vdex (java.util.concurrent.CompletableFuture$UniApply.tryFire)
    #75 pc 002661c9  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+521)
    #76 pc 0026c79c  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+220)
    #77 pc 00293e2b  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1019)
    #78 pc 002bea45  /system/lib/libart.so (bool art::interpreter::DoInvokeVirtualQuick<false>(art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+517)
    #79 pc 002cfb1a  /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+68410)
    #80 pc 005f7762  /system/lib/libart.so (ExecuteSwitchImplAsm+18)
    #81 pc 001deb06  /system/framework/boot.vdex (java.util.concurrent.CompletableFuture$Completion.run)
    #82 pc 002661c9  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+521)
    #83 pc 0026c68e  /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+126)
    #84 pc 005a953d  /system/lib/libart.so (artQuickToInterpreterBridge+1277)
    #85 pc 005f6c6d  /system/lib/libart.so (art_quick_to_interpreter_bridge+77)
    #86 pc 00033312  /dev/ashmem/dalvik-jit-code-cache (deleted) (android.os.Handler.handleCallback+66)
    #87 pc 00034c41  /dev/ashmem/dalvik-jit-code-cache (deleted) (android.os.Handler.dispatchMessage+65)
    #88 pc 005f0b82  /system/lib/libart.so (art_quick_invoke_stub+338)
    #89 pc 000a30ce  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+222)
    #90 pc 0029bca2  /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+338)
    #91 pc 00293e48  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1048)
    #92 pc 002d44dd  /system/lib/libart.so (_ZN3art11interpreterL8DoInvokeILNS_10InvokeTypeE2ELb0ELb0EEEbPNS_6ThreadERNS_11ShadowFrameEPKNS_11InstructionEtPNS_6JValueE+669)
    #93 pc 002d10ad  /system/lib/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false, false>(art::interpreter::SwitchImplContext*)+73933)
    #94 pc 005f7762  /system/lib/libart.so (ExecuteSwitchImplAsm+18)
    #95 pc 00aea8c4  /system/framework/boot-framework.vdex (android.os.Looper.loop)
    #96 pc 002661c9  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+521)
    #97 pc 0026c79c  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+220)
    #98 pc 00293e2b  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1019)
    #99 pc 005bdc5f  /system/lib/libart.so (MterpInvokeStatic+207)
    #100 pc 005e2ea1  /system/lib/libart.so (ExecuteMterpImpl+14625)
    #101 pc 00384ca2  /system/framework/boot-framework.vdex (android.app.ActivityThread.main+214)
    #102 pc 00266216  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2093054539+598)
    #103 pc 0026c68e  /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+126)
    #104 pc 005a953d  /system/lib/libart.so (artQuickToInterpreterBridge+1277)
    #105 pc 005f6c6d  /system/lib/libart.so (art_quick_to_interpreter_bridge+77)
    #106 pc 005f6dff  /system/lib/libart.so
szczepanskikrs commented 5 years ago

After update to 1.9 new crashes appear on Xiaomi Mi Max 3


Revision: '0'
ABI: 'arm64'
pid: 21714, tid: 21714, name: tygames.getrekt  >>> com.realitygames.getrekt <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
    x0  0000000000000000  x1  00000000000054d2  x2  0000000000000006  x3  0000000000000008
    x4  516915001a612400  x5  516915001a612400  x6  516915001a612400  x7  8024e11a00156951
    x8  0000000000000083  x9  f5d08c271e3aa88e  x10 0000000000000000  x11 fffffffc7ffffbdf
    x12 0000000000000001  x13 0000000000000003  x14 ffffffffffffffff  x15 516915001a612400
    x16 000000716c0952b8  x17 000000716bfb4c50  x18 0000000000000010  x19 00000000000054d2
    x20 00000000000054d2  x21 00000070bc3bd56f  x22 00000070c0126200  x23 00000070ce37e738
    x24 0000000000000010  x25 000000716dc945e0  x26 00000070e7e14ca0  x27 0000000000000004
    x28 0000007fc1f29620  x29 0000007fc1f29300
    sp  0000007fc1f292c0  lr  000000716bfa80c4  pc  000000716bfa80ec

backtrace:
    #00 pc 00000000000220ec  /system/lib64/libc.so (abort+116)
    #01 pc 0000000000085d4c  /data/app/com.someapp.name-1hrC1ywR3e4hTAWczHuoNQ==/lib/arm64/libfilament-jni.so (utils::TPanic<utils::PreconditionPanic>::panic(char const*, char const*, int, char const*, ...)+204) ```
josh-burton commented 5 years ago

I'm seeing similar crashes when loading models and compiling the animation module as well.

 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
 Build fingerprint: 'google/taimen/taimen:10/QPP3.190404.015/5505587:user/release-keys'
 Revision: 'rev_10'
 ABI: 'arm'
 Timestamp: 2019-05-20 14:24:16+1200
 pid: 8868, tid: 8868, name: com.myapp  >>> com.myapp <<<
 signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr 0x72466518
     r0  eca7b680  r1  72466518  r2  00000000  r3  00000030
     r4  00000000  r5  00000000  r6  00000001  r7  00000000
     r8  00000000  r9  72466518  r10 00000030  r11 c14a211c
     ip  00000040  sp  ffc1ddb8  lr  f2e580cd  pc  ccc6252a
 backtrace:
       #00 pc 0000852a  /data/app/com.myapp-h-JDfRUBK67yBlO1ZHZVgA==/lib/arm/libsceneform_animation.so (BuildId: bd56044585b7b3f14798fab4764017)
       #01 pc 00007df5  /data/app/com.myapp-h-JDfRUBK67yBlO1ZHZVgA==/lib/arm/libsceneform_animation.so (BuildId: bd56044585b7b3f14798fab4764017)
       #02 pc 00008af7  /data/app/com.myapp-h-JDfRUBK67yBlO1ZHZVgA==/lib/arm/libsceneform_animation.so (Java_com_google_ar_sceneform_animation_ModelSkeletonRig_createSkeletonRigNative+194) (BuildId: bd56044585b7b3f14798fab4764017)
       #03 pc 000dc519  /apex/com.android.runtime/lib/libart.so (art_quick_generic_jni_trampoline+40) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #04 pc 000d7bc5  /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #05 pc 0041fea7  /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub+250) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #06 pc 000dffb3  /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+174) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #07 pc 00210049  /apex/com.android.runtime/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+280) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #08 pc 0020b73b  /apex/com.android.runtime/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+774) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #09 pc 00416e81  /apex/com.android.runtime/lib/libart.so (MterpInvokeDirect+360) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #10 pc 000d2914  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_direct+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #11 pc 001d439a  [anon:dalvik-classes3.dex extracted in memory from /data/app/com.myapp-h-JDfRUBK67yBlO1ZHZVgA==/base.apk!classes3.dex] (com.google.ar.sceneform.animation.ModelSkeletonRig.<init>+142)
       #12 pc 004170ed  /apex/com.android.runtime/lib/libart.so (MterpInvokeDirect+980) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #13 pc 000d2914  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_direct+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #14 pc 001d46d4  [anon:dalvik-classes3.dex extracted in memory from /data/app/com.myapp-h-JDfRUBK67yBlO1ZHZVgA==/base.apk!classes3.dex] (com.google.ar.sceneform.animation.f.create+4)
       #15 pc 0041511d  /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1148) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #16 pc 000d2814  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #17 pc 001ec4d4  [anon:dalvik-classes3.dex extracted in memory from /data/app/com.myapp-h-JDfRUBK67yBlO1ZHZVgA==/base.apk!classes3.dex] (com.google.ar.sceneform.rendering.SkeletonRig.createInstance+4)
       #18 pc 004177e3  /apex/com.android.runtime/lib/libart.so (MterpInvokeStatic+910) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #19 pc 000d2994  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #20 pc 001e4798  [anon:dalvik-classes3.dex extracted in memory from /data/app/com.myapp-h-JDfRUBK67yBlO1ZHZVgA==/base.apk!classes3.dex] (com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.setupAnimation+48)
       #21 pc 004170ed  /apex/com.android.runtime/lib/libart.so (MterpInvokeDirect+980) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #22 pc 000d2914  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_direct+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #23 pc 001e48ca  [anon:dalvik-classes3.dex extracted in memory from /data/app/com.myapp-h-JDfRUBK67yBlO1ZHZVgA==/base.apk!classes3.dex] (com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.setupFilamentGeometryBuffers+274)
       #24 pc 004170ed  /apex/com.android.runtime/lib/libart.so (MterpInvokeDirect+980) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #25 pc 000d2914  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_direct+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #26 pc 001e362a  [anon:dalvik-classes3.dex extracted in memory from /data/app/com.myapp-h-JDfRUBK67yBlO1ZHZVgA==/base.apk!classes3.dex] (com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.setupFilament+6)
       #27 pc 004170ed  /apex/com.android.runtime/lib/libart.so (MterpInvokeDirect+980) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #28 pc 000d2914  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_direct+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #29 pc 001e35ee  [anon:dalvik-classes3.dex extracted in memory from /data/app/com.myapp-h-JDfRUBK67yBlO1ZHZVgA==/base.apk!classes3.dex] (com.google.ar.sceneform.rendering.LoadRenderableFromSfbTask.lambda$downloadAndProcessRenderable$2$LoadRenderableFromSfbTask+6)
       #30 pc 0041511d  /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1148) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #31 pc 000d2814  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #32 pc 001dfa7c  [anon:dalvik-classes3.dex extracted in memory from /data/app/com.myapp-h-JDfRUBK67yBlO1ZHZVgA==/base.apk!classes3.dex] (com.google.ar.sceneform.rendering.-$$Lambda$LoadRenderableFromSfbTask$0wXnjSyvkYWGOjtkSvpSQVC_azM.apply+8)
       #33 pc 0041671d  /apex/com.android.runtime/lib/libart.so (MterpInvokeInterface+1432) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #34 pc 000d2a14  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_interface+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #35 pc 001d10b4  /apex/com.android.runtime/javalib/core-oj.jar (java.util.concurrent.CompletableFuture.uniApply+84)
       #36 pc 0041511d  /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1148) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #37 pc 000d2814  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #38 pc 001d04d4  /apex/com.android.runtime/javalib/core-oj.jar (java.util.concurrent.CompletableFuture$UniApply.tryFire+32)
       #39 pc 0041511d  /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1148) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #40 pc 000d2814  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #41 pc 001cfc9e  /apex/com.android.runtime/javalib/core-oj.jar (java.util.concurrent.CompletableFuture$Completion.run+2)
       #42 pc 0041671d  /apex/com.android.runtime/lib/libart.so (MterpInvokeInterface+1432) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #43 pc 000d2a14  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_interface+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #44 pc 002f1e5c  /system/framework/framework.jar (android.os.Handler.handleCallback+4)
       #45 pc 004177e3  /apex/com.android.runtime/lib/libart.so (MterpInvokeStatic+910) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #46 pc 000d2994  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #47 pc 002f1cc8  /system/framework/framework.jar (android.os.Handler.dispatchMessage+8)
       #48 pc 0041511d  /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+1148) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #49 pc 000d2814  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #50 pc 003162ea  /system/framework/framework.jar (android.os.Looper.loop+466)
       #51 pc 004177e3  /apex/com.android.runtime/lib/libart.so (MterpInvokeStatic+910) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #52 pc 000d2994  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_static+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #53 pc 0018788a  /system/framework/framework.jar (android.app.ActivityThread.main+194)
       #54 pc 001eb675  /apex/com.android.runtime/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.9302764630645467244+192) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #55 pc 001efe59  /apex/com.android.runtime/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+124) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #56 pc 004093e1  /apex/com.android.runtime/lib/libart.so (artQuickToInterpreterBridge+808) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #57 pc 000dc5a1  /apex/com.android.runtime/lib/libart.so (art_quick_to_interpreter_bridge+32) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #58 pc 000d7bc5  /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #59 pc 0041ffbb  /apex/com.android.runtime/lib/libart.so (art_quick_invoke_static_stub+246) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #60 pc 000dffc7  /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+194) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #61 pc 0036d623  /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+54) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #62 pc 0036e927  /apex/com.android.runtime/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+850) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #63 pc 0031d9bb  /apex/com.android.runtime/lib/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+30) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #64 pc 000d182f  /system/framework/arm/boot.oat (art_jni_trampoline+110) (BuildId: cfb0fb69dd9f4bf1113420e4141109a58c16f3)
       #65 pc 000d7bc5  /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #66 pc 0041fea7  /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub+250) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #67 pc 000dffb3  /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+174) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #68 pc 00210049  /apex/com.android.runtime/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+280) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #69 pc 0020b73b  /apex/com.android.runtime/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+774) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #70 pc 00414ecd  /apex/com.android.runtime/lib/libart.so (MterpInvokeVirtual+556) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #71 pc 000d2814  /apex/com.android.runtime/lib/libart.so (mterp_op_invoke_virtual+20) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #72 pc 00344c2e  /system/framework/framework.jar (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22)
       #73 pc 001eb675  /apex/com.android.runtime/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEbb.llvm.9302764630645467244+192) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #74 pc 001efe59  /apex/com.android.runtime/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+124) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #75 pc 004093e1  /apex/com.android.runtime/lib/libart.so (artQuickToInterpreterBridge+808) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #76 pc 000dc5a1  /apex/com.android.runtime/lib/libart.so (art_quick_to_interpreter_bridge+32) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #77 pc 00a9edbf  /system/framework/arm/boot-framework.oat (com.android.internal.os.ZygoteInit.main+1758) (BuildId: 1818443072b3a1549f9164ace62e2bc5a9de73)
       #78 pc 000d7bc5  /apex/com.android.runtime/lib/libart.so (art_quick_invoke_stub_internal+68) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #79 pc 0041ffbb  /apex/com.android.runtime/lib/libart.so (art_quick_invoke_static_stub+246) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #80 pc 000dffc7  /apex/com.android.runtime/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+194) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #81 pc 0036d623  /apex/com.android.runtime/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+54) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #82 pc 0036d463  /apex/com.android.runtime/lib/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+290) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #83 pc 002bba81  /apex/com.android.runtime/lib/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+460) (BuildId: f0ae7b39ac37b2ad5602c135b12351)
       #84 pc 0007d351  /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+28) (BuildId: 640b13a8cce4c41d41822f871733db)
       #85 pc 0007f6eb  /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+490) (BuildId: 640b13a8cce4c41d41822f871733db)
       #86 pc 000022ff  /system/bin/app_process32 (main+698) (BuildId: e4d39ad2bd3f6ee1067cfe719b6ab2)
       #87 pc 00059c59  /apex/com.android.runtime/lib/bionic/libc.so (__libc_init+68) (BuildId: 1bb55a5387c87757f54af55a9fe361)
       #88 pc 0000202f  /system/bin/app_process32 (_start_main+38) (BuildId: e4d39ad2bd3f6ee1067cfe719b6ab2)
       #89 pc 00004456  <anonymous:f6ba5000>
josh-burton commented 5 years ago

Would love some input from the sceneform team on this.

I've got models that work in the sample 'animation' project, but produce this crash when used in my project.

The crash gives me no information to go on and I'm at a loss as to why this is happening.

szczepanskikrs commented 5 years ago

I removed Sceneform from my project until this is fixed, and still waiting...

josh-burton commented 5 years ago

@fredsa is there a rough idea of when this might be released, or any work arounds for the mean time?

JJ-Ju commented 5 years ago

Has anyone found a work around for this issue? Or a cause rather. The AR/sceneform samples work fine for me but when I integrate it into an app it starts throwing this error.

josh-burton commented 5 years ago

In my project I narrowed it down to one of my dependencies not including 64bit native libraries. It seems sceneform animation requires it - excluding 64bit via ndk filters doesn't work.

suryanadiminti99 commented 5 years ago

I am using Sceneform 1.8.0 and OPENGL 3.2 . I have faced same issue . i am adding .sfb format animated models in my scene . It crashes sometimes . Not all the time .

ModelRenderable.builder() .setSource(this, Uri.parse("helicopter.sfb")).setRegistryId("helicopter.sfb").build() .thenAccept(renderable -> {andyRenderable = renderable;}) .exceptionally( throwable -> { Toast toast = Toast.makeText(this, "Unable to load andy renderable", Toast.LENGTH_LONG); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); return null; });

DroidSU commented 5 years ago

Has the crash been fixed yet? Started learning and then had to stop within 10 minutes. Help please!

ChanduMnS commented 4 years ago

Hi @fredsa , I'm still facing the same issue and very frequently in my moto g5 plus. I saw this is labeled a long ago. I'm using implementation 'com.google.ar:core:1.15.0' in my project. I'm loading my sfb file from cloud location. Is this recommended or is there any trouble handling like this. Your help is very much appreciated. Thanks Chandu