Details
-
Bug
-
Resolution: Incomplete
-
P2: Important
-
None
-
5.10.0
-
None
-
Ubuntu 16.04
LunarG Vulkan SDK 1.0.65.0
NVidia driver 384.111
GNU Make 4.1
GNU gdb 7.11.1
Description
Hello team,
I have created a simple program that can expose a Vulkan context based on the example “hellovulkancubes” supplied with the version 5.10.0 and I got a SIGABRT error.
The example “hellovulkancubes” compile fine and execute without problem on my machine. So I conclude that there is no problem in the linking or with qmake.
I copied most of the classes from “hellovulkancubes” to start with. I mainly changed the QVulkanWindowRenderer-derived class to test my own shaders and to load different meshes. But my program crashes even before it draw or initialized any Vulkan stuff I wrote.
In fact, it seems to crash at the initialization of the QVulkanWindow but I am no expert in reading a backstack and all the intricate Qt functions calls so I post you the stack (I used gdb to debbug) :
// code placeholder Thread 1 "visionneuse_qt" received signal SIGABRT, Aborted. #0 0x00007ffff6250428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 #1 0x00007ffff625202a in __GI_abort () at abort.c:89 #2 0x00007ffff62927ea in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7ffff63abed8 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175 #3 0x00007ffff629d970 in malloc_printerr (ar_ptr=0x7ffff65dfb20 <main_arena>, ptr=0x967620, str=0x7ffff63a8c92 "corrupted double-linked list", action=<optimized out>) at malloc.c:5006 #4 _int_malloc (av=av@entry=0x7ffff65dfb20 <main_arena>, bytes=bytes@entry=464) at malloc.c:3727 #5 0x00007ffff629fdca in __libc_calloc (n=<optimized out>, elem_size=<optimized out>) at malloc.c:3236 #6 0x00007ffff5d719e3 in ?? () from /usr/lib/nvidia-384/libGL.so.1 #7 0x00007ffff393fe2d in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111 #8 0x00007ffff3879ad9 in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111 #9 0x00007ffff387b050 in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111 #10 0x00007ffff387b671 in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111 #11 0x00007ffff38f4551 in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111 #12 0x00007ffff38f0670 in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111 #13 0x00007ffff3963c4e in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111 #14 0x00007ffff3a17c03 in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111 #15 0x00007ffff38de05b in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111 #16 0x00007ffff389ee64 in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111 #17 0x00007ffff3bfb158 in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111 #18 0x00007ffff3bfc53c in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111 #19 0x00007ffff3c013ca in ?? () from /usr/lib/nvidia-384/libnvidia-glcore.so.384.111 #20 0x00007ffff5d663c4 in ?? () from /usr/lib/nvidia-384/libGL.so.1 #21 0x00007fffec1a45a3 in terminator_CreateDevice () from /opt/VulkanSDK/1.0.65.0/x86_64/lib/libvulkan.so #22 0x00007fffec1ad087 in loader_create_device_chain () from /opt/VulkanSDK/1.0.65.0/x86_64/lib/libvulkan.so #23 0x00007fffec1af9f3 in vkCreateDevice () from /opt/VulkanSDK/1.0.65.0/x86_64/lib/libvulkan.so #24 0x00007ffff7c55567 in QVulkanFunctions::vkCreateDevice (this=this@entry=0x6f1110, physicalDevice=physicalDevice@entry=0x6f4860, pCreateInfo=pCreateInfo@entry=0x7fffffffd270, pAllocator=pAllocator@entry=0x0, pDevice=pDevice@entry=0x8e5df0) at vulkan/qvulkanfunctions_p.cpp:99 #25 0x00007ffff7c4c1ac in QVulkanWindowPrivate::init (this=this@entry=0x8e5c30) at /home/robin/Qt/5.10.0/Src/qtbase/src/gui/vulkan/qvulkanwindow.cpp:768 #26 0x00007ffff7c4cc9d in QVulkanWindowPrivate::ensureStarted (this=this@entry=0x8e5c30) at /home/robin/Qt/5.10.0/Src/qtbase/src/gui/vulkan/qvulkanwindow.cpp:1555 #27 0x00007ffff7c4ccdc in QVulkanWindow::exposeEvent (this=<optimized out>) at /home/robin/Qt/5.10.0/Src/qtbase/src/gui/vulkan/qvulkanwindow.cpp:1540 #28 0x00007ffff7929394 in QWindow::event (this=this@entry=0x73d4b0, ev=ev@entry=0x7fffffffd850) at /home/robin/Qt/5.10.0/Src/qtbase/src/gui/kernel/qwindow.cpp:2302 #29 0x00007ffff7c4e1bf in QVulkanWindow::event (this=0x73d4b0, e=0x7fffffffd850) at /home/robin/Qt/5.10.0/Src/qtbase/src/gui/vulkan/qvulkanwindow.cpp:1598 #30 0x00007ffff6cdfad0 in QApplicationPrivate::notify_helper (this=this@entry=0x6792e0, receiver=receiver@entry=0x73d4b0, e=e@entry=0x7fffffffd850) at /home/robin/Qt/5.10.0/Src/qtbase/src/widgets/kernel/qapplication.cpp:3732 #31 0x00007ffff6ce76e6 in QApplication::notify (this=0x7fffffffdb60, receiver=0x73d4b0, e=0x7fffffffd850) at /home/robin/Qt/5.10.0/Src/qtbase/src/widgets/kernel/qapplication.cpp:3104 #32 0x00007ffff74fdd3a in QCoreApplication::notifyInternal2 (receiver=receiver@entry=0x73d4b0, event=event@entry=0x7fffffffd850) at /home/robin/Qt/5.10.0/Src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1044 #33 0x00007ffff791d7aa in QCoreApplication::sendSpontaneousEvent (event=0x7fffffffd850, receiver=0x73d4b0) at /home/robin/Qt/5.10.0/Src/qtbase/include/QtCore/../../src/corelib/kernel/qcoreapplication.h:237 #34 QGuiApplicationPrivate::processExposeEvent (e=<optimized out>) at /home/robin/Qt/5.10.0/Src/qtbase/src/gui/kernel/qguiapplication.cpp:2880 #35 0x00007ffff791e360 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x972e60) at /home/robin/Qt/5.10.0/Src/qtbase/src/gui/kernel/qguiapplication.cpp:1803 #36 0x00007ffff78f4d7e in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /home/robin/Qt/5.10.0/Src/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:976 #37 0x00007ffff7efab03 in QPAEventDispatcherGlib::processEvents (this=0x6e78f0, flags=...) at /home/robin/Qt/5.10.0/Src/qtbase/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:70 #38 0x00007ffff74fbc0d in QEventLoop::processEvents (this=this@entry=0x7fffffffda10, flags=..., flags@entry=...) at /home/robin/Qt/5.10.0/Src/qtbase/src/corelib/kernel/qeventloop.cpp:134 #39 0x00007ffff74fc086 in QEventLoop::exec (this=this@entry=0x7fffffffda10, flags=flags@entry=...) at /home/robin/Qt/5.10.0/Src/qtbase/src/corelib/kernel/qeventloop.cpp:212 #40 0x00007ffff7505d7a in QCoreApplication::exec () at /home/robin/Qt/5.10.0/Src/qtbase/src/corelib/kernel/qcoreapplication.cpp:1332 #41 0x00007ffff7913bd4 in QGuiApplication::exec () at /home/robin/Qt/5.10.0/Src/qtbase/src/gui/kernel/qguiapplication.cpp:1687 #42 0x00007ffff6cdf9ab in QApplication::exec () at /home/robin/Qt/5.10.0/Src/qtbase/src/widgets/kernel/qapplication.cpp:2917 #43 0x00000000004094e5 in main (argc=1, argv=<optimized out>) at main.cpp:5
I also tried to activate some VK_LAYERs to see what happens and the bug just changed from SIGABRT to SIGSEGV but I got approximately the same stack.
Thanks for your time,
Cheers