Bug 447868

Summary: krita crashing from opening pop-up palette due to a C++ exception handling exception
Product: [Applications] krita Reporter: Artuko <calagoart2gian>
Component: Tool/AssistantsAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: ahab.greybeard, alvin, budd.chris71, dimula73, felixgalip, halla
Priority: NOR    
Version: 5.0.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed In:
Attachments: krita crash log backtrace
attachment-7258-0.html
attachment-11231-0.html

Description Artuko 2022-01-03 08:26:59 UTC
Created attachment 145068 [details]
krita crash log backtrace

SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***
Krita crash log backtrace 



STEPS TO REPRODUCE
1.  Open Krita and create a canvas
2.  Use the pop up palette shortcut which is the right-click mouse button
3.  Krita starts loading, stops then crashes 

OBSERVED RESULT
Krita stops all function after pressing the shortcut and crashes

EXPECTED RESULT
the pop up palette showing up after pressing the short cut key 

System Information
***
Krita

 Version: 5.0.0
 Languages: en_US, en
 Hidpi: true

Qt

  Version (compiled): 5.12.12
  Version (loaded): 5.12.12

OS Information

  Build ABI: x86_64-little_endian-llp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: winnt
  Kernel Version: 10.0.19044
  Pretty Productname: Windows 10 (10.0)
  Product Type: windows
  Product Version: 10

OpenGL Info
 
  Vendor:  "Intel" 
  Renderer:  "Intel(R) HD Graphics" 
  Version:  "2.1.0 - Build 8.15.10.2900" 
  Shading language:  "1.20  - Intel Build 8.15.10.2900" 
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
  Current format:  QSurfaceFormat(version 2.1, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile) 
     Version: 2.1
     Supports deprecated functions true 
     is OpenGL ES: false 
  supportsBufferMapping: true 
  supportsBufferInvalidation: false 
  Extensions: 
     "GL_ARB_texture_env_dot3" 
     "GL_ARB_depth_texture" 
     "GL_WIN_swap_hint" 
     "GL_EXT_multi_draw_arrays" 
     "GL_NV_conditional_render" 
     "GL_ARB_transpose_matrix" 
     "GL_EXT_draw_range_elements" 
     "GL_EXT_framebuffer_object" 
     "GL_EXT_draw_buffers2" 
     "GL_EXT_compiled_vertex_array" 
     "GL_SGIS_texture_lod" 
     "GL_EXT_shadow_funcs" 
     "GL_ARB_occlusion_query" 
     "" 
     "GL_EXT_rescale_normal" 
     "GL_EXT_packed_pixels" 
     "GL_EXT_texture_env_add" 
     "GL_ARB_draw_buffers" 
     "GL_ARB_texture_border_clamp" 
     "GL_ARB_window_pos" 
     "GL_ARB_texture_rectangle" 
     "GL_EXT_texture_shared_exponent" 
     "GL_EXT_packed_float" 
     "GL_IBM_texture_mirrored_repeat" 
     "GL_ARB_point_sprite" 
     "GL_ARB_shadow" 
     "GL_EXT_separate_specular_color" 
     "GL_ARB_texture_non_power_of_two" 
     "GL_SGIS_texture_edge_clamp" 
     "GL_EXT_blend_color" 
     "GL_INTEL_performance_queries" 
     "GL_ARB_shading_language_100" 
     "GL_EXT_packed_depth_stencil" 
     "GL_ARB_depth_clamp" 
     "GL_ARB_compatibility" 
     "GL_ARB_texture_cube_map" 
     "GL_EXT_texture_compression_s3tc" 
     "GL_ARB_texture_float" 
     "GL_EXT_transform_feedback" 
     "GL_ARB_texture_env_combine" 
     "GL_ARB_seamless_cube_map" 
     "GL_EXT_texture_filter_anisotropic" 
     "GL_EXT_stencil_wrap" 
     "GL_ATI_separate_stencil" 
     "GL_ARB_map_buffer_range" 
     "GL_EXT_clip_volume_hint" 
     "GL_EXT_texture_sRGB" 
     "GL_ARB_vertex_program" 
     "GL_ARB_uniform_buffer_object" 
     "GL_ARB_vertex_array_bgra" 
     "GL_ARB_texture_env_crossbar" 
     "GL_EXT_blend_func_separate" 
     "GL_EXT_texture_swizzle" 
     "GL_EXT_blend_minmax" 
     "GL_SGIS_generate_mipmap" 
     "GL_ARB_fragment_shader" 
     "GL_EXT_framebuffer_blit" 
     "GL_NV_primitive_restart" 
     "GL_NV_blend_square" 
     "GL_ARB_framebuffer_object" 
     "GL_ARB_framebuffer_sRGB" 
     "GL_ARB_color_buffer_float" 
     "GL_EXT_blend_equation_separate" 
     "GL_ARB_sync" 
     "GL_NV_texgen_reflection" 
     "GL_EXT_stencil_two_side" 
     "GL_ARB_texture_compression" 
     "GL_ARB_draw_elements_base_vertex" 
     "GL_ARB_half_float_vertex" 
     "GL_EXT_gpu_program_parameters" 
     "GL_EXT_abgr" 
     "GL_ARB_vertex_array_object" 
     "GL_EXT_texture_edge_clamp" 
     "GL_EXT_blend_subtract" 
     "GL_3DFX_texture_compression_FXT1" 
     "GL_EXT_bgra" 
     "GL_EXT_fog_coord" 
     "GL_ARB_sampler_objects" 
     "GL_ARB_fragment_program" 
     "GL_EXT_texture_array" 
     "GL_EXT_texture_lod_bias" 
     "GL_ARB_draw_instanced" 
     "GL_EXT_texture_snorm" 
     "GL_EXT_secondary_color" 
     "GL_ARB_multitexture" 
     "GL_ARB_half_float_pixel" 
     "GL_ARB_texture_rg" 
     "GL_ARB_depth_buffer_float" 
     "GL_EXT_texture3D" 
     "GL_ARB_texture_compression_rgtc" 
     "GL_ARB_point_parameters" 
     "GL_ARB_copy_buffer" 
     "GL_EXT_texture_env_combine" 
     "GL_ARB_vertex_shader" 
     "GL_ARB_pixel_buffer_object" 
     "GL_ARB_shader_objects" 
     "GL_EXT_texture_rectangle" 
     "GL_ARB_fragment_program_shadow" 
     "GL_ARB_vertex_buffer_object" 
     "GL_ARB_texture_env_add" 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsAngleD3D11: false 
  isQtPreferAngle: true 

