Issues with RX6600

Hi, I'm having lots of issues while running the examples in my machine with an RX6600.
Basically, only the first example runs correctly. The other examples either crash, or show validation errors and visual glitches.

This might be the issue mentioned here: https://github.com/PacktPublishing/Mastering-Graphics-Programming-with-Vulkan/issues/23
Try to cherry pick this PR: https://github.com/PacktPublishing/Mastering-Graphics-Programming-with-Vulkan/pull/26

Hi @theWatchmen ,
Unfortunately, the glitches are still there.
Here is the output:
Usage: chapter7 [path to glTF model]
Memory Service Init
HeapAllocator of size<PHONE_NUMBER> created
WindowService init
Window created successfully
InputService init
Gpu Device init
 MessageID: UNASSIGNED-khronos-Validation-debug-build-warning-message 648835635
Message: Validation Performance Warning: [ UNASSIGNED-khronos-Validation-debug-build-warning-message ] Object 0: handle = 0x1ffe3488040, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x26ac7233 | VALIDATION LAYERS WARNING: Using debug builds of the validation layers *will* adversely affect performance.

GPU Used: AMD Radeon RX 6600
Family 0, flags 15 queue count 1
Family 1, flags 14 queue count 2
Family 2, flags 12 queue count 2
Create swapchain 1280 800 - saved 1280 800, min image 1
Renderer init
temp.shader

temp.shader

Parsing GPU Technique meshlet
temp.shader

Cannot find render pass culling_pass. Defaulting to swapchain
temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

 MessageID: UNASSIGNED-CoreValidation-Shader-OutputNotConsumed 101294395
Message: Validation Performance Warning: [ UNASSIGNED-CoreValidation-Shader-OutputNotConsumed ] Object 0: handle = 0xdc9e000000000153, name = emulation_gbuffer_culling, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x609a13b | vertex shader writes to output location 5.0 which is not consumed by fragment shader. Enable VK_KHR_maintenance4 device extension to allow relaxed interface matching between input and output vectors.

Created technique meshlet in 0.790133 seconds
Parsing GPU Technique fullscreen
temp.shader

temp.shader

Cannot find render pass swapchain. Defaulting to swapchain
Created technique fullscreen in 0.214468 seconds
Parsing GPU Technique main
temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

Cannot find render pass swapchain. Defaulting to swapchain
temp.shader

temp.shader

Cannot find render pass swapchain. Defaulting to swapchain
temp.shader

temp.shader

Cannot find render pass swapchain. Defaulting to swapchain
 MessageID: UNASSIGNED-CoreValidation-Shader-OutputNotConsumed 101294395
Message: Validation Performance Warning: [ UNASSIGNED-CoreValidation-Shader-OutputNotConsumed ] Object 0: handle = 0x4be7e10000000173, name = depth_pre_skinning, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x609a13b | Vertex attribute at location 1 not consumed by vertex shader

 MessageID: UNASSIGNED-CoreValidation-Shader-OutputNotConsumed 101294395
Message: Validation Performance Warning: [ UNASSIGNED-CoreValidation-Shader-OutputNotConsumed ] Object 0: handle = 0x4be7e10000000173, name = depth_pre_skinning, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x609a13b | Vertex attribute at location 2 not consumed by vertex shader

Created technique main in 1.716421 seconds
Parsing GPU Technique pbr_lighting
temp.shader

temp.shader

temp.shader

Created technique pbr_lighting in 0.348712 seconds
Parsing GPU Technique depth_of_field
temp.shader

temp.shader

Created technique depth_of_field in 0.210456 seconds
Parsing GPU Technique cloth
temp.shader

Cannot find render pass . Defaulting to swapchain
Created technique cloth in 0.122100 seconds
Parsing GPU Technique debug
temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

temp.shader

UNASSIGNED-CoreValidation-Shader-InputNotProduced(ERROR / SPEC): msgNum: 602160055 - Validation Error: [ UNASSIGNED-CoreValidation-Shader-InputNotProduced ] Object 0: handle = 0xb8a5a300000001b3, name = debug_mesh, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x23e43bb7 | Vertex shader consumes input at location 0 but not provided
    Objects: 1
        [0] 0xb8a5a300000001b3, type: 15, name: debug_mesh
 MessageID: UNASSIGNED-CoreValidation-Shader-InputNotProduced 602160055
Message: Validation Error: [ UNASSIGNED-CoreValidation-Shader-InputNotProduced ] Object 0: handle = 0xb8a5a300000001b3, name = debug_mesh, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x23e43bb7 | Vertex shader consumes input at location 0 but not provided

Created technique debug in 1.141544 seconds
Parsing GPU Technique culling
temp.shader

Cannot find render pass culling_pass. Defaulting to swapchain
temp.shader

Created technique culling in 0.236600 seconds
Loaded scene Sponza.gltf in 0.529124 seconds.
Stats:
        Reading GLTF file 0.119780 seconds
        Textures Creating 0.064232 seconds
        Creating Samplers 0.000122 seconds
        Reading Buffers Data 0.003055 seconds
        Creating Buffers 0.341933 seconds
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/white.png read in 0.290000 ms
Focus Gained
Exposed
Graphics error: trying to free invalid Buffer<PHONE_NUMBER>
Graphics error: trying to free invalid Buffer<PHONE_NUMBER>
Graphics error: trying to free invalid DescriptorSet<PHONE_NUMBER>
Graphics error: trying to free invalid DescriptorSet<PHONE_NUMBER>
Graphics error: trying to free invalid DescriptorSet<PHONE_NUMBER>
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8747919177698443163.jpg read in 53.032000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2969916736137545357.jpg read in 45.265000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/14118779221266351425.jpg read in 71.820000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/13196865903111448057.jpg read in 27.433000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/6772804448157695701.jpg read in 38.518000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/759203620573749278.jpg read in 33.722000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/17556969131407844942.jpg read in 30.616000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8481240838833932244.jpg read in 35.953000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/10381718147657362067.jpg read in 46.942000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2411100444841994089.jpg read in 32.190000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/755318871556304029.jpg read in 30.133000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/3827035219084910048.jpg read in 39.305000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/1219024358953944284.jpg read in 28.820000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/16275776544635328252.png read in 102.067000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/14170708867020035030.jpg read in 22.245000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/9288698199695299068.jpg read in 54.269000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/4910669866631290573.jpg read in 52.550000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/11474523244911310074.jpg read in 55.742000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/4601176305987539675.jpg read in 53.201000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/466164707995436622.jpg read in 34.830000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/17876391417123941155.jpg read in 56.634000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/6593109234861095314.jpg read in 52.630000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2185409758123873465.jpg read in 43.346000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/332936164838540657.jpg read in 46.406000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2775690330959970771.jpg read in 44.355000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2374361008830720677.jpg read in 46.113000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/7815564343179553343.jpg read in 39.108000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/4675343432951571524.jpg read in 42.866000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/7056944414013900257.jpg read in 46.621000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/3371964815757888145.jpg read in 39.543000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/4975155472559461469.jpg read in 31.507000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2299742237651021498.jpg read in 45.989000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8783994986360286082.jpg read in 31.938000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/6151467286084645207.jpg read in 40.903000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/7645212358685992005.jpg read in 39.663000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/3455394979645218238.jpg read in 36.661000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/11490520546946913238.jpg read in 29.387000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/3628158980083700836.jpg read in 36.405000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8114461559286000061.jpg read in 24.651000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/7441062115984513793.jpg read in 40.747000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/6667038893015345571.jpg read in 42.157000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/13824894030729245199.jpg read in 29.788000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/5823059166183034438.jpg read in 37.226000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/14267839433702832875.jpg read in 42.073000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8051790464816141987.jpg read in 27.129000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/6047387724914829168.jpg read in 35.733000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/15722799267630235092.jpg read in 36.387000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/9916269861720640319.jpg read in 37.843000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/15295713303328085182.jpg read in 35.661000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/10388182081421875623.jpg read in 49.503000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/4871783166746854860.jpg read in 37.117000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/14650633544276105767.jpg read in 34.708000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2051777328469649772.jpg read in 24.077000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/11968150294050148237.jpg read in 36.298000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/5792855332885324923.jpg read in 36.443000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/16299174074766089871.jpg read in 29.176000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/16885566240357350108.jpg read in 18.986000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8750083169368950601.jpg read in 30.971000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/13982482287905699490.jpg read in 29.833000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8503262930880235456.jpg read in 22.088000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/7268504077753552595.jpg read in 37.152000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/4477655471536070370.jpg read in 24.084000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/715093869573992647.jpg read in 27.519000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8006627369776289000.png read in 89.521000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/12501374198249454378.jpg read in 32.022000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/11872827283454512094.jpg read in 39.175000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/5061699253647017043.png read in 156.093000 ms
Finished uploading textures in 2.920323 seconds
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8773302468495022225.jpg read in 32.542000 ms

