[vmwgfx] SIGABRT vmw_screen_ioctl.c:461
Submitted by Vinson Lee
Assigned to mes..@..op.org
Description
[vmwgfx] SIGABRT vmw_screen_ioctl.c:461
mesa: 5b596f38 (master 11.1.0-devel)
vmwgfx crashed while running WebGL Conformance Tests on Firefox.
Program received signal SIGSEGV, Segmentation fault.
0x0000560a46dce464 in mozalloc_abort(char const*) ()
(gdb) bt full
#0 0x0000560a46dce464 in mozalloc_abort(char const*) ()
#1 0x0000560a46dce447 in mozalloc_abort(char const*) ()
#2 0x00007f0cf3b73b14 in vmw_ioctl_command (vws=0x7f0cf7fe3990, cid=<optimized out>, throttle_us=throttle_us@entry=0, commands=commands@entry=0x7f0cc68e30f0, size=<optimized out>, pfence=pfence@entry=0x7ffe30bc9c08) at vmw_screen_ioctl.c:461
arg =
{commands = 139692847542512, command_size = 5040, throttle_us = 0, fence_rep = 140729716087664, version = 2, flags = 0, context_handle = 536825321, pad64 = 0}
rep = {handle = 0, mask = 0, seqno = 0, passed_seqno = 0, pad64 = 0, error = -14}
ret = <optimized out>
__func__ = "vmw_ioctl_command"
#3 0x00007f0cf3b71409 in vmw_swc_flush (swc=0x7f0cc68e3000, pfence=0x7ffe30bc9c48) at vmw_context.c:213
fence = 0x0
i = <optimized out>
ret = <optimized out>
__PRETTY_FUNCTION__ = "vmw_swc_flush"
#4 0x00007f0cf3b7994b in svga_context_flush (svga=svga@entry=0x7f0cb4673000, pfence=pfence@entry=0x0) at svga_context.c:313
svgascreen = 0x7f0d03d02000
fence = 0x0
#5 0x00007f0cf3b8034c in svga_flush (pipe=0x7f0cb4673000, fence=0x0, flags=<optimized out>) at svga_pipe_flush.c:46
__func__ = "svga_flush"
#6 0x00007f0cf369cad4 in st_glFlush (ctx=<optimized out>) at state_tracker/st_cb_flush.c:121
#7 0x00007f0d21c3c0c2 in mozilla::gl::GLContext::FlushIfHeavyGLCallsSinceLastFlush() () at /usr/lib64/firefox/libxul.so
#8 0x00007f0d2291a09f in nsRefreshDriver::Tick(long, mozilla::TimeStamp) () at /usr/lib64/firefox/libxul.so
#9 0x00007f0d2291a3ac in mozilla::RefreshDriverTimer::Tick(long, mozilla::TimeStamp) () at /usr/lib64/firefox/libxul.so
#10 0x00007f0d2291a4d8 in mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::TimeStamp) () at /usr/lib64/firefox/libxul.so
#11 0x00007f0d22916c2e in nsRunnableMethodImpl<void (mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::*)(mozilla::TimeStamp), true, mozilla::TimeStamp>::Run() () at /usr/lib64/firefox/libxul.so
#12 0x00007f0d216e4db6 in nsThread::ProcessNextEvent(bool, bool*) () at /usr/lib64/firefox/libxul.so
#13 0x00007f0d216ffb4f in NS_ProcessNextEvent(nsIThread*, bool) () at /usr/lib64/firefox/libxul.so
#14 0x00007f0d218cbaf2 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) () at /usr/lib64/firefox/libxul.so
#15 0x00007f0d218bbc0e in MessageLoop::Run() () at /usr/lib64/firefox/libxul.so
#16 0x00007f0d227db3cb in nsBaseAppShell::Run() () at /usr/lib64/firefox/libxul.so
#17 0x00007f0d22d79b31 in nsAppStartup::Run() () at /usr/lib64/firefox/libxul.so
#18 0x00007f0d22db2ea2 in XREMain::XRE_mainRun() () at /usr/lib64/firefox/libxul.so
#19 0x00007f0d22db314d in XREMain::XRE_main(int, char**, nsXREAppData const*) () at /usr/lib64/firefox/libxul.so
#20 0x00007f0d22db3398 in XRE_main () at /usr/lib64/firefox/libxul.so
#21 0x0000560a46dce371 in do_main(int, char**, nsIFile*) [clone .constprop.0] ()
#22 0x0000560a46dcda72 in main ()
(gdb) frame 2
#2 0x00007f0cf3b73b14 in vmw_ioctl_command (vws=0x7f0cf7fe3990, cid=<optimized out>, throttle_us=throttle_us@entry=0,
commands=commands@entry=0x7f0cc68e30f0, size=<optimized out>, pfence=pfence@entry=0x7ffe30bc9c08)
at vmw_screen_ioctl.c:461
461 abort();
(gdb) l
456 do {
457 ret = drmCommandWrite(vws->ioctl.drm_fd, DRM_VMW_EXECBUF, &arg, argsize);
458 } while(ret == -ERESTART);
459 if (ret) {
460 vmw_error("%s error %s.\n", __FUNCTION__, strerror(-ret));
461 abort();
462 }
463
464 if (rep.error) {
465
(gdb) print *vws
$3 = {base = {destroy = 0x7f0cf3b749a0 <vmw_svga_winsys_destroy>,
get_hw_version = 0x7f0cf3b74730 <vmw_svga_winsys_get_hw_version>, get_cap = 0x7f0cf3b749b0 <vmw_svga_winsys_get_cap>,
context_create = 0x7f0cf3b72040 <vmw_svga_winsys_context_create>, surface_create =
0x7f0cf3b74a30 <vmw_svga_winsys_surface_create>, surface_from_handle = 0x7f0cf3b729d0 <vmw_drm_gb_surface_from_handle>,
surface_get_handle = 0x7f0cf3b72920 <vmw_drm_surface_get_handle>, surface_is_flushed =
0x7f0cf3b74720 <vmw_svga_winsys_surface_is_flushed>, surface_reference = 0x7f0cf3b749f0 <vmw_svga_winsys_surface_ref>,
surface_can_create = 0x7f0cf3b74f80 <vmw_svga_winsys_surface_can_create>, buffer_create =
0x7f0cf3b74750 <vmw_svga_winsys_buffer_create>, buffer_map = 0x7f0cf3b70fa0 <vmw_svga_winsys_buffer_map>, buffer_unmap =
0x7f0cf3b71030 <vmw_svga_winsys_buffer_unmap>, buffer_destroy = 0x7f0cf3b70eb0 <vmw_svga_winsys_buffer_destroy>,
fence_reference = 0x7f0cf3b74990 <vmw_svga_winsys_fence_reference>, fence_signalled =
0x7f0cf3b74980 <vmw_svga_winsys_fence_signalled>, fence_finish = 0x7f0cf3b74970 <vmw_svga_winsys_fence_finish>,
have_gb_objects = true, have_gb_dma = true, shader_create = 0x7f0cf3b74840 <vmw_svga_winsys_shader_create>,
shader_destroy = 0x7f0cf3b74950 <vmw_svga_winsys_shader_destroy>, query_create =
0x7f0cf3b758e0 <vmw_svga_winsys_query_create>, query_destroy = 0x7f0cf3b75960 <vmw_svga_winsys_query_destroy>,
query_init = 0x7f0cf3b75980 <vmw_svga_winsys_query_init>, query_get_result =
0x7f0cf3b759e0 <vmw_svga_winsys_query_get_result>, have_vgpu10 = 1 '\001', need_to_rebind_resources = 0 '\000'},
ioctl = {drm_fd = 53, hwversion = 131073, num_cap_3d = 491, cap_3d = 0x7f0cfe8f3000, max_mob_memory = 268435456,
max_surface_memory = 18446744073709551615, max_texture_size = 134217728, have_drm_2_6 = 1 '\001',
have_drm_2_9 = 1 '\001', drm_execbuf_version = 2}, pools = {gmr = 0x7f0cf8115d90, gmr_mm = 0x7f0cf810b040,
gmr_fenced = 0x7f0cf810b120, gmr_slab = 0x7f0d0b94fb50, gmr_slab_fenced = 0x7f0cf8125350, query_mm = 0x0,
query_fenced = 0x0, mob_fenced = 0x7f0cf8125470, mob_cache = 0x7f0cf81253e0, mob_shader_slab = 0x7f0d0b94fba0,
mob_shader_slab_fenced = 0x7f0cf8125500}, fence_ops = 0x7f0cf613ae40, device = 57856, open_count = 1}