Bug 92983

Summary: [vmwgfx] SIGABRT vmw_screen_ioctl.c:461
Product: Mesa Reporter: Vinson Lee <vlee>
Component: Drivers/Gallium/vmwgfxAssignee: mesa-dev
Status: RESOLVED MOVED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: brianp, vlee
Version: unspecifiedKeywords: have-backtrace
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Vinson Lee 2015-11-17 22:31:29 UTC
[vmwgfx] SIGABRT vmw_screen_ioctl.c:461

mesa: 5b596f38785a11ad429e30b2237de2c8c59a451f (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}
Comment 1 Brian Paul 2018-09-15 03:11:32 UTC
Vinson, this is a pretty old bug.  Do you want to re-test it?
Comment 2 GitLab Migration User 2019-09-18 20:14:35 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/888.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.