Thanks, the validation error in the list is known, but is not related to the issue you're seeing. Could you try and run with the synchronization validation layer enabled? You can uncomment this line https://github.com/PacktPublishing/Mastering-Graphics-Programming-with-Vulkan/blob/main/source/chapter7/graphics/gpu_device.cpp#L74 to enable it.

Sure. Interestingly, uncommenting that line makes the visual artifacts disappear.
Looks like there are new validation errors indeed:
Usage: chapter7 [path to glTF model]
Memory Service Init
HeapAllocator of size<PHONE_NUMBER> created
WindowService init
Window created successfully
InputService init
Gpu Device init
 MessageID: UNASSIGNED-khronos-Validation-debug-build-warning-message 648835635
Message: Validation Performance Warning: [ UNASSIGNED-khronos-Validation-debug-build-warning-message ] Object 0: handle = 0x22aadd046b0, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x26ac7233 | VALIDATION LAYERS WARNING: Using debug builds of the validation layers *will* adversely affect performance.

GPU Used: AMD Radeon RX 6600
Family 0, flags 15 queue count 1
Family 1, flags 14 queue count 2
Family 2, flags 12 queue count 2
Create swapchain 1280 800 - saved 1280 800, min image 1
Renderer init
temp.shader

temp.shader

Parsing GPU Technique meshlet
Cannot find render pass culling_pass. Defaulting to swapchain
 MessageID: UNASSIGNED-CoreValidation-Shader-OutputNotConsumed 101294395
Message: Validation Performance Warning: [ UNASSIGNED-CoreValidation-Shader-OutputNotConsumed ] Object 0: handle = 0xda6ce50000000156, name = emulation_gbuffer_culling, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x609a13b | vertex shader writes to output location 5.0 which is not consumed by fragment shader. Enable VK_KHR_maintenance4 device extension to allow relaxed interface matching between input and output vectors.

Created technique meshlet in 1.139099 seconds
Parsing GPU Technique fullscreen
Cannot find render pass swapchain. Defaulting to swapchain
Created technique fullscreen in 0.059043 seconds
Parsing GPU Technique main
temp.shader

temp.shader

Cannot find render pass swapchain. Defaulting to swapchain
temp.shader

temp.shader

Cannot find render pass swapchain. Defaulting to swapchain
Cannot find render pass swapchain. Defaulting to swapchain
 MessageID: UNASSIGNED-CoreValidation-Shader-OutputNotConsumed 101294395
Message: Validation Performance Warning: [ UNASSIGNED-CoreValidation-Shader-OutputNotConsumed ] Object 0: handle = 0x50c1c40000000176, name = depth_pre_skinning, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x609a13b | Vertex attribute at location 1 not consumed by vertex shader

 MessageID: UNASSIGNED-CoreValidation-Shader-OutputNotConsumed 101294395
Message: Validation Performance Warning: [ UNASSIGNED-CoreValidation-Shader-OutputNotConsumed ] Object 0: handle = 0x50c1c40000000176, name = depth_pre_skinning, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x609a13b | Vertex attribute at location 2 not consumed by vertex shader

Created technique main in 2.755751 seconds
Parsing GPU Technique pbr_lighting
Created technique pbr_lighting in 0.559749 seconds
Parsing GPU Technique depth_of_field
Created technique depth_of_field in 0.117131 seconds
Parsing GPU Technique cloth
Cannot find render pass . Defaulting to swapchain
Created technique cloth in 0.297759 seconds
Parsing GPU Technique debug
temp.shader

temp.shader

UNASSIGNED-CoreValidation-Shader-InputNotProduced(ERROR / SPEC): msgNum: 602160055 - Validation Error: [ UNASSIGNED-CoreValidation-Shader-InputNotProduced ] Object 0: handle = 0xbf8b0600000001b6, name = debug_mesh, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x23e43bb7 | Vertex shader consumes input at location 0 but not provided
    Objects: 1
        [0] 0xbf8b0600000001b6, type: 15, name: debug_mesh
 MessageID: UNASSIGNED-CoreValidation-Shader-InputNotProduced 602160055
Message: Validation Error: [ UNASSIGNED-CoreValidation-Shader-InputNotProduced ] Object 0: handle = 0xbf8b0600000001b6, name = debug_mesh, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x23e43bb7 | Vertex shader consumes input at location 0 but not provided

Created technique debug in 0.567291 seconds
Parsing GPU Technique culling
Cannot find render pass culling_pass. Defaulting to swapchain
Created technique culling in 0.410780 seconds
Loaded scene Sponza.gltf in 0.530631 seconds.
Stats:
        Reading GLTF file 0.114854 seconds
        Textures Creating 0.069313 seconds
        Creating Samplers 0.000095 seconds
        Reading Buffers Data 0.003611 seconds
        Creating Buffers 0.342756 seconds
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/white.png read in 0.184000 ms
Focus Gained
Exposed
Graphics error: trying to free invalid Buffer<PHONE_NUMBER>
Graphics error: trying to free invalid Buffer<PHONE_NUMBER>
Graphics error: trying to free invalid DescriptorSet<PHONE_NUMBER>
Graphics error: trying to free invalid DescriptorSet<PHONE_NUMBER>
Graphics error: trying to free invalid DescriptorSet<PHONE_NUMBER>
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8747919177698443163.jpg read in 49.281000 ms
SYNC-HAZARD-WRITE-AFTER-READ(ERROR / SPEC): msgNum: 929810911 - Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).
    Objects: 1
        [0] 0xdf011a0000000309, type: 10, name: depth_hierarchy
 MessageID: SYNC-HAZARD-WRITE-AFTER-READ 929810911
Message: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).

SYNC-HAZARD-WRITE-AFTER-READ(ERROR / SPEC): msgNum: 929810911 - Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).
    Objects: 1
        [0] 0xdf011a0000000309, type: 10, name: depth_hierarchy
 MessageID: SYNC-HAZARD-WRITE-AFTER-READ 929810911
Message: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).

SYNC-HAZARD-WRITE-AFTER-READ(ERROR / SPEC): msgNum: 929810911 - Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).
    Objects: 1
        [0] 0xdf011a0000000309, type: 10, name: depth_hierarchy
 MessageID: SYNC-HAZARD-WRITE-AFTER-READ 929810911
Message: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).

SYNC-HAZARD-WRITE-AFTER-READ(ERROR / SPEC): msgNum: 929810911 - Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).
    Objects: 1
        [0] 0xdf011a0000000309, type: 10, name: depth_hierarchy
 MessageID: SYNC-HAZARD-WRITE-AFTER-READ 929810911
Message: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).

SYNC-HAZARD-WRITE-AFTER-READ(ERROR / SPEC): msgNum: 929810911 - Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).
    Objects: 1
        [0] 0xdf011a0000000309, type: 10, name: depth_hierarchy
 MessageID: SYNC-HAZARD-WRITE-AFTER-READ 929810911
Message: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).

SYNC-HAZARD-WRITE-AFTER-READ(ERROR / SPEC): msgNum: 929810911 - Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).
    Objects: 1
        [0] 0xdf011a0000000309, type: 10, name: depth_hierarchy
 MessageID: SYNC-HAZARD-WRITE-AFTER-READ 929810911
Message: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).

SYNC-HAZARD-WRITE-AFTER-READ(ERROR / SPEC): msgNum: 929810911 - Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).
    Objects: 1
        [0] 0xdf011a0000000309, type: 10, name: depth_hierarchy
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2969916736137545357.jpg read in 52.549000 ms
 MessageID: SYNC-HAZARD-WRITE-AFTER-READ 929810911
Message: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).

SYNC-HAZARD-WRITE-AFTER-READ(ERROR / SPEC): msgNum: 929810911 - Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).
    Objects: 1
        [0] 0xdf011a0000000309, type: 10, name: depth_hierarchy
 MessageID: SYNC-HAZARD-WRITE-AFTER-READ 929810911
Message: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xdf011a0000000309, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xdf011a0000000309[depth_hierarchy]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDrawIndexedIndirect, seq_no: 22, reset_no: 2).

SYNC-HAZARD-WRITE-AFTER-READ(ERROR / SPEC): msgNum: 929810911 - Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xfde6b40000000140, name = gbuffer_colour, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xfde6b40000000140[gbuffer_colour]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDispatch, seq_no: 51, reset_no: 2).
    Objects: 1
        [0] 0xfde6b40000000140, type: 10, name: gbuffer_colour
 MessageID: SYNC-HAZARD-WRITE-AFTER-READ 929810911
