Rocky runs but cannot see any earth.
Closed this issue · 18 comments
So I just built rocky on my Ubuntu 22.04 using vcpkg. I tried running rocky_demo but only the menu window appears but nothing else. The terminal prints out these line:
[rocky info] PROJ says: proj_create_from_wkt: missing [
[rocky info] PROJ says: proj_create_from_wkt: missing [
[rocky info] PROJ says: proj_create_from_wkt: missing [
[rocky info] PROJ says: proj_create_from_wkt: missing [
[rocky info] PROJ says: proj_create_from_wkt: whitespace only string
[vsg info] texel_margin = 12
[vsg info] quad_margin = 6
[vsg info] [Vulkan] vkCreateDevice layer callstack setup to:
[vsg info] [Vulkan]
[vsg info] [Vulkan] ||
[vsg info] [Vulkan]
[vsg info] [Vulkan] ||
[vsg info] [Vulkan]
[vsg info] [Vulkan] Using "NVIDIA T1000" with driver: "libGLX_nvidia.so.0"
ASSERTION FAILURE (getAllKeysAtLOD @ Profile.cpp:241) profile.valid() ...
[rocky info] Removing window...
[rocky info] All windows closed... shutting down.
What could be the problem?
Great question :)
Please run rocky_demo --version-all
and post the output.
Also, I would like to see your Version.h
file that was created and installed in the rocky include folder.
You can also try a map with local data, in case there's a networking problem:
rocky_demo --map data/geotiff.map.json
So rocky_demo --version-all
gives the output:
[rocky info] PROJ says: proj_create_from_wkt: missing [
[rocky info] PROJ says: proj_create_from_wkt: missing [
[rocky info] PROJ says: proj_create_from_wkt: missing [
[rocky info] PROJ says: proj_create_from_wkt: whitespace only string
[vsg info] texel_margin = 12
[vsg info] quad_margin = 6
cpp_httplib 0.18.0
entt 3.13.2
gdal 3.9.2
glm 1.0.1.0
imgui 1.91.0
nlohmann_json 3.11
openssl 3.3.2
proj 9.4
rocky 0.3.6
spdlog 1.14.1
sqlite 3.46.1
vsgxchange 1.0.5
vulkanscenegraph 1.1.8
weejobs 1.0.1
zlib 1.3.1```
The Version.h file is:
```/**
* rocky c++
* Copyright 2023 Pelican Mapping
* MIT License
*/
#pragma once
// Do not edit me!
// CMake generated this file from "Version.h.in" - edit that instead.
#define ROCKY_PROJECT_NAME "rocky"
#define ROCKY_PROJECT_DESCRIPTION "Rocky by Pelican Mapping"
#define ROCKY_VERSION_MAJOR 0
#define ROCKY_VERSION_MINOR 3
#define ROCKY_VERSION_REV 6
#define ROCKY_VERSION_ABI 109
#define ROCKY_SOVERSION 109
#define ROCKY_STR_NX(s) #s
#define ROCKY_STR(s) ROCKY_STR_NX(s)
#define ROCKY_COMPUTE_VERSION(major, minor, rev) ((major) * 10000 + (minor) * 100 + (rev))
#define ROCKY_VERSION_NUMBER ROCKY_COMPUTE_VERSION(ROCKY_VERSION_MAJOR, ROCKY_VERSION_MINOR, ROCKY_VERSION_REV)
#define ROCKY_VERSION_STRING ROCKY_STR(ROCKY_VERSION_MAJOR) "." ROCKY_STR(ROCKY_VERSION_MINOR) "." ROCKY_STR(ROCKY_VERSION_REV)
#define ROCKY_VERSION_BEFORE(major, minor, rev) ROCKY_VERSION_NUMBER < ROCKY_COMPUTE_VERSION(major, minor, rev)
#define ROCKY_VERSION_AT_LEAST(major, minor, rev) ROCKY_VERSION_NUMBER >= ROCKY_COMPUTE_VERSION(major, minor, rev))
// Dependency defines
#define ROCKY_HAS_GLM
#define ROCKY_HAS_PROJ
#define ROCKY_HAS_SPDLOG
#define ROCKY_HAS_JSON
#define ROCKY_HAS_HTTPLIB
#define ROCKY_HAS_OPENSSL
#define ROCKY_HAS_GDAL
#define ROCKY_HAS_SQLITE
#define ROCKY_HAS_ZLIB
#define ROCKY_HAS_TMS
#define ROCKY_HAS_MBTILES
#define ROCKY_HAS_AZURE
#define ROCKY_HAS_BING
#define ROCKY_HAS_GEOCODER
#define ROCKY_HAS_VSG
#define ROCKY_HAS_VSGXCHANGE
#define ROCKY_HAS_ENTT
/* #undef ROCKY_HAS_GLSLANG */
rocky_demo --map data/geotiff.map.json
gives the same problem.
Maybe you need to set your PROJ_DATA
environment var to point at the PROJ share dir. If you installed from vcpkg it should be in you vcpkg installed folder, under share/proj
I already did.
echo $PROJ_DATA
/home/longtt/.VSG/rocky/build/vcpkg_installed/x64-linux/share/proj
I also already downloaded the PROJ-data repo on github to this folder.
Try pulling the latest rocky, and run it with the log level argument. Maybe this will reveal why PROJ is failing.
rocky_demo --log-level debug
So I have rebuilt and run like you said and the messages are:
[rocky info] PROJ says: proj_create_from_wkt: missing [
[rocky info] PROJ says: proj_create_from_wkt: missing [
[rocky info] PROJ says: proj_create_from_wkt: missing [
[rocky info] PROJ says: proj_create_from_wkt: whitespace only string
[vsg info] texel_margin = 12
[vsg info] quad_margin = 6
[vsg info] [Vulkan] vkCreateDevice layer callstack setup to:
[vsg info] [Vulkan] <Application>
[vsg info] [Vulkan] ||
[vsg info] [Vulkan] <Loader>
[vsg info] [Vulkan] ||
[vsg info] [Vulkan] <Device>
[vsg info] [Vulkan] Using "NVIDIA T1000" with driver: "libGLX_nvidia.so.0"
[rocky debug] Layer "" profile set to {"extent":{"srs":"EPSG:4326+5773","xmax":180.0,"xmin":-180.0,"ymax":90.0,"ymin":-90.0},"tx":2,"ty":1}
[rocky debug] Layer "ReadyMap 15m Base Imagery" status = OK
[rocky debug] Layer "" profile set to {"extent":{"srs":"EPSG:4326+5773","xmax":180.0,"xmin":-180.0,"ymax":90.0,"ymin":-90.0},"tx":2,"ty":1}
[rocky debug] Layer "ReadyMap 90m Elevation" status = OK
ASSERTION FAILURE (getAllKeysAtLOD @ Profile.cpp:241) profile.valid() ...
[rocky info] Removing window...
[rocky info] All windows closed... shutting down.```
I'm not able to reproduce this on either Windows or WSL2 Ubuntu. The only course of action I can think of is to set a debugger breakpoint or examine the code and figure out why PROJ is getting an empty string. The function in question is here:
https://github.com/pelicanmapping/rocky/blob/main/src/rocky/SRS.cpp#L129
Any luck with this?
So I found that I have another version of proj on my computer, so I deleted it and tried to rebuild. Currently with latest rocky pull I have several error while building which may be related to the version of gcc I am using:
/home/longtt/.VSG/rocky/src/rocky/AzureImageLayer.cpp:111:27: error: ambiguous overload for ‘operator<<’ (operand types are ‘std::basic_ostream<char>’ and ‘const rocky::optional<unsigned int>’)
111 | query << "&tileSize=" << tileSize();
| ~~~~~~~~~~~~~~~~~~~~~ ^~ ~~~~~~~~~~
| | |
| std::basic_ostream<char> const rocky::optional<unsigned int>
and
/home/longtt/.VSG/rocky/src/rocky/vsg/ECS.h: In constructor ‘rocky::ECS::SystemNode<T>::SystemNode(entt::registry&)’:
/home/longtt/.VSG/rocky/src/rocky/vsg/ECS.h:307:9: error: class ‘rocky::ECS::SystemNode<T>’ does not have any field named ‘Inherit’
307 | Inherit(), System(in_registry)
| ^~~~~~~
/home/longtt/.VSG/rocky/src/rocky/vsg/ECS.h: In instantiation of ‘rocky::ECS::SystemNode<T>::~SystemNode() [with T = rocky::Line]’:
/home/longtt/.VSG/release/include/vsg/core/Inherit.h:27:11: required from here
/home/longtt/.VSG/rocky/src/rocky/vsg/ECS.h:316:46: error: invalid operands of types ‘<unresolved overloaded function type>’ and ‘void (rocky::ECS::SystemNode<rocky::Line>::*)(entt::registry&, entt::entity)’ {aka ‘void (rocky::ECS::SystemNode<rocky::Line>::*)(entt::basic_registry<>&, entt::entity)’} to binary ‘operator<’
316 | registry.on_construct<T>().disconnect<&SystemNode<T>::onConstruct>(*this);
May I ask which version of gcc and g++ are you using for rocky on Ubuntu?
Thanks.
We develop on Windows with VS 2022, so sometimes the gcc compiler errors lag behind.
On Linux we use Ubuntu 22.04.
I just pushed an update that will hopefully fix your issues.
Ok so I managed to build rocky, but rocky_demo debug throws these errors which seems unrelated to the previous issues
[vsg info] texel_margin = 12
[vsg info] quad_margin = 6
[vsg info] [Vulkan] Inserted device layer "VK_LAYER_KHRONOS_validation" (libVkLayer_khronos_validation.so)
[vsg info] [Vulkan] Failed to find vkGetDeviceProcAddr in layer "libVkLayer_MESA_device_select.so"
[vsg info] [Vulkan] vkCreateDevice layer callstack setup to:
[vsg info] [Vulkan] <Application>
[vsg info] [Vulkan] ||
[vsg info] [Vulkan] <Loader>
[vsg info] [Vulkan] ||
[vsg info] [Vulkan] VK_LAYER_KHRONOS_validation
[vsg info] [Vulkan] Type: Explicit
[vsg info] [Vulkan] Manifest: /usr/share/vulkan/explicit_layer.d/VkLayer_khronos_validation.json
[vsg info] [Vulkan] Library: libVkLayer_khronos_validation.so
[vsg info] [Vulkan] ||
[vsg info] [Vulkan] <Device>
[vsg info] [Vulkan] Using "NVIDIA T1000" with driver: "libGLX_nvidia.so.0"
[vsg error] [Vulkan] Validation Error: [ VUID-RuntimeSpirv-NonWritable-06341 ] Object 0: handle = 0x85798b0000000067, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x116350f | vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[0] SPIR-V (VK_SHADER_STAGE_VERTEX_BIT) uses descriptor [Set 1, Binding 1, variable "vsg_viewports"] (type VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC) which is not marked with NonWritable, but vertexPipelineStoresAndAtomics was not enabled.
The Vulkan spec states: If vertexPipelineStoresAndAtomics is not enabled, then all storage image, storage texel buffer, and storage buffer variables in the vertex, tessellation, and geometry stages must be decorated with the NonWritable decoration (https://vulkan.lunarg.com/doc/view/1.3.296.0/linux/1.3-extensions/vkspec.html#VUID-RuntimeSpirv-NonWritable-06341)
[rocky error] Validation Error: [ VUID-RuntimeSpirv-NonWritable-06341 ] Object 0: handle = 0x85798b0000000067, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x116350f | vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[0] SPIR-V (VK_SHADER_STAGE_VERTEX_BIT) uses descriptor [Set 1, Binding 1, variable "vsg_viewports"] (type VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC) which is not marked with NonWritable, but vertexPipelineStoresAndAtomics was not enabled.
The Vulkan spec states: If vertexPipelineStoresAndAtomics is not enabled, then all storage image, storage texel buffer, and storage buffer variables in the vertex, tessellation, and geometry stages must be decorated with the NonWritable decoration (https://vulkan.lunarg.com/doc/view/1.3.296.0/linux/1.3-extensions/vkspec.html#VUID-RuntimeSpirv-NonWritable-06341)
[vsg error] [Vulkan] Validation Error: [ VUID-RuntimeSpirv-NonWritable-06341 ] Object 0: handle = 0x85798b0000000067, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x116350f | vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[0] SPIR-V (VK_SHADER_STAGE_VERTEX_BIT) uses descriptor [Set 1, Binding 1, variable "vsg_viewports"] (type VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC) which is not marked with NonWritable, but vertexPipelineStoresAndAtomics was not enabled.
The Vulkan spec states: If vertexPipelineStoresAndAtomics is not enabled, then all storage image, storage texel buffer, and storage buffer variables in the vertex, tessellation, and geometry stages must be decorated with the NonWritable decoration (https://vulkan.lunarg.com/doc/view/1.3.296.0/linux/1.3-extensions/vkspec.html#VUID-RuntimeSpirv-NonWritable-06341)
[rocky error] Validation Error: [ VUID-RuntimeSpirv-NonWritable-06341 ] Object 0: handle = 0x85798b0000000067, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x116350f | vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[0] SPIR-V (VK_SHADER_STAGE_VERTEX_BIT) uses descriptor [Set 1, Binding 1, variable "vsg_viewports"] (type VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC) which is not marked with NonWritable, but vertexPipelineStoresAndAtomics was not enabled.
The Vulkan spec states: If vertexPipelineStoresAndAtomics is not enabled, then all storage image, storage texel buffer, and storage buffer variables in the vertex, tessellation, and geometry stages must be decorated with the NonWritable decoration (https://vulkan.lunarg.com/doc/view/1.3.296.0/linux/1.3-extensions/vkspec.html#VUID-RuntimeSpirv-NonWritable-06341)
[vsg error] [Vulkan] Validation Error: [ VUID-RuntimeSpirv-NonWritable-06341 ] Object 0: handle = 0x2d93ac000000006f, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x116350f | vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[0] SPIR-V (VK_SHADER_STAGE_VERTEX_BIT) uses descriptor [Set 1, Binding 1, variable "vsg_viewports"] (type VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC) which is not marked with NonWritable, but vertexPipelineStoresAndAtomics was not enabled.
The Vulkan spec states: If vertexPipelineStoresAndAtomics is not enabled, then all storage image, storage texel buffer, and storage buffer variables in the vertex, tessellation, and geometry stages must be decorated with the NonWritable decoration (https://vulkan.lunarg.com/doc/view/1.3.296.0/linux/1.3-extensions/vkspec.html#VUID-RuntimeSpirv-NonWritable-06341)
[rocky error] Validation Error: [ VUID-RuntimeSpirv-NonWritable-06341 ] Object 0: handle = 0x2d93ac000000006f, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x116350f | vkCreateGraphicsPipelines(): pCreateInfos[0].pStages[0] SPIR-V (VK_SHADER_STAGE_VERTEX_BIT) uses descriptor [Set 1, Binding 1, variable "vsg_viewports"] (type VK_DESCRIPTOR_TYPE_STORAGE_BUFFER or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC) which is not marked with NonWritable, but vertexPipelineStoresAndAtomics was not enabled.
The Vulkan spec states: If vertexPipelineStoresAndAtomics is not enabled, then all storage image, storage texel buffer, and storage buffer variables in the vertex, tessellation, and geometry stages must be decorated with the NonWritable decoration (https://vulkan.lunarg.com/doc/view/1.3.296.0/linux/1.3-extensions/vkspec.html#VUID-RuntimeSpirv-NonWritable-06341)
Segmentation fault (core dumped)
Can you please post a gdb stack trace?
gdb rocky_demo
(gdb) run
(gdb) bt
By the way, have you tried building and running the apps in vsgExamples ? It would be nice to know if you can run basic VSG stuff before trying to debug Rocky.
At least vsgmaths, vsgdraw, vsgcameras, vsgbuilder, vsgtext, vsgtexturearray run just fine. Here are the gdb output:
(gdb) run
Starting program: /home/longtt/.VSG/release/rocky/bin/rocky_demo
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/x86_64-linux-gnu/libthread_db.so.1".
[vsg info] texel_margin = 12
[vsg info] quad_margin = 6
[vsg info] [Vulkan] Failed to find vkGetDeviceProcAddr in layer "libVkLayer_MESA_device_select.so"
[vsg info] [Vulkan] vkCreateDevice layer callstack setup to:
[vsg info] [Vulkan] <Application>
[vsg info] [Vulkan] ||
[vsg info] [Vulkan] <Loader>
[vsg info] [Vulkan] ||
[vsg info] [Vulkan] <Device>
[vsg info] [Vulkan] Using "NVIDIA T1000" with driver: "libGLX_nvidia.so.0"
[New Thread 0x7fffe1e00640 (LWP 790097)]
[New Thread 0x7fffe1400640 (LWP 790098)]
[New Thread 0x7fffd9800640 (LWP 790099)]
[New Thread 0x7fffd8e00640 (LWP 790100)]
[New Thread 0x7fffd1400640 (LWP 790101)]
[New Thread 0x7fffd0a00640 (LWP 790102)]
[New Thread 0x7fffc7e00640 (LWP 790103)]
[New Thread 0x7fffc7400640 (LWP 790104)]
[New Thread 0x7fffc6a00640 (LWP 790105)]
[New Thread 0x7fffc6000640 (LWP 790106)]
[New Thread 0x7fffc5600640 (LWP 790107)]
[New Thread 0x7fffc4c00640 (LWP 790108)]
Thread 1 "rocky_demo" received signal SIGSEGV, Segmentation fault.
0x00007ffff6aeaee2 in vsg::createBufferAndTransferData(vsg::Context&, std::vector<vsg::ref_ptr<vsg::BufferInfo>, std::allocator<vsg::ref_ptr<vsg::BufferInfo> > > const&, unsigned int, VkSharingMode) () from /home/longtt/.VSG/release/lib/libvsg.so.14
(gdb) bt
#0 0x00007ffff6aeaee2 in vsg::createBufferAndTransferData(vsg::Context&, std::vector<vsg::ref_ptr<vsg::BufferInfo>, std::allocator<vsg::ref_ptr<vsg::BufferInfo> > > const&, unsigned int, VkSharingMode) ()
from /home/longtt/.VSG/release/lib/libvsg.so.14
#1 0x00007ffff6aa8fe9 in vsg::Geometry::compile(vsg::Context&) () from /home/longtt/.VSG/release/lib/libvsg.so.14
#2 0x00007ffff6c20309 in vsg::CompileTraversal::apply(vsg::Geometry&) () from /home/longtt/.VSG/release/lib/libvsg.so.14
#3 0x00007ffff79f4b4c in vsg::Inherit<vsg::Geometry, rocky::SharedGeometry>::accept(vsg::Visitor&) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#4 0x00007ffff6abdbb0 in vsg::StateGroup::traverse(vsg::Visitor&) () from /home/longtt/.VSG/release/lib/libvsg.so.14
#5 0x00005555556de0cf in void vsg::Group::t_traverse<vsg::Group, vsg::Visitor>(vsg::Group&, vsg::Visitor&) ()
#6 0x00005555556ddc0d in vsg::Group::traverse(vsg::Visitor&) ()
#7 0x00007ffff7a71b1c in vsg::Inherit<vsg::MatrixTransform, rocky::SurfaceNode>::accept(vsg::Visitor&) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#8 0x00005555556de0cf in void vsg::Group::t_traverse<vsg::Group, vsg::Visitor>(vsg::Group&, vsg::Visitor&) ()
#9 0x00005555556ddc0d in vsg::Group::traverse(vsg::Visitor&) ()
#10 0x00007ffff7a83234 in vsg::Inherit<vsg::CullGroup, rocky::TerrainTileNode>::accept(vsg::Visitor&) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#11 0x00005555556de0cf in void vsg::Group::t_traverse<vsg::Group, vsg::Visitor>(vsg::Group&, vsg::Visitor&) ()
#12 0x00005555556ddc0d in vsg::Group::traverse(vsg::Visitor&) ()
#13 0x00007ffff6abdbb0 in vsg::StateGroup::traverse(vsg::Visitor&) () from /home/longtt/.VSG/release/lib/libvsg.so.14
#14 0x00007ffff6bdcdea in vsg::CompileManager::compile(vsg::ref_ptr<vsg::Object>, std::function<bool (vsg::Context&)>)::{lambda()#1}::operator()() const () from /home/longtt/.VSG/release/lib/libvsg.so.14
#15 0x00007ffff6bdde9a in vsg::CompileManager::compile(vsg::ref_ptr<vsg::Object>, std::function<bool (vsg::Context&)>) () from /home/longtt/.VSG/release/lib/libvsg.so.14
#16 0x00007ffff7a59b52 in rocky::Runtime::compile(vsg::ref_ptr<vsg::Object>) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#17 0x00007ffff7a733ea in rocky::TerrainNode::createRootTiles(rocky::IOOptions const&) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#18 0x00007ffff7a73569 in rocky::TerrainNode::update(vsg::FrameStamp const*, rocky::IOOptions const&) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#19 0x00007ffff79d23e6 in rocky::MapNode::update(vsg::FrameStamp const*) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#20 0x00007ffff793b0df in (anonymous namespace)::AppUpdateOperation::run() () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#21 0x00007ffff6c1784f in vsg::UpdateOperations::run() () from /home/longtt/.VSG/release/lib/libvsg.so.14
#22 0x00007ffff6be5436 in vsg::Viewer::update() () from /home/longtt/.VSG/release/lib/libvsg.so.14
#23 0x00007ffff793b644 in rocky::Application::frame() () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#24 0x00007ffff793b42f in rocky::Application::run() () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#25 0x000055555563ca74 in main ()
This commit 2c26714 will hopefully solve the Validation Errors you are seeing on startup.
Please test.
No idea if that is the cause of the VSG compilation crash though.
While the validation error was suppressed, I still get the segmentation fault. The gdb trace remains the same:
rocky_demo --debug
[vsg info] texel_margin = 12
[vsg info] quad_margin = 6
[vsg info] [Vulkan] Inserted device layer "VK_LAYER_KHRONOS_validation" (libVkLayer_khronos_validation.so)
[vsg info] [Vulkan] Failed to find vkGetDeviceProcAddr in layer "libVkLayer_MESA_device_select.so"
[vsg info] [Vulkan] vkCreateDevice layer callstack setup to:
[vsg info] [Vulkan] <Application>
[vsg info] [Vulkan] ||
[vsg info] [Vulkan] <Loader>
[vsg info] [Vulkan] ||
[vsg info] [Vulkan] VK_LAYER_KHRONOS_validation
[vsg info] [Vulkan] Type: Explicit
[vsg info] [Vulkan] Manifest: /usr/share/vulkan/explicit_layer.d/VkLayer_khronos_validation.json
[vsg info] [Vulkan] Library: libVkLayer_khronos_validation.so
[vsg info] [Vulkan] ||
[vsg info] [Vulkan] <Device>
[vsg info] [Vulkan] Using "NVIDIA T1000" with driver: "libGLX_nvidia.so.0"
Segmentation fault (core dumped)
(gdb) run
Starting program: /home/longtt/.VSG/release/rocky/bin/rocky_demo
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/x86_64-linux-gnu/libthread_db.so.1".
[vsg info] texel_margin = 12
[vsg info] quad_margin = 6
[vsg info] [Vulkan] Failed to find vkGetDeviceProcAddr in layer "libVkLayer_MESA_device_select.so"
[vsg info] [Vulkan] vkCreateDevice layer callstack setup to:
[vsg info] [Vulkan] <Application>
[vsg info] [Vulkan] ||
[vsg info] [Vulkan] <Loader>
[vsg info] [Vulkan] ||
[vsg info] [Vulkan] <Device>
[vsg info] [Vulkan] Using "NVIDIA T1000" with driver: "libGLX_nvidia.so.0"
[New Thread 0x7fffe1e00640 (LWP 859885)]
[New Thread 0x7fffe1400640 (LWP 859886)]
[New Thread 0x7fffd9800640 (LWP 859887)]
[New Thread 0x7fffd8e00640 (LWP 859888)]
[New Thread 0x7fffd1400640 (LWP 859889)]
[New Thread 0x7fffd0a00640 (LWP 859890)]
[New Thread 0x7fffc7e00640 (LWP 859891)]
[New Thread 0x7fffc7400640 (LWP 859892)]
[New Thread 0x7fffc6a00640 (LWP 859893)]
[New Thread 0x7fffc6000640 (LWP 859894)]
[New Thread 0x7fffc5600640 (LWP 859895)]
[New Thread 0x7fffc4c00640 (LWP 859896)]
Thread 1 "rocky_demo" received signal SIGSEGV, Segmentation fault.
0x00007ffff6aeaee2 in vsg::createBufferAndTransferData(vsg::Context&, std::vector<vsg::ref_ptr<vsg::BufferInfo>, std::allocator<vsg::ref_ptr<vsg::BufferInfo> > > const&, unsigned int, VkSharingMode) () from /home/longtt/.VSG/release/lib/libvsg.so.14
(gdb) bt
#0 0x00007ffff6aeaee2 in vsg::createBufferAndTransferData(vsg::Context&, std::vector<vsg::ref_ptr<vsg::BufferInfo>, std::allocator<vsg::ref_ptr<vsg::BufferInfo> > > const&, unsigned int, VkSharingMode) ()
from /home/longtt/.VSG/release/lib/libvsg.so.14
#1 0x00007ffff6aa8fe9 in vsg::Geometry::compile(vsg::Context&) () from /home/longtt/.VSG/release/lib/libvsg.so.14
#2 0x00007ffff6c20309 in vsg::CompileTraversal::apply(vsg::Geometry&) () from /home/longtt/.VSG/release/lib/libvsg.so.14
#3 0x00007ffff79f4b4c in vsg::Inherit<vsg::Geometry, rocky::SharedGeometry>::accept(vsg::Visitor&) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#4 0x00007ffff6abdbb0 in vsg::StateGroup::traverse(vsg::Visitor&) () from /home/longtt/.VSG/release/lib/libvsg.so.14
#5 0x00005555556de0cf in void vsg::Group::t_traverse<vsg::Group, vsg::Visitor>(vsg::Group&, vsg::Visitor&) ()
#6 0x00005555556ddc0d in vsg::Group::traverse(vsg::Visitor&) ()
#7 0x00007ffff7a71b1c in vsg::Inherit<vsg::MatrixTransform, rocky::SurfaceNode>::accept(vsg::Visitor&) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#8 0x00005555556de0cf in void vsg::Group::t_traverse<vsg::Group, vsg::Visitor>(vsg::Group&, vsg::Visitor&) ()
#9 0x00005555556ddc0d in vsg::Group::traverse(vsg::Visitor&) ()
#10 0x00007ffff7a83234 in vsg::Inherit<vsg::CullGroup, rocky::TerrainTileNode>::accept(vsg::Visitor&) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#11 0x00005555556de0cf in void vsg::Group::t_traverse<vsg::Group, vsg::Visitor>(vsg::Group&, vsg::Visitor&) ()
#12 0x00005555556ddc0d in vsg::Group::traverse(vsg::Visitor&) ()
#13 0x00007ffff6abdbb0 in vsg::StateGroup::traverse(vsg::Visitor&) () from /home/longtt/.VSG/release/lib/libvsg.so.14
#14 0x00007ffff6bdcdea in vsg::CompileManager::compile(vsg::ref_ptr<vsg::Object>, std::function<bool (vsg::Context&)>)::{lambda()#1}::operator()() const () from /home/longtt/.VSG/release/lib/libvsg.so.14
#15 0x00007ffff6bdde9a in vsg::CompileManager::compile(vsg::ref_ptr<vsg::Object>, std::function<bool (vsg::Context&)>) () from /home/longtt/.VSG/release/lib/libvsg.so.14
#16 0x00007ffff7a59b52 in rocky::Runtime::compile(vsg::ref_ptr<vsg::Object>) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#17 0x00007ffff7a733ea in rocky::TerrainNode::createRootTiles(rocky::IOOptions const&) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#18 0x00007ffff7a73569 in rocky::TerrainNode::update(vsg::FrameStamp const*, rocky::IOOptions const&) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#19 0x00007ffff79d23e6 in rocky::MapNode::update(vsg::FrameStamp const*) () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#20 0x00007ffff793b0df in (anonymous namespace)::AppUpdateOperation::run() () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#21 0x00007ffff6c1784f in vsg::UpdateOperations::run() () from /home/longtt/.VSG/release/lib/libvsg.so.14
#22 0x00007ffff6be5436 in vsg::Viewer::update() () from /home/longtt/.VSG/release/lib/libvsg.so.14
#23 0x00007ffff793b644 in rocky::Application::frame() () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#24 0x00007ffff793b42f in rocky::Application::run() () from /home/longtt/.VSG/release/rocky/lib/librocky.so.113
#25 0x000055555563ca74 in main ()
For what it's worth, here is the full api dump.
api_dump.txt
I'm afraid I am at a loss on this one...
If you are handy with gdb (I am not) perhaps you can query some of the member variables in vsg::Geometry
to see if something's null or uninitialized. Beyond that I can only suggest posting something on VSG Discussions to see if anyone has any tips.
With the latest pull I am able to run rocky now, so I am closing this issue