decompression: DecompressionTest.DecompressMemory crashes on Android
jeremyg-lunarg opened this issue · 12 comments
With #212, which adds this layer to the android build, the unit tests are crashing:
5-08 11:26:56.480 15813 15850 I VulkanExtensionLayerTests: [ RUN ] DecompressionTest.DecompressMemory
05-08 11:26:56.732 16087 16087 F DEBUG : Cmdline: com.example.VulkanExtensionLayerTests
05-08 11:26:56.732 16087 16087 F DEBUG : pid: 15813, tid: 15850, name: Thread-2 >>> com.e5-08 11:26:56.480 15813 15850 I VulkanExtensionLayerTests: [ RUN ] DecompressionTest.DecompressMemory
05-08 11:26:56.732 16087 16087 F DEBUG : Cmdline: com.example.VulkanExtensionLayerTests
05-08 11:26:56.732 16087 16087 F DEBUG : pid: 15813, tid: 15850, name: Thread-2 >>> com.example.VulkanExtensionLayerTests <<<
05-08 11:26:56.732 16087 16087 F DEBUG : #01 pc 0000000000169c48 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVkLayer_khronos_memory_decompression.so (BuildId: 549b3fc0819d10c6728c41bff1e8db0c0d5328b0)
05-08 11:26:56.732 16087 16087 F DEBUG : #02 pc 000000000016a624 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVkLayer_khronos_memory_decompression.so (BuildId: 549b3fc0819d10c6728c41bff1e8db0c0d5328b0)
05-08 11:26:56.732 16087 16087 F DEBUG : #05 pc 00000000002774a0 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #06 pc 0000000000290610 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #07 pc 000000000028e9b0 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #08 pc 0000000000271bb4 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #09 pc 000000000028822c /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #10 pc 00000000002b26a4 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (testing::Test::Run()+104) (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #11 pc 00000000002b3c78 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (testing::TestInfo::Run()+724) (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #12 pc 00000000002b4598 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (testing::TestSuite::Run()+352) (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #13 pc 00000000002c4920 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (testing::internal::UnitTestImpl::RunAllTests()+1504) (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #14 pc 00000000002c42f0 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (testing::UnitTest::Run()+312) (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #15 pc 0000000000273604 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #16 pc 000000000029c330 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)xample.VulkanExtensionLayerTests <<<
05-08 11:26:56.732 16087 16087 F DEBUG : #01 pc 0000000000169c48 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVkLayer_khronos_memory_decompression.so (BuildId: 549b3fc0819d10c6728c41bff1e8db0c0d5328b0)
05-08 11:26:56.732 16087 16087 F DEBUG : #02 pc 000000000016a624 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVkLayer_khronos_memory_decompression.so (BuildId: 549b3fc0819d10c6728c41bff1e8db0c0d5328b0)
05-08 11:26:56.732 16087 16087 F DEBUG : #05 pc 00000000002774a0 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #06 pc 0000000000290610 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #07 pc 000000000028e9b0 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #08 pc 0000000000271bb4 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #09 pc 000000000028822c /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #10 pc 00000000002b26a4 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (testing::Test::Run()+104) (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #11 pc 00000000002b3c78 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (testing::TestInfo::Run()+724) (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #12 pc 00000000002b4598 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (testing::TestSuite::Run()+352) (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #13 pc 00000000002c4920 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (testing::internal::UnitTestImpl::RunAllTests()+1504) (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #14 pc 00000000002c42f0 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (testing::UnitTest::Run()+312) (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #15 pc 0000000000273604 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)
05-08 11:26:56.732 16087 16087 F DEBUG : #16 pc 000000000029c330 /data/app/~~iSBtMnAJGycGA519USOzeQ==/com.example.VulkanExtensionLayerTests-xJiASMywsAdNfqkfP58EBg==/lib/arm64/libVulkanExtensionLayerTests.so (BuildId: 928cddb675104a740e7c22970a536c453077d203)
@vkushwaha-nv can you please look at this? I would assign to you but there's some sort of group access problem that is preventing me from doing that. I'll try to figure that part out.
@vkushwaha-nv please join https://github.com/orgs/KhronosGroup/teams/vulkan/members so that I can assign issues to you.
I updated the access permissions for this repo. You can assign them now.
Since I saw the passing builds on mac and Android, I assumed the tests were passing as well. I see you enabled it manually on Android. Should this be enabled on Linux and Mac as well or is it already enabled and passing there?
Since I saw the passing builds on mac and Android, I assumed the tests were passing as well. I see you enabled it manually on Android. Should this be enabled on Linux and Mac as well or is it already enabled and passing there?
Android doesn't use cmake, every other platform does. So it is the only special case.
Which GPU is this running on? Are there more logs / validation warnings that I can look at?
Which GPU is this running on? Are there more logs / validation warnings that I can look at?
We have 1 android device where your tests pass, which is a Galaxy S22.
The crash happens on Pixel6, Pixel3, Galaxy S10, and Shield TV. Hopefully you have access to at least one of those, because it won't really be practical for you to keep throwing things over the wall and waiting for logs.
Only Shield TV has anything interesting in logcat:
05-08 11:52:14.056 8367 8384 I VulkanExtensionLayerTests: [ RUN ] DecompressionTest.DecompressMemory
05-08 11:52:14.063 8367 8384 I vulkan : Loaded layer VK_LAYER_KHRONOS_memory_decompression
05-08 11:52:14.132 8367 8384 E vulkan : internal vkGetInstanceProcAddr called for vkCreateInstance with an instance
05-08 11:52:14.147 8367 8384 I ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 1
05-08 11:52:14.148 8367 8384 I chatty : uid=19423(com.example.VulkanExtensionLayerTests) identical 23 lines
05-08 11:52:14.148 8367 8384 I ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 1
05-08 11:52:14.148 8367 8384 I VulkanExtensionLayerTests: *** Failure in jni/../../tests/vktestbinding.cpp:294 Failed
05-08 11:52:14.148 8367 8384 I VulkanExtensionLayerTests: Assertion: `vk::CreateDevice(phy_.handle(), &info, __null, &dev) == VK_SUCCESS'
--------- beginning of crash
05-08 11:52:14.148 8367 8384 F libc : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 8384 (Thread-2), pid 8367 (nsionLayerTests)
05-08 11:52:14.197 8468 8468 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
05-08 11:52:14.197 3446 3446 I /system/bin/tombstoned: received crash request for pid 8384
05-08 11:52:14.198 8468 8468 I crash_dump64: performing dump of process 8367 (target tid = 8384)
05-08 11:52:14.206 8468 8468 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
My apologies for requesting logs. Unfortunately, I don’t have access to all platforms/OSes in my working environment. There was a confusion last time because of different driver build and that took some back and forth because we were running on different driver versions. All I really need is a log on the failing system with env variable “VK_MEMORY_DECOMPRESSION_LOGGING=1”
@vkushwaha-nv would setting the environment variable work for Android?
I haven't run the layer on Android, but either of these should work
Env variable: debug.vulkan.decompression.logging=true
or
Add this in vk_layer_settings.txt: khronos_memory_decompression.logging=true
Currently running a job with those env variables enabled.
Here is the full dump for the Android job:
archive.zip
Looks like a nullptr issue.
@vkushwaha-nv we just added LunarG CI Checkrun
to dump the output of internal jenkins to the public facing github.
See this PR for an example:
#219
So you should be able to develop against CI for now.