Message: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xfde6b40000000140, name = gbuffer_colour, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xfde6b40000000140[gbuffer_colour]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDispatch, seq_no: 51, reset_no: 2).

SYNC-HAZARD-WRITE-AFTER-READ(ERROR / SPEC): msgNum: 929810911 - Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xc48f160000000142, name = gbuffer_normals, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xc48f160000000142[gbuffer_normals]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDispatch, seq_no: 51, reset_no: 2).
    Objects: 1
        [0] 0xc48f160000000142, type: 10, name: gbuffer_normals
 MessageID: SYNC-HAZARD-WRITE-AFTER-READ 929810911
Message: Validation Error: [ SYNC-HAZARD-WRITE-AFTER-READ ] Object 0: handle = 0xc48f160000000142, name = gbuffer_normals, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x376bc9df | vkCmdPipelineBarrier2KHR: Hazard WRITE_AFTER_READ for image barrier 0 VkImage 0xc48f160000000142[gbuffer_normals]. Access info (usage: SYNC_IMAGE_LAYOUT_TRANSITION, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_READ, read_barriers: VK_PIPELINE_STAGE_2_NONE, command: vkCmdDispatch, seq_no: 51, reset_no: 2).

SYNC-HAZARD-READ-AFTER-WRITE(ERROR / SPEC): msgNum: -455515022 - Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0x9636eb000000012f, name = Dummy_texture, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDraw: Hazard READ_AFTER_WRITE for VkImageView 0x9636eb000000012f[Dummy_texture], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xa952a5000000016f[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 6. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE, write_barriers: 0, command: vkCmdDispatch, seq_no: 65, reset_no: 2).
    Objects: 1
        [0] 0x9636eb000000012f, type: 14, name: Dummy_texture
 MessageID: SYNC-HAZARD-READ-AFTER-WRITE -455515022
Message: Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0x9636eb000000012f, name = Dummy_texture, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDraw: Hazard READ_AFTER_WRITE for VkImageView 0x9636eb000000012f[Dummy_texture], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xa952a5000000016f[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 6. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE, write_barriers: 0, command: vkCmdDispatch, seq_no: 65, reset_no: 2).

SYNC-HAZARD-READ-AFTER-WRITE(ERROR / SPEC): msgNum: -455515022 - Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xe1d669000000014a, name = depth, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDraw: Hazard READ_AFTER_WRITE for VkImageView 0xe1d669000000014a[depth], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xa952a5000000016f[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 12. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE, command: vkCmdPipelineBarrier2KHR, seq_no: 67, reset_no: 2).
    Objects: 1
        [0] 0xe1d669000000014a, type: 14, name: depth
 MessageID: SYNC-HAZARD-READ-AFTER-WRITE -455515022
Message: Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xe1d669000000014a, name = depth, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDraw: Hazard READ_AFTER_WRITE for VkImageView 0xe1d669000000014a[depth], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xa952a5000000016f[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 12. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE, command: vkCmdPipelineBarrier2KHR, seq_no: 67, reset_no: 2).

SYNC-HAZARD-READ-AFTER-WRITE(ERROR / SPEC): msgNum: -455515022 - Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xa9fdf000000014c, name = final, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDraw: Hazard READ_AFTER_WRITE for VkImageView 0xa9fdf000000014c[final], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xa952a5000000016f[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 13. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ|SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_WRITE, command: vkCmdPipelineBarrier2KHR, seq_no: 66, reset_no: 2).
    Objects: 1
        [0] 0xa9fdf000000014c, type: 14, name: final
 MessageID: SYNC-HAZARD-READ-AFTER-WRITE -455515022
Message: Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xa9fdf000000014c, name = final, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDraw: Hazard READ_AFTER_WRITE for VkImageView 0xa9fdf000000014c[final], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xa952a5000000016f[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 13. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ|SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_WRITE, command: vkCmdPipelineBarrier2KHR, seq_no: 66, reset_no: 2).

SYNC-HAZARD-READ-AFTER-WRITE(ERROR / SPEC): msgNum: -455515022 - Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xddd419000000030a, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDraw: Hazard READ_AFTER_WRITE for VkImageView 0xddd419000000030a[depth_hierarchy], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xa952a5000000016f[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 84. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE, write_barriers: 0, command: vkCmdDispatch, seq_no: 65, reset_no: 2).
    Objects: 1
        [0] 0xddd419000000030a, type: 14, name: depth_hierarchy
 MessageID: SYNC-HAZARD-READ-AFTER-WRITE -455515022
Message: Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xddd419000000030a, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDraw: Hazard READ_AFTER_WRITE for VkImageView 0xddd419000000030a[depth_hierarchy], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xa952a5000000016f[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 84. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE, write_barriers: 0, command: vkCmdDispatch, seq_no: 65, reset_no: 2).

SYNC-HAZARD-READ-AFTER-WRITE(ERROR / SPEC): msgNum: -455515022 - Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0x9636eb000000012f, name = Dummy_texture, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x9636eb000000012f[Dummy_texture], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xf8d1ba000000013e[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 6. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE, write_barriers: 0, command: vkCmdDispatch, seq_no: 65, reset_no: 2).
    Objects: 1
        [0] 0x9636eb000000012f, type: 14, name: Dummy_texture
 MessageID: SYNC-HAZARD-READ-AFTER-WRITE -455515022
Message: Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0x9636eb000000012f, name = Dummy_texture, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x9636eb000000012f[Dummy_texture], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xf8d1ba000000013e[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 6. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE, write_barriers: 0, command: vkCmdDispatch, seq_no: 65, reset_no: 2).

SYNC-HAZARD-READ-AFTER-WRITE(ERROR / SPEC): msgNum: -455515022 - Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xe1d669000000014a, name = depth, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0xe1d669000000014a[depth], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xf8d1ba000000013e[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 12. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE, command: vkCmdPipelineBarrier2KHR, seq_no: 67, reset_no: 2).
    Objects: 1
        [0] 0xe1d669000000014a, type: 14, name: depth
 MessageID: SYNC-HAZARD-READ-AFTER-WRITE -455515022
Message: Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xe1d669000000014a, name = depth, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0xe1d669000000014a[depth], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xf8d1ba000000013e[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 12. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE, command: vkCmdPipelineBarrier2KHR, seq_no: 67, reset_no: 2).

SYNC-HAZARD-READ-AFTER-WRITE(ERROR / SPEC): msgNum: -455515022 - Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xa9fdf000000014c, name = final, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0xa9fdf000000014c[final], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xf8d1ba000000013e[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 13. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ|SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_WRITE, command: vkCmdPipelineBarrier2KHR, seq_no: 66, reset_no: 2).
    Objects: 1
        [0] 0xa9fdf000000014c, type: 14, name: final
 MessageID: SYNC-HAZARD-READ-AFTER-WRITE -455515022
Message: Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xa9fdf000000014c, name = final, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0xa9fdf000000014c[final], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xf8d1ba000000013e[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 13. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ|SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_WRITE, command: vkCmdPipelineBarrier2KHR, seq_no: 66, reset_no: 2).

SYNC-HAZARD-READ-AFTER-WRITE(ERROR / SPEC): msgNum: -455515022 - Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xddd419000000030a, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0xddd419000000030a[depth_hierarchy], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xf8d1ba000000013e[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 84. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE, write_barriers: 0, command: vkCmdDispatch, seq_no: 65, reset_no: 2).
    Objects: 1
        [0] 0xddd419000000030a, type: 14, name: depth_hierarchy
 MessageID: SYNC-HAZARD-READ-AFTER-WRITE -455515022
Message: Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xddd419000000030a, name = depth_hierarchy, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0xddd419000000030a[depth_hierarchy], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xf8d1ba000000013e[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 84. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE, write_barriers: 0, command: vkCmdDispatch, seq_no: 65, reset_no: 2).

SYNC-HAZARD-READ-AFTER-WRITE(ERROR / SPEC): msgNum: -455515022 - Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0x9636eb000000012f, name = Dummy_texture, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x9636eb000000012f[Dummy_texture], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xf8d1ba000000013e[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 6. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE, write_barriers: 0, command: vkCmdDispatch, seq_no: 65, reset_no: 2).
    Objects: 1
        [0] 0x9636eb000000012f, type: 14, name: Dummy_texture
 MessageID: SYNC-HAZARD-READ-AFTER-WRITE -455515022
Message: Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0x9636eb000000012f, name = Dummy_texture, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x9636eb000000012f[Dummy_texture], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xf8d1ba000000013e[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 6. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_COMPUTE_SHADER_SHADER_STORAGE_WRITE, write_barriers: 0, command: vkCmdDispatch, seq_no: 65, reset_no: 2).