useBufferInvalidation (config option): false


Hardware Information

  GPU Acceleration: auto
  Memory: 3824 Mb
  Number of Cores: 4
  Swap Location: C:/Users/admin/AppData/Local/Temp

Current Settings

  Current Swap Location: C:/Users/admin/AppData/Local/Temp
  Current Swap Location writable: true
  Undo Enabled: true
  Undo Stack Limit: 200
  Use OpenGL: true
  Use OpenGL Texture Buffer: true
  Disable Vector Optimizations: false
  Disable AVX Optimizations: false
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 900
  Use Backup Files: true
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Backup Location writable: false
  Use Win8 Pointer Input: true
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false


Display Information
Number of screens: 1
	Screen: 0
		Name: \\.\DISPLAY1
		Depth: 32
		Scale: 1
		Resolution in pixels: 1366x768
		Manufacturer: 
		Model: 
		Refresh Rate: 60


ADDITIONAL INFORMATION
Comment 1 amyspark 2022-01-03 23:41:20 UTC
It seems you're not using ANGLE, but rather the stock OpenGL canvas. This is prone to disaster on Intel cards.

Can you confirm that this crash doesn't happen when you switch the renderer backend to ANGLE? See the docs here: https://docs.krita.org/en/reference_manual/preferences/display_settings.html . Also, what card are you using?
Comment 2 Alvin Wong 2022-01-04 17:01:01 UTC
ANGLE (at least for Direct3D 11) wouldn't work because the GPU or driver is so old that it can only support OpenGL 2.1 (also "supportsAngleD3D11: false"). You can perhaps try the "Software Renderer (very slow)" option, but that wouldn't really be usable...

The thing is, we do have a compatibility OpenGL 2.1 canvas even though we don't recommend using it. Maybe we should check what colour selectors we have that uses OpenGL and either try to make them 2.1-compatible, or disable them when we don't get OpenGL 3? (And also when OpenGL canvas is disabled?)
Comment 3 Halla Rempt 2022-01-05 10:10:04 UTC
Only the small color selector uses opengl. It is only loaded if  (KisOpenGL::hasOpenGL3() || KisOpenGL::hasOpenGLES()) is true. I guess we could improve that check...
Comment 4 Ahab Greybeard 2022-01-05 12:37:34 UTC
This was first reported here:
https://krita-artists.org/t/pop-up-pallete-causing-crash-in-krita-5-0-0/34335

The puzzle is that that Artuko reports that there are no problems running 4.4.8 on the same laptop.
Comment 5 Bug Janitor Service 2022-01-20 04:36:57 UTC Comment hidden (obsolete)
Comment 6 Alvin Wong 2022-01-23 16:35:41 UTC
*** Bug 449017 has been marked as a duplicate of this bug. ***
Comment 7 budd.chris71 2022-01-23 16:49:04 UTC
Created attachment 145807 [details]
attachment-7258-0.html

Thanks!
Sounds exactly like what happened.

