[Mesa-dev] [Bug 99591] Segmentation fault when running vulkaninfo with RADV Radeon Vulkan driver
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sat Mar 11 00:29:17 UTC 2017
https://bugs.freedesktop.org/show_bug.cgi?id=99591
--- Comment #5 from Jure Repinc <jlp.bugs at gmail.com> ---
I'm not sure if this helps but here is some steping by instructions in GDB:
Temporary breakpoint 6, main () at main.cpp:82
82 HelloTriangleApplication app;
(gdb) c
Continuing.
Breakpoint 3, radv_lookup_entrypoint (name=0x7ffff5dcdd00 "vkCreateInstance")
at radv_entrypoints.c:933
933 if (strcmp(name, strings + e->name) != 0)
(gdb) where
#0 radv_lookup_entrypoint (name=0x7ffff5dcdd00 "vkCreateInstance") at
radv_entrypoints.c:933
#1 0x00007ffff5db3616 in loader_scanned_icd_add (api_version=4194307,
filename=0x7fffffffd590 "/usr/lib64/libvulkan_radeon.so",
icd_tramp_list=0x7fffffffda20,
inst=0x0) at
/usr/src/debug/Vulkan-LoaderAndValidationLayers-1.0.41/loader/loader.c:1565
#2 loader_icd_scan (inst=inst at entry=0x0,
icd_tramp_list=icd_tramp_list at entry=0x7fffffffda20)
at
/usr/src/debug/Vulkan-LoaderAndValidationLayers-1.0.41/loader/loader.c:3177
#3 0x00007ffff5dbc317 in vkEnumerateInstanceExtensionProperties
(pLayerName=0x0, pPropertyCount=0x7fffffffda84, pProperties=0x0)
at
/usr/src/debug/Vulkan-LoaderAndValidationLayers-1.0.41/loader/trampoline.c:159
#4 0x00007ffff7bc62cd in _glfwInitVulkan () at
/usr/src/debug/glfw-3.2.1/src/vulkan.c:82
#5 0x00007ffff7bc65ca in _glfwInitVulkan () at
/usr/src/debug/glfw-3.2.1/src/vulkan.c:228
#6 glfwGetRequiredInstanceExtensions (count=0x7fffffffdb2c) at
/usr/src/debug/glfw-3.2.1/src/vulkan.c:220
#7 0x00000000004018b2 in HelloTriangleApplication::createInstance
(this=0x7fffffffdc20) at main.cpp:60
#8 0x00000000004017d2 in HelloTriangleApplication::initVulkan
(this=0x7fffffffdc20) at main.cpp:34
#9 0x000000000040174e in HelloTriangleApplication::run (this=0x7fffffffdc20)
at main.cpp:18
#10 0x0000000000401597 in main () at main.cpp:85
(gdb) dis
disable disassemble disconnect display
(gdb) dis
disable disassemble disconnect display
(gdb) disassemble
Dump of assembler code for function radv_lookup_entrypoint:
0x00007ffff3976b60 <+0>: push %rbx
0x00007ffff3976b61 <+1>: movsbl (%rdi),%edx
0x00007ffff3976b64 <+4>: test %dl,%dl
0x00007ffff3976b66 <+6>: je 0x7ffff3976bee
<radv_lookup_entrypoint+142>
0x00007ffff3976b6c <+12>: mov %rdi,%rcx
0x00007ffff3976b6f <+15>: xor %eax,%eax
0x00007ffff3976b71 <+17>: nopl 0x0(%rax)
0x00007ffff3976b78 <+24>: imul $0x4ca9b7,%eax,%eax
0x00007ffff3976b7e <+30>: add $0x1,%rcx
0x00007ffff3976b82 <+34>: add %edx,%eax
0x00007ffff3976b84 <+36>: movsbl (%rcx),%edx
0x00007ffff3976b87 <+39>: test %dl,%dl
0x00007ffff3976b89 <+41>: jne 0x7ffff3976b78
<radv_lookup_entrypoint+24>
0x00007ffff3976b8b <+43>: lea 0xce38e(%rip),%rcx #
0x7ffff3a44f20 <map>
0x00007ffff3976b92 <+50>: movzbl %al,%edx
0x00007ffff3976b95 <+53>: movzwl (%rcx,%rdx,2),%ebx
0x00007ffff3976b99 <+57>: mov %eax,%edx
0x00007ffff3976b9b <+59>: lea 0xce57e(%rip),%rsi #
0x7ffff3a45120 <entrypoints>
0x00007ffff3976ba2 <+66>: lea 0xce377(%rip),%r8 #
0x7ffff3a44f20 <map>
0x00007ffff3976ba9 <+73>: jmp 0x7ffff3976bc3
<radv_lookup_entrypoint+99>
0x00007ffff3976bab <+75>: nopl 0x0(%rax,%rax,1)
0x00007ffff3976bb0 <+80>: mov %ebx,%ecx
0x00007ffff3976bb2 <+82>: add $0x13,%edx
0x00007ffff3976bb5 <+85>: cmp 0x4(%rsi,%rcx,8),%eax
0x00007ffff3976bb9 <+89>: je 0x7ffff3976bd0
<radv_lookup_entrypoint+112>
0x00007ffff3976bbb <+91>: movzbl %dl,%ecx
0x00007ffff3976bbe <+94>: movzwl (%r8,%rcx,2),%ebx
0x00007ffff3976bc3 <+99>: cmp $0xffff,%ebx
0x00007ffff3976bc9 <+105>: jne 0x7ffff3976bb0
<radv_lookup_entrypoint+80>
0x00007ffff3976bcb <+107>: xor %eax,%eax
0x00007ffff3976bcd <+109>: pop %rbx
0x00007ffff3976bce <+110>: retq
0x00007ffff3976bcf <+111>: nop
=> 0x00007ffff3976bd0 <+112>: mov (%rsi,%rcx,8),%esi
0x00007ffff3976bd3 <+115>: lea 0xceb26(%rip),%rax #
0x7ffff3a45700 <strings>
0x00007ffff3976bda <+122>: add %rax,%rsi
0x00007ffff3976bdd <+125>: callq 0x7ffff3974dc0 <strcmp at plt>
0x00007ffff3976be2 <+130>: test %eax,%eax
0x00007ffff3976be4 <+132>: jne 0x7ffff3976bcb
<radv_lookup_entrypoint+107>
0x00007ffff3976be6 <+134>: mov %ebx,%edi
---Type <return> to continue, or q <return> to quit---
0x00007ffff3976be8 <+136>: pop %rbx
0x00007ffff3976be9 <+137>: jmpq 0x7ffff3976b50 <radv_resolve_entrypoint>
0x00007ffff3976bee <+142>: mov $0x44,%ebx
0x00007ffff3976bf3 <+147>: xor %eax,%eax
0x00007ffff3976bf5 <+149>: jmp 0x7ffff3976b99
<radv_lookup_entrypoint+57>
End of assembler dump.
(gdb) c
Continuing.
Breakpoint 3, radv_lookup_entrypoint (name=0x7ffff5dd0640
"vkEnumerateInstanceExtensionProperties") at radv_entrypoints.c:933
933 if (strcmp(name, strings + e->name) != 0)
(gdb) disassemble
Dump of assembler code for function radv_lookup_entrypoint:
0x00007ffff3976b60 <+0>: push %rbx
0x00007ffff3976b61 <+1>: movsbl (%rdi),%edx
0x00007ffff3976b64 <+4>: test %dl,%dl
0x00007ffff3976b66 <+6>: je 0x7ffff3976bee
<radv_lookup_entrypoint+142>
0x00007ffff3976b6c <+12>: mov %rdi,%rcx
0x00007ffff3976b6f <+15>: xor %eax,%eax
0x00007ffff3976b71 <+17>: nopl 0x0(%rax)
0x00007ffff3976b78 <+24>: imul $0x4ca9b7,%eax,%eax
0x00007ffff3976b7e <+30>: add $0x1,%rcx
0x00007ffff3976b82 <+34>: add %edx,%eax
0x00007ffff3976b84 <+36>: movsbl (%rcx),%edx
0x00007ffff3976b87 <+39>: test %dl,%dl
0x00007ffff3976b89 <+41>: jne 0x7ffff3976b78
<radv_lookup_entrypoint+24>
0x00007ffff3976b8b <+43>: lea 0xce38e(%rip),%rcx #
0x7ffff3a44f20 <map>
0x00007ffff3976b92 <+50>: movzbl %al,%edx
0x00007ffff3976b95 <+53>: movzwl (%rcx,%rdx,2),%ebx
0x00007ffff3976b99 <+57>: mov %eax,%edx
0x00007ffff3976b9b <+59>: lea 0xce57e(%rip),%rsi #
0x7ffff3a45120 <entrypoints>
0x00007ffff3976ba2 <+66>: lea 0xce377(%rip),%r8 #
0x7ffff3a44f20 <map>
0x00007ffff3976ba9 <+73>: jmp 0x7ffff3976bc3
<radv_lookup_entrypoint+99>
0x00007ffff3976bab <+75>: nopl 0x0(%rax,%rax,1)
0x00007ffff3976bb0 <+80>: mov %ebx,%ecx
0x00007ffff3976bb2 <+82>: add $0x13,%edx
0x00007ffff3976bb5 <+85>: cmp 0x4(%rsi,%rcx,8),%eax
0x00007ffff3976bb9 <+89>: je 0x7ffff3976bd0
<radv_lookup_entrypoint+112>
0x00007ffff3976bbb <+91>: movzbl %dl,%ecx
0x00007ffff3976bbe <+94>: movzwl (%r8,%rcx,2),%ebx
0x00007ffff3976bc3 <+99>: cmp $0xffff,%ebx
0x00007ffff3976bc9 <+105>: jne 0x7ffff3976bb0
<radv_lookup_entrypoint+80>
0x00007ffff3976bcb <+107>: xor %eax,%eax
0x00007ffff3976bcd <+109>: pop %rbx
0x00007ffff3976bce <+110>: retq
0x00007ffff3976bcf <+111>: nop
=> 0x00007ffff3976bd0 <+112>: mov (%rsi,%rcx,8),%esi
0x00007ffff3976bd3 <+115>: lea 0xceb26(%rip),%rax #
0x7ffff3a45700 <strings>
0x00007ffff3976bda <+122>: add %rax,%rsi
0x00007ffff3976bdd <+125>: callq 0x7ffff3974dc0 <strcmp at plt>
0x00007ffff3976be2 <+130>: test %eax,%eax
0x00007ffff3976be4 <+132>: jne 0x7ffff3976bcb
<radv_lookup_entrypoint+107>
0x00007ffff3976be6 <+134>: mov %ebx,%edi
---Type <return> to continue, or q <return> to quit---
0x00007ffff3976be8 <+136>: pop %rbx
0x00007ffff3976be9 <+137>: jmpq 0x7ffff3976b50 <radv_resolve_entrypoint>
0x00007ffff3976bee <+142>: mov $0x44,%ebx
0x00007ffff3976bf3 <+147>: xor %eax,%eax
0x00007ffff3976bf5 <+149>: jmp 0x7ffff3976b99
<radv_lookup_entrypoint+57>
End of assembler dump.
(gdb) c
Continuing.
Breakpoint 3, radv_lookup_entrypoint (name=0x7ffff5dcdd00 "vkCreateInstance")
at radv_entrypoints.c:933
933 if (strcmp(name, strings + e->name) != 0)
(gdb) disassemble
Dump of assembler code for function radv_lookup_entrypoint:
0x00007fffed19cb60 <+0>: push %rbx
0x00007fffed19cb61 <+1>: movsbl (%rdi),%edx
0x00007fffed19cb64 <+4>: test %dl,%dl
0x00007fffed19cb66 <+6>: je 0x7fffed19cbee
<radv_lookup_entrypoint+142>
0x00007fffed19cb6c <+12>: mov %rdi,%rcx
0x00007fffed19cb6f <+15>: xor %eax,%eax
0x00007fffed19cb71 <+17>: nopl 0x0(%rax)
0x00007fffed19cb78 <+24>: imul $0x4ca9b7,%eax,%eax
0x00007fffed19cb7e <+30>: add $0x1,%rcx
0x00007fffed19cb82 <+34>: add %edx,%eax
0x00007fffed19cb84 <+36>: movsbl (%rcx),%edx
0x00007fffed19cb87 <+39>: test %dl,%dl
0x00007fffed19cb89 <+41>: jne 0x7fffed19cb78
<radv_lookup_entrypoint+24>
0x00007fffed19cb8b <+43>: lea 0xce38e(%rip),%rcx #
0x7fffed26af20 <map>
0x00007fffed19cb92 <+50>: movzbl %al,%edx
0x00007fffed19cb95 <+53>: movzwl (%rcx,%rdx,2),%ebx
0x00007fffed19cb99 <+57>: mov %eax,%edx
0x00007fffed19cb9b <+59>: lea 0xce57e(%rip),%rsi #
0x7fffed26b120 <entrypoints>
0x00007fffed19cba2 <+66>: lea 0xce377(%rip),%r8 #
0x7fffed26af20 <map>
0x00007fffed19cba9 <+73>: jmp 0x7fffed19cbc3
<radv_lookup_entrypoint+99>
0x00007fffed19cbab <+75>: nopl 0x0(%rax,%rax,1)
0x00007fffed19cbb0 <+80>: mov %ebx,%ecx
0x00007fffed19cbb2 <+82>: add $0x13,%edx
0x00007fffed19cbb5 <+85>: cmp 0x4(%rsi,%rcx,8),%eax
0x00007fffed19cbb9 <+89>: je 0x7fffed19cbd0
<radv_lookup_entrypoint+112>
0x00007fffed19cbbb <+91>: movzbl %dl,%ecx
0x00007fffed19cbbe <+94>: movzwl (%r8,%rcx,2),%ebx
0x00007fffed19cbc3 <+99>: cmp $0xffff,%ebx
0x00007fffed19cbc9 <+105>: jne 0x7fffed19cbb0
<radv_lookup_entrypoint+80>
0x00007fffed19cbcb <+107>: xor %eax,%eax
0x00007fffed19cbcd <+109>: pop %rbx
0x00007fffed19cbce <+110>: retq
0x00007fffed19cbcf <+111>: nop
=> 0x00007fffed19cbd0 <+112>: mov (%rsi,%rcx,8),%esi
0x00007fffed19cbd3 <+115>: lea 0xceb26(%rip),%rax #
0x7fffed26b700 <strings>
0x00007fffed19cbda <+122>: add %rax,%rsi
0x00007fffed19cbdd <+125>: callq 0x7fffed19adc0 <strcmp at plt>
0x00007fffed19cbe2 <+130>: test %eax,%eax
0x00007fffed19cbe4 <+132>: jne 0x7fffed19cbcb
<radv_lookup_entrypoint+107>
0x00007fffed19cbe6 <+134>: mov %ebx,%edi
---Type <return> to continue, or q <return> to quit---
0x00007fffed19cbe8 <+136>: pop %rbx
0x00007fffed19cbe9 <+137>: jmpq 0x7fffed19cb50 <radv_resolve_entrypoint>
0x00007fffed19cbee <+142>: mov $0x44,%ebx
0x00007fffed19cbf3 <+147>: xor %eax,%eax
0x00007fffed19cbf5 <+149>: jmp 0x7fffed19cb99
<radv_lookup_entrypoint+57>
End of assembler dump.
(gdb) stepi
0x00007fffed19cbd3 933 if (strcmp(name, strings + e->name) != 0)
(gdb)
0x00007fffed19cbda 933 if (strcmp(name, strings + e->name) != 0)
(gdb)
0x00007fffed19cbdd 933 if (strcmp(name, strings + e->name) != 0)
(gdb)
0x00007fffed19adc0 in strcmp at plt () from /usr/lib64/libvulkan_radeon.so
(gdb)
0x000000000001ddc6 in ?? ()
(gdb)
Program received signal SIGSEGV, Segmentation fault.
0x000000000001ddc6 in ?? ()
--
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170311/e16fc8bd/attachment-0001.html>
More information about the mesa-dev
mailing list