SYNC-HAZARD-READ-AFTER-WRITE(ERROR / SPEC): msgNum: -455515022 - Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xe1d669000000014a, name = depth, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0xe1d669000000014a[depth], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xf8d1ba000000013e[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 12. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE, command: vkCmdPipelineBarrier2KHR, seq_no: 67, reset_no: 2).
    Objects: 1
        [0] 0xe1d669000000014a, type: 14, name: depth
 MessageID: SYNC-HAZARD-READ-AFTER-WRITE -455515022
Message: Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0xe1d669000000014a, name = depth, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0xe1d669000000014a[depth], in VkCommandBuffer 0x22ac649a540[], and VkPipeline 0xf8d1ba000000013e[], VkDescriptorSet 0x9055060000000132[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL, binding #10, index 12. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_STORAGE_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE, command: vkCmdPipelineBarrier2KHR, seq_no: 67, reset_no: 2).

File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/14118779221266351425.jpg read in 74.958000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/13196865903111448057.jpg read in 28.989000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/6772804448157695701.jpg read in 39.500000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/759203620573749278.jpg read in 34.185000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/17556969131407844942.jpg read in 30.685000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8481240838833932244.jpg read in 35.682000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/10381718147657362067.jpg read in 47.267000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2411100444841994089.jpg read in 32.251000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/755318871556304029.jpg read in 28.779000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/3827035219084910048.jpg read in 38.868000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/1219024358953944284.jpg read in 29.126000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/16275776544635328252.png read in 102.722000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/14170708867020035030.jpg read in 23.185000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/9288698199695299068.jpg read in 53.900000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/4910669866631290573.jpg read in 52.940000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/11474523244911310074.jpg read in 54.875000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/4601176305987539675.jpg read in 52.368000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/466164707995436622.jpg read in 34.259000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/17876391417123941155.jpg read in 56.015000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/6593109234861095314.jpg read in 52.750000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2185409758123873465.jpg read in 43.095000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/332936164838540657.jpg read in 46.359000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2775690330959970771.jpg read in 45.261000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2374361008830720677.jpg read in 46.697000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/7815564343179553343.jpg read in 38.556000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/4675343432951571524.jpg read in 42.960000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/7056944414013900257.jpg read in 46.668000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/3371964815757888145.jpg read in 40.086000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/4975155472559461469.jpg read in 31.696000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2299742237651021498.jpg read in 44.960000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8783994986360286082.jpg read in 31.827000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/6151467286084645207.jpg read in 40.354000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/7645212358685992005.jpg read in 40.191000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/3455394979645218238.jpg read in 36.901000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/11490520546946913238.jpg read in 29.555000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/3628158980083700836.jpg read in 35.966000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8114461559286000061.jpg read in 25.028000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/7441062115984513793.jpg read in 40.734000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/6667038893015345571.jpg read in 41.774000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/13824894030729245199.jpg read in 29.229000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/5823059166183034438.jpg read in 36.665000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/14267839433702832875.jpg read in 41.975000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8051790464816141987.jpg read in 27.437000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/6047387724914829168.jpg read in 35.984000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/15722799267630235092.jpg read in 36.759000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/9916269861720640319.jpg read in 37.846000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/15295713303328085182.jpg read in 36.027000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/10388182081421875623.jpg read in 49.162000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/4871783166746854860.jpg read in 37.194000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/14650633544276105767.jpg read in 34.833000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/2051777328469649772.jpg read in 24.616000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/11968150294050148237.jpg read in 36.102000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/5792855332885324923.jpg read in 36.709000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/16299174074766089871.jpg read in 29.009000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/16885566240357350108.jpg read in 18.785000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8750083169368950601.jpg read in 30.577000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/13982482287905699490.jpg read in 28.805000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8503262930880235456.jpg read in 21.164000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/7268504077753552595.jpg read in 36.890000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/4477655471536070370.jpg read in 24.059000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/715093869573992647.jpg read in 27.048000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8006627369776289000.png read in 90.463000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/12501374198249454378.jpg read in 31.765000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/11872827283454512094.jpg read in 39.001000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/5061699253647017043.png read in 157.446000 ms
File ../deps/src/glTF-Sample-Models/2.0/Sponza/glTF/8773302468495022225.jpg read in 31.119000 ms
Finished uploading textures in 3.070485 seconds

This seems to be happening Chapter 1 as well, pulled and built today. Defining VULKAN_SYNCHRONIZATION_VALIDATION doesn't appear to output any validation errors either.
Interestingly enough similar to tuket, turning on the synchronization validation lessons the artifacts for me, at certain angles and movements they still appear.
I am running an RX6800

I have the same issue on a 6700XT

Could someone post a screenshot of the artefact? I see some corruption on my Nvidia card for early chapters and want to make sure it's the same one.

Could someone post a screenshot of the artefact? I see some corruption on my Nvidia card for early chapters and want to make sure it's the same one.

There is a screenshot in the first message. Can you post your screenshot?

Could someone post a screenshot of the artefact? I see some corruption on my Nvidia card for early chapters and want to make sure it's the same one.

I'll post another as an example. But just as a note in my case the artifacts don't really show up too much until the camera is moving. When there is no camera movement there are just some flickers of artifacts here and there.

Same for me: artifacts are more noticeable while moving the camera

Well, that's embarrassing: it turns out we were using the wrong swapchain image during rendering. We might revisit this later and implement a more robust solution (i.e. render into a different image and copy the result into the swapchain image).
I tested on an AMD card and this should now be fixed. If someone could confirm, we can close this issue :)

It appears to be fixed for me, thanks!

Closing this as it seems to be fixed. Feel free to reopen if that's not the case.


Include gometalinter as part of the build process

I've manually gone through some of the linters of gometalinter and filtered out the relevant messages. It's a great tool. I think it caught ~50 bugs with the openbazaar-go codebase. I suggest automating this process to catch bugs earlier, maybe through the CI system. Gometalinter allows for configuration files and below is an example configuration file I use:
{
	"DisableAll": false,
 	"Enable": [
		"aligncheck",
		"deadcode",
		"dupl",
		"errcheck",
		"gas",
		"goconst",
		"gocyclo",
		"gofmt",
		"goimports",
		"gosimple",
		"ineffassign",
		"interfacer",
		"lll",
		"misspell",
		"staticcheck",
		"structcheck",
		"test",
		"testify",
		"unconvert",
		"unused",
		"varcheck",
		"vet",
		"vetshadow"
 	],
 	"Deadline": "60s",
 	"LineLength": 120
}

I'm going to combine issues #492 #493 #494 #495 #496 #497 and #498 into this one as they are all just linting issues. Feel free to contribute as well.

Superseded by #499

Closing. Remaining work captured in #1169.


Collect generics into composed interface

I would like
//go:generate genny -in=$GOFILE -out=$GOFILE_gen gen "Datatype=string,int"

type Datatype generic.Type
type GetterDatatype interface {
  GetDataType(column string) (DataType, err)
}
type HasGetters interface {
  GetterDatatype
}

To expand into
type GetterInt interface {
  GetInt(column string) (int, err)
}
type GetterString interface {
  GetString(column string) (string, err)
}
type HasGetters interface {
  GetterInt
  GetterString
}

But, of course, it doesn't. Is this a worthy enhancement? Is there a workaround to define HasGetters (other than knowing ahead of time what the datatypes are)?

What does it do right now?

just duplicate entire file basically. Such a feature would be quite useful for me as well.


Varendra University

@rkduhl I am sorry, the domain vu.edu.bd is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


sys/freebsd: remove linux specific include files for ICMP

Before sending a pull request, please review Contribution Guidelines:
https://github.com/google/syzkaller/blob/master/docs/contributing.md

FreeBSD have (had?) Linux emulation subsystem and this worked. syzkaller even once managed to generate a linux repro that crashed FreeBSD as is. Why are we removing this?

