Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-64697

Windows/IntelHD Graphics 620: Qt Quick application crashes if it contains a visible element, with certain compilers

    XMLWordPrintable

Details

    • DIsable disk caching: dff9bb2f9b981e263d8d3d5b1ef67054297e731c (qtbase/5.12, 12.9.2018, 5.12)

    Description

      It seems that any Qt Quick window that contains a visible item will make the application crash.

      It can be reproduced using the Qt Quick project templates from Qt Creator wizard. A simple version of the QML:

      import QtQuick 2.9
      import QtQuick.Controls 1.4 // or 2, still crashes
      
      ApplicationWindow {
          visible: true
      
         
          Text { // Replacing the Text item by Rectangle {} also make the app crash
              text: "hello" // Does not crash if text is not set or if we remove the Text item.
          }
      
      }
      

      Here is the stack trace:

        # Child-SP          RetAddr           Call Site
       00 000000f8`5e9fd460 00007fff`edfd85cb ig9icd64!DrvSetLayerPaletteEntries+0xf4fac
       01 000000f8`5e9fd4a0 00007fff`edfd9c91 ig9icd64!DrvSetLayerPaletteEntries+0xf582b
       02 000000f8`5e9fd510 00007fff`edfd9814 ig9icd64!DrvSetLayerPaletteEntries+0xf6ef1
       03 000000f8`5e9fd5a0 00007fff`edfd2e05 ig9icd64!DrvSetLayerPaletteEntries+0xf6a74
       04 000000f8`5e9fd630 00007fff`ed6132c2 ig9icd64!DrvSetLayerPaletteEntries+0xf0065
       05 000000f8`5e9fd690 00007fff`ed8eb538 ig9icd64!RegisterProcTableCallback+0x1e582
       06 000000f8`5e9fe2a0 00007fff`ed8ee920 ig9icd64!DumpRegistryKeyDefinitions+0x16fab8
       07 000000f8`5e9fe310 00007fff`f3eacd85 ig9icd64!DumpRegistryKeyDefinitions+0x172ea0
       08 000000f8`5e9fe350 00007fff`f445bc45 Qt5Guid!QOpenGLExtraFunctions::glProgramBinary+0x85 [c:\users\qt\work\qt\qtbase\src\gui\opengl\qopenglextrafunctions.h @ 1177]
       09 000000f8`5e9fe390 00007fff`f445b277 Qt5Guid!QOpenGLProgramBinaryCache::setProgramBinary+0x65 [c:\users\qt\work\qt\qtbase\src\gui\opengl\qopenglprogrambinarycache.cpp @ 164]
       0a 000000f8`5e9fe410 00007fff`f42ef81e Qt5Guid!QOpenGLProgramBinaryCache::load+0x737 [c:\users\qt\work\qt\qtbase\src\gui\opengl\qopenglprogrambinarycache.cpp @ 296]
       0b 000000f8`5e9fe5a0 00007fff`f42e975a Qt5Guid!QOpenGLShaderProgramPrivate::linkBinary+0x21e [c:\users\qt\work\qt\qtbase\src\gui\opengl\qopenglshaderprogram.cpp @ 3825]
       0c 000000f8`5e9fe6c0 00007fff`f3219830 Qt5Guid!QOpenGLShaderProgram::link+0xaa [c:\users\qt\work\qt\qtbase\src\gui\opengl\qopenglshaderprogram.cpp @ 1286]
       0d 000000f8`5e9fe7d0 00007fff`f319f1c1 Qt5Quickd!QSGDefaultRenderContext::compileShader+0x180 [c:\users\qt\work\qt\qtdeclarative\src\quick\scenegraph\qsgdefaultrendercontext.cpp @ 268]
       0e 000000f8`5e9fe880 00007fff`f31a6c52 Qt5Quickd!QSGBatchRenderer::ShaderManager::prepareMaterial+0x221 [c:\users\qt\work\qt\qtdeclarative\src\quick\scenegraph\coreapi\qsgbatchrenderer.cpp @ 157]
       0f 000000f8`5e9fe970 00007fff`f31a628a Qt5Quickd!QSGBatchRenderer::Renderer::renderMergedBatch+0x7c2 [c:\users\qt\work\qt\qtdeclarative\src\quick\scenegraph\coreapi\qsgbatchrenderer.cpp @ 2312]
       10 000000f8`5e9fecb0 00007fff`f31a2254 Qt5Quickd!QSGBatchRenderer::Renderer::renderBatches+0x60a [c:\users\qt\work\qt\qtdeclarative\src\quick\scenegraph\coreapi\qsgbatchrenderer.cpp @ 2555]
       11 000000f8`5e9fedf0 00007fff`f319a2a5 Qt5Quickd!QSGBatchRenderer::Renderer::render+0x1334 [c:\users\qt\work\qt\qtdeclarative\src\quick\scenegraph\coreapi\qsgbatchrenderer.cpp @ 2765]
       12 000000f8`5e9ff240 00007fff`f319a4d6 Qt5Quickd!QSGRenderer::renderScene+0x1e5 [c:\users\qt\work\qt\qtdeclarative\src\quick\scenegraph\coreapi\qsgrenderer.cpp @ 244]
       13 000000f8`5e9ff320 00007fff`f32191b1 Qt5Quickd!QSGRenderer::renderScene+0x56 [c:\users\qt\work\qt\qtdeclarative\src\quick\scenegraph\coreapi\qsgrenderer.cpp @ 197]
       14 000000f8`5e9ff370 00007fff`f32c9b5c Qt5Quickd!QSGDefaultRenderContext::renderNextFrame+0x41 [c:\users\qt\work\qt\qtdeclarative\src\quick\scenegraph\qsgdefaultrendercontext.cpp @ 183]
       15 000000f8`5e9ff3a0 00007fff`f322d4df Qt5Quickd!QQuickWindowPrivate::renderSceneGraph+0x3bc [c:\users\qt\work\qt\qtdeclarative\src\quick\items\qquickwindow.cpp @ 472]
       16 000000f8`5e9ff4f0 00007fff`f322cc17 Qt5Quickd!QSGRenderThread::syncAndRender+0x60f [c:\users\qt\work\qt\qtdeclarative\src\quick\scenegraph\qsgthreadedrenderloop.cpp @ 646]
       17 000000f8`5e9ff700 00000000`7070addd Qt5Quickd!QSGRenderThread::run+0x1f7 [c:\users\qt\work\qt\qtdeclarative\src\quick\scenegraph\qsgthreadedrenderloop.cpp @ 732]
       18 000000f8`5e9ff800 00007ff8`4c381fe4 Qt5Cored!QThreadPrivate::start+0x19d [c:\users\qt\work\qt\qtbase\src\corelib\thread\qthread_win.cpp @ 380]
       19 000000f8`5e9ff890 00007ff8`4cffef91 KERNEL32!BaseThreadInitThunk+0x14
       1a 000000f8`5e9ff8c0 00000000`00000000 ntdll!RtlUserThreadStart+0x21
      

      Using QT_OPENGL=angle suppress the crash.

      Here is the full application output in debug with QT_OPENGL=desktop and QSG_INFO=1:

      Debugging starts
      QML debugging is enabled. Only use this in a safe environment.
      QML Debugger: Waiting for connection on port 51210...
      qt.scenegraph.general: threaded render loop
      qt.scenegraph.general: Using sg animation driver
      qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms
      qt.scenegraph.general: Using sg animation driver
      qt.scenegraph.general: Animation Driver: using vsync: 16.67 ms
      qt.scenegraph.general: texture atlas dimensions: 512x512
      qt.scenegraph.general: R/G/B/A Buffers:    8 8 8 8
      qt.scenegraph.general: Depth Buffer:       24
      qt.scenegraph.general: Stencil Buffer:     8
      qt.scenegraph.general: Samples:            0
      qt.scenegraph.general: GL_VENDOR:          Intel
      qt.scenegraph.general: GL_RENDERER:        Intel(R) HD Graphics 620
      qt.scenegraph.general: GL_VERSION:         4.5.0 - Build 22.20.16.4771
      qt.scenegraph.general: GL_EXTENSIONS:      GL_EXT_texture_shared_exponent GL_INTEL_framebuffer_CMAA GL_ARB_texture_compression_bptc GL_IBM_texture_mirrored_repeat GL_ARB_clip_control GL_KHR_blend_equation_advanced_coherent GL_ARB_conservative_depth GL_ARB_pixel_buffer_object WGL_ARB_pbuffer GL_ARB_draw_buffers_blend GL_ARB_compute_shader GL_ARB_texture_env_dot3 GL_EXT_texture3D GL_KHR_debug GL_ARB_compatibility GL_EXT_packed_pixels GL_ARB_tessellation_shader GL_3DFX_texture_compression_FXT1 GL_ARB_texture_buffer_object_rgb32 GL_EXT_texture_edge_clamp GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_multi_draw_indirect GL_ARB_texture_float GL_EXT_texture_compression_s3tc GL_EXT_clip_volume_hint GL_ARB_copy_image GL_ARB_draw_buffers GL_ARB_vertex_array_object GL_ARB_shading_language_420pack GL_EXT_texture_sRGB WGL_ARB_make_current_read GL_EXT_geometry_shader4 GL_ARB_multi_bind GL_ARB_internalformat_query GL_EXT_fog_coord GL_ARB_vertex_buffer_object GL_ARB_shading_language_packing GL_ARB_texture_compression_rgtc GL_ARB_seamless_cube_map GL_ARB_framebuffer_no_attachments GL_EXT_texture_snorm WGL_ARB_pixel_format GL_WIN_swap_hint GL_ARB_post_depth_coverage GL_EXT_bgra GL_ARB_fragment_program_shadow GL_ARB_color_buffer_float GL_ARB_enhanced_layouts GL_ARB_sampler_objects GL_EXT_texture_sRGB_decode GL_KHR_blend_equation_advanced GL_ARB_fragment_layer_viewport GL_ARB_multitexture GL_EXT_rescale_normal WGL_ARB_pixel_format_float GL_EXT_gpu_shader4 GL_ARB_half_float_pixel GL_EXT_shader_framebuffer_fetch WGL_EXT_swap_control GL_ARB_vertex_array_bgra GL_SUN_multi_draw_arrays GL_SGIS_texture_lod GL_ARB_occlusion_query GL_ARB_texture_query_lod GL_ARB_texture_buffer_range GL_ARB_shadow GL_ARB_explicit_uniform_location GL_ARB_query_buffer_object GL_ARB_texture_cube_map GL_ARB_internalformat_query2 GL_NV_conditional_render GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_separate_shader_objects GL_ARB_gpu_shader5 GL_ARB_point_sprite GL_ARB_robustness GL_ARB_ES3_compatibility GL_ARB_texture_storage_multisample GL_ARB_fragment_shader_interlock GL_ARB_shader_atomic_counters GL_ARB_shader_precision GL_ARB_shader_stencil_export GL_ARB_texture_gather GL_EXT_shadow_funcs GL_ARB_explicit_attrib_location GL_ARB_invalidate_subdata GL_ARB_viewport_array GL_KHR_context_flush_control GL_ARB_cull_distance GL_EXT_packed_float GL_ARB_shader_draw_parameters GL_EXT_framebuffer_blit GL_EXT_texture_rectangle WGL_ARB_buffer_region WGL_ARB_create_context_profile GL_ARB_clear_buffer_object GL_ARB_half_float_vertex GL_ARB_timer_query WGL_EXT_depth_float GL_ARB_conditional_render_inverted GL_ARB_texture_rectangle GL_ARB_window_pos GL_ARB_framebuffer_object GL_ARB_fragment_coord_conventions GL_INTEL_multi_rate_fragment_shader GL_ARB_derivative_control GL_ARB_texture_non_power_of_two GL_ARB_texture_rgb10_a2ui WGL_EXT_create_context_es2_profile GL_ARB_blend_func_extended GL_EXT_blend_subtract GL_ARB_multisample GL_ARB_get_texture_sub_image GL_ARB_texture_view GL_ARB_texture_border_clamp GL_EXT_direct_state_access GL_SGIS_texture_edge_clamp GL_ARB_fragment_program GL_ARB_ES2_compatibility GL_ARB_sync GL_ARB_transform_feedback3 GL_ARB_shader_objects GL_ARB_texture_multisample GL_ARB_sample_shading GL_ARB_fragment_shader GL_ARB_vertex_attrib_binding GL_NV_texgen_reflection GL_EXT_draw_range_elements GL_INTEL_conservative_rasterization GL_EXT_blend_minmax GL_EXT_stencil_wrap GL_EXT_texture_lod_bias GL_ARB_shader_image_load_store GL_ARB_vertex_shader WGL_EXT_extensions_string GL_ARB_depth_texture GL_ARB_vertex_program WGL_ARB_multisample GL_ARB_texture_mirror_clamp_to_edge GL_EXT_stencil_two_side GL_ARB_map_buffer_alignment GL_AMD_vertex_shader_viewport_index GL_ARB_map_buffer_range GL_ARB_clear_texture GL_ARB_texture_env_crossbar GL_EXT_texture_integer GL_ARB_vertex_attrib_64bit GL_EXT_packed_depth_stencil GL_ARB_texture_storage GL_ARB_texture_barrier GL_ARB_draw_instanced GL_ARB_cl_event GL_ARB_shader_storage_buffer_object GL_ARB_point_parameters GL_EXT_abgr GL_KHR_texture_compression_astc_ldr GL_ARB_occlusion_query2 GL_AMD_vertex_shader_layer GL_EXT_blend_color GL_EXT_draw_buffers2 GL_EXT_separate_specular_color GL_EXT_blend_func_separate GL_INTEL_map_texture GL_ARB_depth_clamp GL_ARB_texture_swizzle GL_ARB_bindless_texture GL_ARB_copy_buffer GL_ARB_texture_rg GL_ARB_debug_output GL_ARB_transform_feedback_instanced GL_ARB_draw_indirect GL_ARB_draw_elements_base_vertex GL_EXT_framebuffer_multisample GL_ARB_texture_query_levels GL_EXT_gpu_program_parameters GL_EXT_texture_env_combine GL_ARB_texture_mirrored_repeat GL_ARB_transform_feedback2 WGL_EXT_pixel_format_packed_float GL_ARB_seamless_cubemap_per_texture GL_INTEL_fragment_shader_ordering GL_ARB_direct_state_access GL_NV_primitive_restart GL_ARB_shader_image_size GL_EXT_texture_filter_anisotropic GL_EXT_texture_env_add WGL_ARB_extensions_string GL_ARB_robust_buffer_access_behavior GL_ARB_texture_env_add GL_ARB_ES3_1_compatibility GL_EXT_polygon_offset_clamp WGL_INTEL_cl_sharing GL_ARB_framebuffer_sRGB GL_ARB_gpu_shader_fp64 GL_EXT_blend_equation_separate GL_ARB_base_instance GL_ARB_stencil_texturing GL_ARB_instanced_arrays GL_ARB_program_interface_query GL_ARB_indirect_parameters GL_ARB_transpose_matrix GL_EXT_compiled_vertex_array GL_EXT_shader_integer_mix GL_ARB_shader_texture_image_samples GL_ARB_texture_env_combine GL_ARB_uniform_buffer_object GL_EXT_framebuffer_object GL_EXT_texture_storage GL_SGIS_generate_mipmap GL_EXT_timer_query GL_KHR_texture_compression_astc_hdr GL_ARB_provoking_vertex GL_ARB_texture_compression GL_AMD_depth_clamp_separate GL_EXT_multi_draw_arrays GL_EXT_texture_array GL_INTEL_performance_query GL_ARB_shader_bit_encoding GL_ARB_geometry_shader4 GL_EXT_secondary_color GL_ARB_arrays_of_arrays GL_ARB_compressed_texture_pixel_storage WGL_NV_DX_interop2 GL_ARB_get_program_binary GL_ARB_buffer_storage GL_ARB_texture_stencil8 GL_EXT_texture_swizzle GL_ARB_depth_buffer_float GL_ARB_shading_language_100 WGL_NV_DX_interop GL_ARB_shader_subroutine WGL_ARB_create_context_robustness WGL_ARB_context_flush_control GL_ARB_robustness_isolation GL_ARB_texture_cube_map_array WGL_EXT_create_context_es_profile GL_ATI_separate_stencil WGL_ARB_framebuffer_sRGB GL_EXT_transform_feedback WGL_ARB_create_context GL_NV_blend_square
      qt.scenegraph.general: Max Texture Size:  16384
      qt.scenegraph.general: Debug context:     false
      HEAP[untitled.exe]: 
      Invalid allocation size - 2d7665640000000a (exceeded 7ffffffdefff)
      Debugging has finished
      

      Output of qtdiag:

      C:\Qt\5.9.3\msvc2017_64>qtdiag
      Qt 5.9.3 (x86_64-little_endian-llp64 shared (dynamic) release build; by MSVC 2017) on "windows"
      OS: Windows 10 (10.0) [winnt version 10.0.16299]
      
      Screens: 1, High DPI scaling: inactive
      # 0 "\\.\DISPLAY1" Depth: 32 Primary: yes
        Manufacturer:
        Model:
        Serial number:
        Geometry: 1920x1080+0+0 Available: 1920x1040+0+0
        Physical size: 344x193 mm  Refresh: 60 Hz Power state: 0
        Physical DPI: 141.767,142.135 Logical DPI: 96,96 Subpixel_None
        DevicePixelRatio: 1 Pixel density: 1
        Primary orientation: 2 Orientation: 2 Native orientation: 0 OrientationUpdateMask: 0
      
      Dynamic GL LibGL Vendor: Intel
      Renderer: Intel(R) HD Graphics 620
      Version: 4.5.0 - Build 22.20.16.4771
      Shading language: 4.50 - Build 22.20.16.4771
      Format: Version: 4.5 Profile: 2 Swap behavior: 2 Buffer size (RGBA): 8,8,8,8 Depth buffer: 24 Stencil buffer: 8
      
      
      GPU:
               Card name: Intel(R) HD Graphics 620
             Driver Name: igdumdim64.dll
          Driver Version: 22.20.16.4771
               Vendor ID: 0x8086
               Device ID: 0x5916
               SubSys ID: 0x505B17AA
             Revision ID: 0x0002
      

      Attachments

        1. Capture.PNG
          Capture.PNG
          49 kB
        2. qtbug64697.qml
          0.3 kB

        Issue Links

          For Gerrit Dashboard: QTBUG-64697
          # Subject Branch Project Status CR V

          Activity

            People

              sletta Gunnar Sletta
              bterrier Benjamin Terrier
              Votes:
              12 Vote for this issue
              Watchers:
              28 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: