Bug 105374

Summary: texture3d, a SaschaWillems demo, assert fails
Product: Mesa Reporter: Nanley Chery <nanleychery>
Component: Drivers/Vulkan/intelAssignee: Intel 3D Bugs Mailing List <intel-3d-bugs>
Status: RESOLVED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: medium CC: eero.t.tamminen, jason
Version: git   
Hardware: Other   
OS: All   
See Also: https://bugs.freedesktop.org/show_bug.cgi?id=106147
Whiteboard:
i915 platform: i915 features:

Description Nanley Chery 2018-03-07 00:19:07 UTC
System: SKL GT4
App: texture3d Sascha Willems Vulkan demo
Expected behavior: App runs
Actual behavior: App assert fails with:

texture3d: vulkan/anv_batch_chain.c:1139: adjust_relocations_from_state_pool: Assertion `last_pool_center_bo_offset <= pool->block_pool.center_bo_offset' failed.

GDB backtrace:
#0  0x00007ffff605d860 in raise () from /usr/lib/libc.so.6
#1  0x00007ffff605eec9 in abort () from /usr/lib/libc.so.6
#2  0x00007ffff60560bc in __assert_fail_base () from /usr/lib/libc.so.6
#3  0x00007ffff6056133 in __assert_fail () from /usr/lib/libc.so.6
#4  0x00007ffff4f87ecb in adjust_relocations_from_state_pool (pool=0x555555a3c180, relocs=0x555555be3e78, last_pool_center_bo_offset=196608) at vulkan/anv_batch_chain.c:1139
#5  0x00007ffff4f883a3 in setup_execbuf_for_cmd_buffer (execbuf=0x7fffffffe4a0, cmd_buffer=0x555555be3dc0) at vulkan/anv_batch_chain.c:1300
#6  0x00007ffff4f88f6d in anv_cmd_buffer_execbuf (device=0x555555a3b6d0, cmd_buffer=0x555555be3dc0, in_semaphores=0x5555558681d0, num_in_semaphores=1, out_semaphores=0x5555558681d8, num_out_semaphores=1, 
    _fence=0x0) at vulkan/anv_batch_chain.c:1588
#7  0x00007ffff4fb7106 in anv_QueueSubmit (_queue=0x555555a3c3c0, submitCount=1, pSubmits=0x555555868068, fence=0x0) at vulkan/anv_queue.c:218
#8  0x00005555555a5499 in VulkanExample::draw() ()
#9  0x00005555555a7468 in VulkanExample::render() ()
#10 0x00005555555bf4fa in VulkanExampleBase::renderLoop() ()
#11 0x00005555555a1382 in main ()

Notes:

This assertion starts triggering on commit: 
5be3fdfa327902d6385e3469ae76cca948091464
Author: Dave Airlie <airlied@redhat.com>
Date:   Wed Oct 11 09:45:44 2017 +1000

    anv: fix assert in wsi image code.


Before that commit, the following assertion would trigger:
texture3d: vulkan/anv_wsi.c:242: anv_wsi_image_create: Assertion `image->size == 0' failed.
Comment 1 Jason Ekstrand 2018-04-21 05:03:12 UTC
*** Bug 106147 has been marked as a duplicate of this bug. ***
Comment 2 Eero Tamminen 2018-04-23 11:08:04 UTC
Fix from Jason: https://patchwork.freedesktop.org/patch/218165/
Comment 3 Jason Ekstrand 2018-04-26 20:19:58 UTC
This is fixed in master by the following commit:

commit 3db93f9128e5329f6658c9018cf23eb31807c24c
Author: Jason Ekstrand <jason.ekstrand@intel.com>
Date:   Fri Apr 20 21:52:41 2018 -0700

    anv/allocator: Don't shrink either end of the block pool
    
    Previously, we only tried to ensure that we didn't shrink either end
    below what was already handed out.  However, due to the way we handle
    relocations with block pools, we can't shrink the back end at all.  It's
    probably best to not shrink in either direction.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105374
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106147
    Tested-by: Eero Tamminen <eero.t.tamminen@intel.com>
    Reviewed-by: Scott D Phillips <scott.d.phillips@intel.com>
    Cc: mesa-stable@lists.freedesktop.org

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.