Right.
I think the repro that crashed freebsd was indeed compiled for linux (at the time we couldn't compile for freebsd), and then it was run as is on freebsd and managed to crash it.
So if we properly build for freebsd, we won't have accesses to the linux APIs, right?
We will need to figure out something else to test linux APIs on freebsd, but let's stick with native freebsd APIs for now.

Yepp, that makes sense to me. Running an executor compiled for Linux (right now this means compiled on Linux). I think we can do two things:

Ensure we can build syzkaller on FreeBSD for FreeBSD. This is what I'm doing now (need to update the README). This tests the FreeBSD kernel using the native API.
Ensure we can run the executor build on Linux on FreeBSD. This allows us to test the FreeBSD kernel and used via the Linux compatibility layer.

Right now I'm focussing on the first item with the focus on networking...

Right now I'm focussing on the first item with the focus on networking...

Sounds good to me.


MIssing content after parsing html

Describe the bug
Some content of html is removed after parsing
To Reproduce
Run following script:
require 'nokogiri'
before = '
Affecting

saml2-js

package, versions

< 1.12.4 || >= 2.0.0 <2.0.2

'

puts before
html = Nokogiri::HTML(before)
after = html.inner_html
puts
puts after

output:
`

Affecting

saml2-js

package, versions

< 1.12.4 || >= 2.0.0 <2.0.2

Affecting

saml2-js

package, versions

= 2.0.0 <2.0.2

`
'< 1.12.4 || >' was removed after parsing

**Expected behavior**

I expect it to appear after parsing since this html is displayed properly on https://snyk.io/vuln/npm:saml2-js:20180227

**Environment**

Nokogiri (1.10.4)
---
warnings: []
nokogiri: 1.10.4
ruby:
  version: 2.6.3
  platform: x64-mingw32
  description: ruby 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32]
  engine: ruby
libxml:
  binding: extension
  source: packaged
  libxml2_path: "/home/flavorjones/code/oss/nokogiri/ports/x86_64-w64-mingw32/libxml2/2.9.9"
  libxslt_path: "/home/flavorjones/code/oss/nokogiri/ports/x86_64-w64-mingw32/libxslt/1.1.33"
  libxml2_patches:
  - 0001-Revert-Do-not-URI-escape-in-server-side-includes.patch
  - 0002-Remove-script-macro-support.patch
  - 0003-Update-entities-to-remove-handling-of-ssi.patch
  libxslt_patches:
  - 0001-Fix-security-framework-bypass.patch
  compiled: 2.9.9
  loaded: 2.9.9

@vdoan7773 Thanks for asking this question. The short answer is that you're seeing differences in how a browser "fixes" invalid HTML and how libxml2 (which is the underlying parser used by Nokogiri) "fixes" invalid HTML. Nokogiri inherits this behavior from the parser, and so there's nothing we can easily do to change this behavior.
Longer answer:
The presence of the bare character < when it is not part of an HTML tag is invalid markup. You can see this by inspecting html.errors in your example. I've simplified your example to show this:
#! /usr/bin/env ruby

require "nokogiri"

html = <<-EOHTML

< 1.12.4 || >= 2.0.0 <2.0.2

EOHTML

puts html
puts

doc = Nokogiri::HTML(html)
puts doc
puts
puts doc.errors
``

outputs:

< 1.12.4 || >= 2.0.0 <2.0.2

= 2.0.0 <2.0.2

2:2: ERROR: htmlParseStartTag: invalid element name
2:48: ERROR: htmlParseStartTag: invalid element name

You can see that libxml2 is flagging the bare `<` as a `SyntaxError` and failing to parse what it assumes is a start tag.

We've had lots of issues filed over the years pointing out differences between how libxml2 fixes broken markup when compared to browsers, Xerces, etc. Unfortunately, fixing broken markup isn't something that's defined in the HTML spec and so is implemented differently in different parsers.

Maybe the one actionable thing here is to file a bug report with Snyk asking them to emit well-formed, valid HTML. They should be html-encoding that version string before putting it into their web page, and so `<` should be rendered as `<`. In fact, now I'm wondering if that isn't an injection vulnerability waiting to happen?

Anyhoo, sorry I can't be of more help here. I hope I've explained what's going on, but let me know if you have other questions.


handle double column names?

How does node-mysql handle double column names?
Example:
SELECT person.*, 'man' AS gender FROM person
Where person also has a gender column.
(not realistic example but you get the point)
From some testing it looks like the lib will use the value of the latests column. But I want to be sure that this is by design and will not change.

So you can find full information in our readme: https://github.com/felixge/node-mysql#joins-with-overlapping-column-names
But as for the exact behavior of "which column's value is the end result" is this: MySQL server sends us a list of field names from your query results. I believe MySQL always sends them in the order you specified, but you'll have to verify with your MySQL server itself and it's manual. After that, when we populate the result object, we populate the properties in that order, which we overwrite whatever the old value is with the latest value.

Woops overlooked that.
Thanks for the info!  As far as I know MySQL always returns the columns in order specified in the query so that will work for me.

Yep :) As for us, we'll always keep this behavior for object results :)

Ok then I can use it reliably, thanks!


missing the file environment.yml

Please upload the file environment.yml so that I can create a virtual environment.

Hi, welcome to any interest in our approach. We've fixed the potential bugs a bit and uploaded the requirements.txt


Switch to "dep" for dependencies (vendor)

Since this is a "best practice" example I suggest switching to Dep (the semi-official vendoring app) instead of Govendor.  Cheers!

@dstroot Thanks for the suggestion, we'll look into it.
We had originally selected govendor as it was the example for Heroku.


[MM-19261] Show a tooltip on public or private channel names that get truncated

Summary
Shows a tooltip when hovering over a channel name that is long enough to get truncated with ellipses (...)
Screenshots

Ticket Link
Fixes https://github.com/mattermost/mattermost-server/issues/12662

Creating a new SpinWick test server using Mattermost Cloud.

Mattermost test server created! :tada:
Access here: https://mattermost-webapp-pr-3953.test.mattermost.cloud

Account Type
Username
Password

Admin
sysadmin
Sys@dmin123

User
user-1
User-1@123

New commit detected. SpinWick will upgrade if the updated docker image is available.

Mattermost test server updated with git commit 1899bf98c18dc57d16885122bdaa20f705c3dc05.
Access here: https://mattermost-webapp-pr-3953.test.mattermost.cloud

@esethna To be consistent, should the GM also only show the tooltip when they get truncated as well? It currently shows it at all times:

@marianunez, thanks for reporting this. Actually, the way I've implemented it should actually handle group messages consistently like other channel types. Here is an example from my local environment where it doesn't show a tooltip.

I will try to reproduce the case you've tested on my local environment and see why it behaves differently in that case.

@marianunez, thanks for reporting this. Actually, the way I've implemented it should handle group messages consistently like other channel types. Here is an example from my local environment where it doesn't show a tooltip.

I will try to reproduce the case you've tested on my local environment and see why it behaves differently in that case.

@abdusabri Yes, reviewing the code I see that it should behave the same but on the test server it still is showing for the example above. There must be an edge case that is causing that bug.

@marianunez @abdusabri yes agree for consistency we should only show the tooltips if the channel/GM is truncated

@marianunez, thanks for reporting this. Actually, the way I've implemented it should handle group messages consistently like other channel types. Here is an example from my local environment where it doesn't show a tooltip.

I will try to reproduce the case you've tested on my local environment and see why it behaves differently in that case.

@abdusabri Yes, reviewing the code I see that it should behave the same but on the test server it still is showing for the example above. There must be an edge case that is causing that bug.

@marianunez, I wasn't able to reproduce the issue locally, even when I initiated a group discussion with the 2 users of exactly the same name.
While testing on the test server, I'd closed the group chat and re-opened it again. Now, it doesn't happen on the test server as well. Here is a screenshot.

What are your thoughts? How should we proceed with this?

New commit detected. SpinWick will upgrade if the updated docker image is available.

Mattermost test server updated with git commit fd57757df77c66eb944424ac52840b43397484eb.
Access here: https://mattermost-webapp-pr-3953.test.mattermost.cloud

@marianunez, thanks for reporting this. Actually, the way I've implemented it should handle group messages consistently like other channel types. Here is an example from my local environment where it doesn't show a tooltip.

I will try to reproduce the case you've tested on my local environment and see why it behaves differently in that case.

@abdusabri Yes, reviewing the code I see that it should behave the same but on the test server it still is showing for the example above. There must be an edge case that is causing that bug.

@marianunez, I wasn't able to reproduce the issue locally, even when I initiated a group discussion with the 2 users of exactly the same name.
While testing on the test server, I'd closed the group chat and re-opened it again. Now, it doesn't happen on the test server as well. Here is a screenshot.

What are your thoughts? How should we proceed with this?

@marianunez, after pushing the latest commit, the issue re-appeared on the testing server. I don't know why, but it seems the first time the server is created/updated the issue appears in some cases, initiating new group messages - or closing and opening existing ones - makes it behave normally 😕 (still unable to reproduce locally though)

New commit detected. SpinWick will upgrade if the updated docker image is available.

Mattermost test server updated with git commit 938d241a788b67d04514a0a82d18fcb531e12266.
Access here: https://mattermost-webapp-pr-3953.test.mattermost.cloud

@marianunez, the issue is now fixed 🎉
I will just merge and push, and that should do it for this PR 🙂