On Sun, Jan 23, 2022 at 10:36 AM Alvin Wong <bugzilla_noreply@kde.org>
wrote:

> https://bugs.kde.org/show_bug.cgi?id=447868
>
> Alvin Wong <alvin@alvinhc.com> changed:
>
>            What    |Removed                     |Added
>
> ----------------------------------------------------------------------------
>              Status|NEEDSINFO                   |REPORTED
>          Resolution|WAITINGFORINFO              |---
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
Comment 8 Bug Janitor Service 2022-01-23 17:10:29 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1308
Comment 9 Alvin Wong 2022-01-24 08:23:12 UTC
Git commit 45c0093581ccc7c5cef9a15103cb8e65b96e67de by Alvin Wong.
Committed on 23/01/2022 at 17:05.
Pushed by alvinwong into branch 'master'.

Fix blocking SmallColorSelector on OpenGL 2.1, possibly other errors

M  +0    -2    libs/ui/opengl/kis_opengl.cpp

https://invent.kde.org/graphics/krita/commit/45c0093581ccc7c5cef9a15103cb8e65b96e67de
Comment 10 Alvin Wong 2022-01-24 08:24:00 UTC
Git commit 1a8161714e9a3c746f6faae312fdfd2f0d032152 by Alvin Wong.
Committed on 24/01/2022 at 08:23.
Pushed by alvinwong into branch 'krita/5.0'.

Fix blocking SmallColorSelector on OpenGL 2.1, possibly other errors


(cherry picked from commit 45c0093581ccc7c5cef9a15103cb8e65b96e67de)

M  +0    -2    libs/ui/opengl/kis_opengl.cpp

https://invent.kde.org/graphics/krita/commit/1a8161714e9a3c746f6faae312fdfd2f0d032152
Comment 11 budd.chris71 2022-04-05 13:03:30 UTC
Created attachment 147982 [details]
attachment-11231-0.html

Hello, I was just wondering if this error had been fixed yet. I would
really like to be able to use the right-click while using Krita 5.2! LOL. I
am asking as there hasn't been a fix posted that i could find.
Thank you for your time and help!
Chris Budd

On Mon, Jan 24, 2022 at 2:24 AM Alvin Wong <bugzilla_noreply@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=447868
>
> Alvin Wong <alvin@alvinhc.com> changed:
>
>            What    |Removed                     |Added
>
> ----------------------------------------------------------------------------
>       Latest Commit|https://invent.kde.org/grap |
> https://invent.kde.org/grap
>                    |hics/krita/commit/45c009358
> |hics/krita/commit/1a8161714
>                    |1ccc7c5cef9a15103cb8e65b96e
> |e9a3c746f6faae312fdfd2f0d03
>                    |67de                        |2152
>
> --- Comment #10 from Alvin Wong <alvin@alvinhc.com> ---
> Git commit 1a8161714e9a3c746f6faae312fdfd2f0d032152 by Alvin Wong.
> Committed on 24/01/2022 at 08:23.
> Pushed by alvinwong into branch 'krita/5.0'.
>
> Fix blocking SmallColorSelector on OpenGL 2.1, possibly other errors
>
>
> (cherry picked from commit 45c0093581ccc7c5cef9a15103cb8e65b96e67de)
>
> M  +0    -2    libs/ui/opengl/kis_opengl.cpp
>
>
> https://invent.kde.org/graphics/krita/commit/1a8161714e9a3c746f6faae312fdfd2f0d032152
>
> --
> You are receiving this mail because:
> You are on the CC list for the bug.
Comment 12 felixgalip 2022-08-03 03:51:08 UTC
(In reply to budd.chris71 from comment #11)
> Created attachment 147982 [details]
> attachment-11231-0.html
> 
> Hello, I was just wondering if this error had been fixed yet. I would
> really like to be able to use the right-click while using Krita 5.2! LOL. I
> am asking as there hasn't been a fix posted that i could find.
> Thank you for your time and help!
> Chris Budd
> 

Right clicking in canvas still crashes on the latest Linux appimage 5.0.6. Found a reddit post that suggested unchecking "Enable curve anti-aliasing" in Settings > Configure Krita > Display > Miscellaneous. Unchecking that box has fixed the crashing issues for me.
Comment 13 Halla Rempt 2022-08-03 06:09:21 UTC
That sounds completely unrelated since the report was for Windows and OpenGL 2.1. There's no way of knowning what might be up with your situation, because you're not providing any useful information, except that the proposed solution sounds impossible.

In general, it's not a good idea to comment on a resolved/fixed bug, especially not when your os is different... Make a new bug if you have found something that is reproducible, and provide as much information as possible.

To learn how to make useful bug reports, go to https://docs.krita.org/en/untranslatable_pages/reporting_bugs.html