New commit detected. SpinWick will upgrade if the updated docker image is available.

New commit detected. SpinWick will upgrade if the updated docker image is available.

Test server creation failed. See the logs for more information.

Mattermost test server updated with git commit 5afeb73e934ac9f3914f6111f1cd1209c6c4749e.
Access here: https://mattermost-webapp-pr-3953.test.mattermost.cloud

Test server destroyed


Ensure term change is written to disk.

Another place.

Thanks @cannium -- we actually overhauled the code in question, so the underlying issue should now be addressed.


Source Generator Error

Once you introduce a variable of the type instead of casting, the source generator does not work.
This works
public static class TransactionExtensions
{
    [Projectable]
    public static NameIntResponse GetTransactionType(this Transaction transaction) => transaction is ItemAdjustmentTransaction
        ? new NameIntResponse(transaction.Id, "Adjustment")
        : transaction is ItemReceiveTransaction
            ? new NameIntResponse(((ItemReceiveTransaction)transaction).Receipt.PurchaseOrderId, "Purchase Order")
            : transaction is ItemTransferTransaction
                ? new NameIntResponse(((ItemTransferTransaction)transaction).ItemTransferId, "Transfer")
                : new NameIntResponse(0, "Invalid");
}

But did does not
public static class TransactionExtensions
{
    [Projectable]
    public static NameIntResponse GetTransactionType(this Transaction transaction) => transaction is ItemAdjustmentTransaction
        ? new NameIntResponse(transaction.Id, "Adjustment")
        : transaction is ItemReceiveTransaction receiveTransaction
            ? new NameIntResponse(receiveTransaction.Receipt.PurchaseOrderId, "Purchase Order")
            : transaction is ItemTransferTransaction transferTransaction
                ? new NameIntResponse(transferTransaction.ItemTransferId, "Transfer")
                : new NameIntResponse(0, "Invalid");
}

Errors
The type or namespace name 'ItemReceiveTransactionreceiveTransaction' does not exist in the namespace 'Domain.Entities'

The type or namespace name 'ItemTransferTransactiontransferTransaction' does not exist in the namespace 'Domain.Entities'

Named patterns are not supported in C# expression trees. Hence the error.
We would have to rewrite in such a way that this is supported (rewrite your second example into your first example). This is not a trivial undertaking. Instead I propose we add explicit diagnostics informing the user that this is not supported.

Thank you. Good to know. I'm closing the issue.

In the current version 3.0.0 this same code is not compiling.
using Application.Responses;
using Domain.Entities;
using EntityFrameworkCore.Projectables;

namespace Application.Projectables;

public static class TransactionExtensions
{
    [Projectable]
    public static NameIntResponse GetTransactionType(this Transaction transaction) => transaction is ItemAdjustmentTransaction
        ? new NameIntResponse(transaction.Id, "Adjustment")
        : transaction is ItemReceiveTransaction
            ? new NameIntResponse(((ItemReceiveTransaction)transaction).Receipt.PurchaseOrderId, "Purchase Order")
            : transaction is ItemTransferTransaction
                ? new NameIntResponse(((ItemTransferTransaction)transaction).ItemTransferId, "Transfer")
                : new NameIntResponse(0, "Invalid");
}

The type or namespace name 'NameIntResponse' could not be found (are you missing a using directive or an assembly reference?)
namespace Application.Responses;

public record NameIntResponse(int Id, string Name);


Object of type VideoLocalization is not JSON serializable

Trace probably won't be very useful, but here it is anyway:
Traceback (most recent call last):
  File "D:\up\code\wapatools\bases\wapaganda\media\update_service.py", line 32, in run_update
    await self.update_youtube()
  File "D:\up\code\wapatools\bases\wapaganda\media\update_service.py", line 49, in update_youtube
    await platform.update_targets(platform_targets)
  File "D:\up\code\wapatools\bases\wapaganda\media\platforms\youtube.py", line 260, in update_targets
    await self.update_target(target)
  File "D:\up\code\wapatools\bases\wapaganda\media\platforms\youtube.py", line 227, in update_target
    await target.fetch_target_updates()
  File "D:\up\code\wapatools\bases\wapaganda\media\platforms\youtube.py", line 75, in fetch_target_updates
    await self.session.commit()
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\ext\asyncio\session.py", line 1009, in commit
    await greenlet_spawn(self.sync_session.commit)
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 203, in greenlet_spawn
    result = context.switch(value)
             ^^^^^^^^^^^^^^^^^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 2028, in commit
    trans.commit(_to_root=True)
  File "<string>", line 2, in commit
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\orm\state_changes.py", line 139, in _go
    ret_value = fn(self, *arg, **kw)
                ^^^^^^^^^^^^^^^^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 1313, in commit
    self._prepare_impl()
  File "<string>", line 2, in _prepare_impl
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\orm\state_changes.py", line 139, in _go
    ret_value = fn(self, *arg, **kw)
                ^^^^^^^^^^^^^^^^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 1288, in _prepare_impl
    self.session.flush()
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 4352, in flush
    self._flush(objects)
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 4487, in _flush
    with util.safe_reraise():
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\util\langhelpers.py", line 146, in __exit__
    raise exc_value.with_traceback(exc_tb)
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\orm\session.py", line 4448, in _flush
    flush_context.execute()
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\orm\unitofwork.py", line 466, in execute
    rec.execute(self)
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\orm\unitofwork.py", line 642, in execute
    util.preloaded.orm_persistence.save_obj(
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\orm\persistence.py", line 93, in save_obj
    _emit_insert_statements(
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\orm\persistence.py", line 1143, in _emit_insert_statements
    result = connection.execute(
             ^^^^^^^^^^^^^^^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 1844, in _execute_context
    return self._exec_insertmany_context(dialect, context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 2126, in _exec_insertmany_context
    self._handle_dbapi_exception(
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 2358, in _handle_dbapi_exception
    raise exc_info[1].with_traceback(exc_info[2])
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\engine\base.py", line 2118, in _exec_insertmany_context
    dialect.do_execute(
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\dialects\postgresql\psycopg.py", line 587, in execute
    result = self.await_(self._cursor.execute(query, params, **kw))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 132, in await_only
    return current.parent.switch(awaitable)  # type: ignore[no-any-return,attr-defined] # noqa: E501
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\sqlalchemy\util\_concurrency_py3k.py", line 196, in greenlet_spawn
    value = await result
            ^^^^^^^^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\psycopg\cursor_async.py", line 93, in execute
    await self._conn.wait(
  File "D:\up\code\wapatools\.venv\Lib\site-packages\psycopg\connection_async.py", line 414, in wait
    return await waiting.wait_async(gen, self.pgconn.socket, interval=interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\psycopg\waiting.py", line 132, in wait_async
    s = next(gen)
        ^^^^^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\psycopg\_cursor_base.py", line 195, in _execute_gen
    pgq = self._convert_query(query, params)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\up\code\wapatools\.venv\Lib\site-packages\psycopg\_cursor_base.py", line 455, in _convert_query
    pgq.convert(query, params)
  File "D:\up\code\wapatools\.venv\Lib\site-packages\psycopg\_queries.py", line 96, in convert
    self.dump(vars)
  File "D:\up\code\wapatools\.venv\Lib\site-packages\psycopg\_queries.py", line 107, in dump
    self.params = self._tx.dump_sequence(params, self._want_formats)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "psycopg_binary\\_psycopg/transform.pyx", line 352, in psycopg_binary._psycopg.Transformer.dump_sequence
  File "psycopg_binary\\_psycopg/transform.pyx", line 403, in psycopg_binary._psycopg.Transformer.dump_sequence
  File "D:\up\code\wapatools\.venv\Lib\site-packages\psycopg\types\json.py", line 153, in dump
    data = dumps(obj)
           ^^^^^^^^^^
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\json\__init__.py", line 231, in dumps
    return _default_encoder.encode(obj)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\json\encoder.py", line 200, in encode
    chunks = self.iterencode(o, _one_shot=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\json\encoder.py", line 258, in iterencode
    return _iterencode(o, 0)
           ^^^^^^^^^^^^^^^^^
  File "C:\Users\user\AppData\Local\Programs\Python\Python311\Lib\json\encoder.py", line 180, in default
    raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type VideoLocalization is not JSON serializable

This occurs when I apply to_dict method on some items. I'm quite confused about how it works, tbh. But to provide you with more context: the update relates to channel with id UCW1Rq2slBb0rNuu2ZRJwZNw. I get several videos from it:

5BbDcnOYQUM. Localization appear as a normal JSON object

'localizations': {
'ru': {
'title': 'My evening',
'description': '''★VK★     https://new.vk.com/zhenya_lebedev_2016★Instagram★    https://www.instagram.com/zhenya_lebe...''',},}

2C_wIf1EQr8 Localization is None.

The next item fails with the exception above. I'm guessing, the trace has no mention of Sly because producing an object instead of a dictionary is not an error, but then my attempt to serialize it fails.

I was not able to recreate your issue exactly, but I was able to get a similar error from datetime. I switched the implementation of to_dict() to use my library designed to do exactly this kind of type conversion for serialization. I didn't do that earlier since I still needed to add a feature to opt into ignoring certain attributes though.
I published that version, but based on these two videos I am not quite sure if it is a complete solution yet.

It's not: I'm still getting the same serialization error on Localizations and LiveStreamingDetails fields

Are you certain that you are using the result of to_dict, and not Sqlachlemy's serializer?

Are you certain that you are using the result of to_dict, and not Sqlachlemy's serializer?

As a matter of fact, it may not be about to_dict method. I have disabled the line that does it, and the exceptions still occurred. I disabled code for localization and livestreamdetails altogether, and then it started working. Here's my function for parsing a video:
async def parse_raw_item(self, ytb_obj) -> YoutubeVid:
        # logfire.debug(f"Processing item {ytb_obj.to_dict()}")

        ## NOTE: objects for livestream_details and localizations are not used because they fail to serialize
        ## TODO: when the slyapi is updated with good fix, create a job to update old records.
        # livestream = ytb_obj.livestream_details
        # if livestream:
        #     for attr in dir(livestream):
        #         if type(attr) is datetime:
        #             setattr(livestream, attr, arrow.get(attr).format())
        #     livestream_details = livestream
        # else:
        #     livestream_details = None

        # localizations = ytb_obj.localizations
        # if localizations:
        #     localizations_data = localizations
        # else:
        #     localizations_data = None

        content_details = ytb_obj.content_details
        if content_details:
            is_licensed = content_details.is_licensed
            blocked_in = content_details.blocked_in
            allowed_in = content_details.allowed_in
        else:
            is_licensed = blocked_in = allowed_in = None

        item = YoutubeVid(
            stats_updated_on=arrow.now().datetime,
            segment_id=None,
            youtube_channel_id=self.channel.id,
            youtube_id=ytb_obj.id,
            aired_on=arrow.get(ytb_obj.published_at).datetime,
            title=ytb_obj.title,
            duration=ytb_obj.duration or 0,
            description=ytb_obj.description,
            views_count=ytb_obj.view_count or 0,
            likes_count=ytb_obj.like_count or 0,
            comments_count=ytb_obj.comment_count or 0,
            privacy_status=ytb_obj.privacy,
            is_livestream=ytb_obj.is_livestream,
            auto_default_lang=ytb_obj.default_audio_language,
            is_licensed=is_licensed,
            topic_categories=ytb_obj.topic_categories,
            # livestream_details=livestream_details,
            blocked_in=blocked_in,
            allowed_in=allowed_in,
            # localizations=localizations_data,
            recording_date=ytb_obj.recorded_at,
            cluster_id=None,
            relevance_status_id=2,
        )
        return item

I have no idea what fails, sorry.

If "YoutubeVid" is stored in directly SQL-like data model, then this makes sense. Columns having a type that mentions a non-scalar type usually requires some special adaption. In my opinion, this is a challenge much closer to your use case and is out of scope for this library to solve by itself.
However, for this specific function, here is what I might do:
async def parse_raw_item(self, ytb_obj) -> YoutubeVid:
        ytb_json = ytb_obj.to_dict()
        # logfire.debug(f"Processing item {ytb_json}")

        livestream_details = ytb_json['livestream_details']
        localizations = ytb_json['localizations']

        # rest is the same besides uncommenting the two args for creating item
        content_details = ytb_obj.content_details
        if content_details:
            is_licensed = content_details.is_licensed
            blocked_in = content_details.blocked_in
            allowed_in = content_details.allowed_in
        else:
            is_licensed = blocked_in = allowed_in = None

        item = YoutubeVid(
            stats_updated_on=arrow.now().datetime,
            segment_id=None,
            youtube_channel_id=self.channel.id,
            youtube_id=ytb_obj.id,
            aired_on=arrow.get(ytb_obj.published_at).datetime,
            title=ytb_obj.title,
            duration=ytb_obj.duration or 0,
            description=ytb_obj.description,
            views_count=ytb_obj.view_count or 0,
            likes_count=ytb_obj.like_count or 0,
            comments_count=ytb_obj.comment_count or 0,
            privacy_status=ytb_obj.privacy,
            is_livestream=ytb_obj.is_livestream,
            auto_default_lang=ytb_obj.default_audio_language,
            is_licensed=is_licensed,
            topic_categories=ytb_obj.topic_categories,
            livestream_details=livestream_details,
            blocked_in=blocked_in,
            allowed_in=allowed_in,
            localizations=localizations_data,
            recording_date=ytb_obj.recorded_at,
            cluster_id=None,
            relevance_status_id=2,
        )
        return item

Also, cool, I did not know about the Arrow library, it looks useful!

Thanks. Now I have to retire to a monastery, and contemplate why this hasn't occurred to me.


Update Email API to match GA version

Seeing several issues when trying to use the emulator with latest Email SDK. Following the quickstart:

"await until completed" poller never returns

From and To don't get populated correctly:

PR should fix the issue => https://github.com/DominikMe/acs-emulator/pull/57


Handle closing the connection

It would be great to create the Close function that would be the same as Reconnect's first few lines:
https://github.com/Rhymen/go-whatsapp/blob/c9a81e9578840e5c04c49c9e6126a1682faf22fc/conn.go#L188-L193

After invoking Close() the code is failing becasue the readPump routine keeps running.
github.com/gorilla/websocket.(*Conn).NextReader(0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/kmadejski/go/pkg/mod/github.com/gorilla/websocket@v1.4.0/conn.go:938 +0x59
github.com/gorilla/websocket.(*Conn).ReadMessage(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/kmadejski/go/pkg/mod/github.com/gorilla/websocket@v1.4.0/conn.go:1028 +0x86
github.com/matterbridge/go-whatsapp.(*Conn).readPump(0xc0003e6340)
	/home/kmadejski/Projects/go-whatsapp/conn.go:293 +0xb2
created by github.com/matterbridge/go-whatsapp.NewConn
	/home/kmadejski/Projects/go-whatsapp/conn.go:130 +0x2c9

Question: what should happen with all the queued messages after the connection has been closed? I think they need to be dropped.

I'm now wondering do I want to have the Close function or do I prefer go-whatsapp to reconnect.

My changes here: https://github.com/Rhymen/go-whatsapp/compare/master...KrzysztofMadejski:feature/reconnects

Restore() and Disconnect() are implemented now and should satisfy your suggestions

Thank you @SchulteMK for the great work!


UIPointer - Issues with canvas attached to controller

This is more for the information of others who will have canvas's attached to their controllers (for example, ammo read outs on guns or health bars on controllers).
If using the UI Pointer it grabs all the world canvas and adjusts them to suit it's needs, when it grabs one (or more) canvas's on the controller it causes the rotation logic to be wrong (I'm not sure why it's wrong but, for example, my gun seems to be hitting something on certain axis causing it to be bend at an odd angle).
My solution was to simply add a tag called "IgnoredByPointer", set this on all controller attached canvas's and have the SetWorldCanvas do a quick check:
    public static void SetWorldCanvas(Canvas canvas)
    {
        if (canvas.renderMode != RenderMode.WorldSpace)
        {
            return;
        }

		if (canvas.gameObject.CompareTag ("IgnoredByPointer"))
			return;

I think this would be good to have as an additional propery on the UIPointer, something like "ExcludeTagOrClass" and it would work similar to how the teleport exclusion works.

Yeah, probably a good idea to keep them similar..
At the moment most of these sorts of issues are "corner" cases (given they are sometimes specific to usage) but I suspect as more and more use the toolkit for real world games these scenario's will pop-up!

Keep this open as a reminder for me to do the work on the exclusions :)

PR to fix this issue at: https://github.com/thestonefox/SteamVR_Unity_Toolkit/pull/359


Which RJ45 socket should I pick?

Hi 👋🏽
My local shop has these options:

Type 58: 8P8C, Metal Shield, Horizontal 90°, No LED
Type 56: 8P8C, Metal Shield, Horizontal 90°, with 2 LEDs
Type 5224: 8P8C, Metal Shield, Vertical 180°, No LED (vertical!)

Would you recommend going with Type 58 or Type 56? Or would either work just as well?
I also noticed each socket has 8 pins, but the PCB has 9 holes. Could the extra hole be for a reversible design?
Thanks!

Hey. You want type 58. Type 56 has a different layout it seems. It also has some extra pins for the port leds, which you don't want.
Go with type 58.
And yeah, the ninth hole is for reversibility. Just align connector with outline on the side you are mounting it on and you should be fine.

Go with type 58

Okay!

And yeah, the ninth hole is for reversibility.

Oh, I see.
Thanks a lot! 🥞


Permission denied?

With the new release (1.7.0) im getting the following error:
$ docker run
   -v /var/run/docker.sock:/var/run/docker.sock:rw
   -v /var/lib/docker:/var/lib/docker:rw
   meltwater/docker-cleanup

exec: "/run.sh": permission denied
docker: Error response from daemon: Container command could not be invoked..

There's no problem with 1.6.0. Not sure what changes made in run.sh that require extra permission.

The executable bit on the run.sh script got lost as part of PR #22. The github diff doesn't make the mode change terribly obvious, unfortunately it passed review. I've corrected this and released 1.7.1 that fixes this problem


Requests fail when executed transactionally in parallel

Hi, we're using finagle-postgres for our project, it's great, but we've faced an unpleasant bug.
For example we have table:
CREATE TABLE dummy (
    id INT NOT NULL,
    PRIMARY KEY (id)
);

And we want to insert several values in transactional manner:
  it should "work" in {
    val ids = Seq(1, 2)
    val transaction = dbClient.inTransaction { client =>
      Future.collect {
        ids.map { id =>
          client.prepareAndExecute("INSERT INTO dummy (id) VALUES ($1)", id)
        }
      }
    }
    Await.result(transaction)
  }

But instead we're getting an error:
com.twitter.finagle.postgres.codec.ServerError: SQLSTATE 23505: duplicate key value (id)=(2) violates unique constraint "primary"
Enabling LoggingFilter on the client gives such logs:
Jan 21, 2021 1:31:14 PM com.twitter.finagle.filter.LoggingFilter log
INFO: Query(SELECT * FROM pg_catalog.pg_tables WHERE tableowner = 'root')
Jan 21, 2021 1:31:14 PM com.twitter.finagle.filter.LoggingFilter log
INFO: Query(BEGIN)
Jan 21, 2021 1:31:14 PM com.twitter.finagle.filter.LoggingFilter log
INFO: Parse(,INSERT INTO dummy (id) VALUES ($1),ArraySeq(23))
Jan 21, 2021 1:31:14 PM com.twitter.finagle.filter.LoggingFilter log
INFO: Parse(,INSERT INTO dummy (id) VALUES ($1),ArraySeq(23))
Jan 21, 2021 1:31:14 PM com.twitter.finagle.filter.LoggingFilter log
INFO: BIND[0000000131]
Jan 21, 2021 1:31:14 PM com.twitter.finagle.filter.LoggingFilter log
INFO: BIND[0000000132]
Jan 21, 2021 1:31:14 PM com.twitter.finagle.filter.LoggingFilter log
INFO: Describe(true,)
Jan 21, 2021 1:31:14 PM com.twitter.finagle.filter.LoggingFilter log
INFO: Describe(true,)
Jan 21, 2021 1:31:14 PM com.twitter.finagle.filter.LoggingFilter log
INFO: Execute(,0)
Jan 21, 2021 1:31:14 PM com.twitter.finagle.filter.LoggingFilter logException
INFO: VERY BAD
com.twitter.finagle.postgres.codec.ServerError: SQLSTATE 23505: duplicate key value (id)=(2) violates unique constraint "primary"

So we can see that sending parameters is different, but somehow it tries to insert the same value twice.
It works fine if we use Future.traverseSequentially instead of Future.collect, but it's not what we want.
Same error pops when we use transactional parallel SELECT requests with client.queryAs.
We use CockroachDB but it behave the same on PostgreSQL. For testing we use "com.dimafeng:testcontainers-scala" but same thing reproduces with instance in docker-compose.
Client config:
  val client: PostgresClient = Postgres.Client()
    .withCredentials(config.user, config.password)
    .database(config.database)
    .filtered(loggingFilter)
    .newRichClient(config.host)

.withBinaryParams doesn't help.

I've realized that it's not really a bug but feature, because transaction goes through a single connection and Postgres doesn't support concurrent requests for a single connection which implies that driver also wouldn't try to do that.
But I'm still interested is it possible to handle requests more efficient than with Future.traverseSequentially?

I've realized that it's not really a bug but feature, because transaction goes through a single connection and Postgres doesn't support concurrent requests for a single connection which implies that driver also wouldn't try to do that.
But I'm still interested is it possible to handle requests more efficient than with Future.traverseSequentially?


I'm getting "group" is not a known member of "None" error on some code that I got off of StackOverflow a few years back that works correctly

 Environment data

Language Server version: 2021.9.2
OS and version: win32 x64
Python version (and distribution if applicable, e.g. Anaconda): Anaconda 3.8.3
python.analysis.indexing: undefined
python.analysis.typeCheckingMode: basic

 Expected behaviour
Report no Error
 Actual behaviour
Reporting: "group" is not a known member of "None"
 Logs

Python Language Server Log
XXX 'Please paste the output from your clipboard'

 Code Snippet / Additional information
import re
class REMatcher(object):
''' This is a utility function to help out with matching regex's and
grabbing the matches out in a way that is similar to how perl
does it.
'''
def init(self, matchstring):
self.matchstring = matchstring
def match(self, regexp):
    self.rematch = re.match(regexp, self.matchstring,
                            re.IGNORECASE | re.MULTILINE | re.DOTALL)
    return bool(self.rematch)

def group(self, i):
    return self.rematch.group(i) #####<-------------------- This is the line that PyLance flags with an error

XXX

That's because self.rematch returns a may-be-None object. You should first use a if self.rematch is None check first.

That fixed the problem. Thank you so much for helping to clean up my code.


bpf: Consistent usage of MARK_MAGIC_ constants

We currently use 8 bits of the packet mark to indicate that SNAT was already performed. That is more than necessary and inconsistent with other users of the packet mark for similar purposes.
This pull request changes that to only use 4 bits under the reserved MARK_MAGIC_HOST_MASK mask.
Also worth noting that the IPsec comment here is incorrect: MARK_MAGIC_KEY_ID is currently unused so it wasn't conflicting with the SNAT mark.

/test


The generated tests package name is not derived from base class for Gradle Plugin

For contract 2.0.2.RELEASE
Example:
contracts {
	baseClassForTests = "com.example.demo.BaseClass"
}

generated test package
package org.springframework.cloud.contract.verifier.tests;
The same works fine with Maven.

That can be a breaking change, cause the generated tests for groovy will stop being created under org/springframework/cloud/contract/verifier. Maybe some users have some things hardcoded for that folder.


codec(ticdc): canal-json decouple get value from java type and refactor unit test

What problem does this PR solve?

Issue Number: close #10122
What is changed and how it works?
Check List
Tests

Unit test
Integration test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
`None`

/test dm-integration-test

/test dm-integration-test

/test dm-integration-test


automate load config file from default path

fix #128
Signed-off-by: yanxuean<EMAIL_ADDRESS>

@feiskyer    @Random-Liu   PTAL

@yanxuean Thanks for the PR. crictl will always fatal if /etc/crictl.yaml doesn't exist, while this is not expected.
Could you update the PR and fallback to flags and env if /etc/crictl.yaml doesn't exist?

yes，I will solve  it

@feiskyer  @Random-Liu  PTAL, Thanks

@yanxuean  LGTM. thanks a lot

@yanxuean Thanks!


Getting duplicated overlapping cells

Hi,
I've been trying to figure out why I get duplicated cells using your pod.

Here's the result, but those 2 rows have 2 other rows behind them:

As you can see in the image above, my table ends up having 2 copies that are identical, but overlapping. The data is returning 2 rows, but the cellForRowAtIndePath gets called 4 times instead of 2.
If I take out the code that assigns the ynDelegate to self, i.e.:
// self.customTableView.ynDelegate = self, it works fine. But of course I'll lose the functionality that is in this pod.
I made sure that the UITableView in the storyboard isn't using any delegate/datasource, as these get set when assigning the ynDelegate.
Please note that I'm not using any expandable cell yet, those cells are just my own custom cells that inherit from UITableViewCell.
Any help will be greatly appreciated, thanks!

It was due to this call:
let cell = tableView.dequeueReusableCell(withIdentifier: "AddonProductCell", for: indexPath)
Changing that to:
let cell = tableView.dequeueReusableCell(withIdentifier: "AddonProductCell")!
Fixed the issue. Not sure why it's the case?