| Summary: | Krita app keeps crashing while im drawing | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | adele.pena |
| Component: | General | Assignee: | Dmitry Kazakov <dimula73> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | dimula73, nate |
| Priority: | NOR | Keywords: | release_blocker |
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Microsoft Windows | ||
| OS: | Microsoft Windows | ||
| Latest Commit: | https://invent.kde.org/graphics/krita/-/commit/dc68a2467eb038543345ecd23e67b9a35431fd70 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
| Attachments: |
attachment-2063623-0.html
attachment-2761170-0.html |
||
|
Description
adele.pena
2023-08-17 15:58:41 UTC
Hi, Adele! Could you please attach the crashlog of Krita? It should be stored in this location: %LOCALAPPDATA%\kritacrash.log Please also tell what tool you used when the crash happened? Did you use any channel locks? And did you convert image color space right before the crash? Your log has some suspicious lines, but they seem to have happened much earlier than you reported this bug, so I'm not sure they are related. You can also try to install debugging symbols, so the next time Krita crashes we had a better crash log: https://docs.krita.org/en/reference_manual/dr_minw_debugger.html#dr-minw (though right now just providing your current (limited) log would also be helpful) Krita
Version: 5.1.5
Installation type: installer / portable package
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.19045
Pretty Productname: Windows 10 (10.0)
Product Type: windows
Product Version: 10
Locale
Languages: en_US
C locale: C
QLocale current: en
QLocale system: en
QTextCodec for locale: UTF-8
Process ACP: 65001 (UTF-8)
System locale default ACP: 1252 (ANSI - Latin I)
OpenGL Info
Vendor: "Google Inc. (Intel)"
Renderer: "ANGLE (Intel, Intel(R) HD Graphics 5000 Direct3D11 vs_5_0 ps_5_0, D3D11-20.19.15.4568)"
Version: "OpenGL ES 3.0.0 (ANGLE 2.1.0 git hash: f2280c0c5f93+krita_qt5.12.12)"
Shading language: "OpenGL ES GLSL ES 3.00 (ANGLE 2.1.0 git hash: f2280c0c5f93+krita_qt5.12.12)"
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 3.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile)
Version: 3.0
Supports deprecated functions false
is OpenGL ES: true
supportsBufferMapping: true
supportsBufferInvalidation: false
forceDisableTextureBuffers: true
Extensions:
"GL_EXT_draw_buffers_indexed"
"GL_EXT_multi_draw_indirect"
"GL_OES_texture_stencil8"
"GL_EXT_texture_norm16"
"GL_EXT_occlusion_query_boolean"
"GL_OES_rgb8_rgba8"
"GL_ANGLE_translated_shader_source"
"GL_AMD_performance_monitor"
"GL_OES_packed_depth_stencil"
"GL_ANGLE_request_extension"
"GL_EXT_texture_filter_anisotropic"
"GL_OES_EGL_image"
"GL_OES_get_program_binary"
"GL_EXT_color_buffer_half_float"
"GL_EXT_texture_rg"
"GL_EXT_texture_format_BGRA8888"
"GL_OES_draw_elements_base_vertex"
"GL_EXT_color_buffer_float"
"GL_EXT_frag_depth"
"GL_OES_texture_half_float"
"GL_OES_element_index_uint"
"GL_CHROMIUM_lose_context"
"GL_OES_texture_npot"
"GL_ANGLE_base_vertex_base_instance"
"GL_EXT_instanced_arrays"
"GL_OES_compressed_ETC2_RGB8_texture"
"GL_ANGLE_texture_compression_dxt5"
"GL_EXT_debug_label"
"GL_OES_compressed_EAC_R11_signed_texture"
"GL_EXT_draw_elements_base_vertex"
"GL_EXT_blend_func_extended"
"GL_EXT_blend_minmax"
"GL_NV_EGL_stream_consumer_external"
"GL_EXT_disjoint_timer_query"
"GL_OES_vertex_array_object"
"GL_OVR_multiview2"
"GL_CHROMIUM_bind_generates_resource"
"GL_EXT_sRGB"
"GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture"
"GL_ANGLE_copy_texture_3d"
"GL_EXT_float_blend"
"GL_ANGLE_lossy_etc_decode"
"GL_EXT_texture_compression_rgtc"
"GL_OES_EGL_image_external"
"GL_ANGLE_instanced_arrays"
"GL_OES_depth32"
"GL_EXT_discard_framebuffer"
"GL_CHROMIUM_sync_query"
"GL_OES_surfaceless_context"
"GL_WEBGL_video_texture"
"GL_CHROMIUM_copy_compressed_texture"
"GL_OES_compressed_ETC2_sRGB8_texture"
"GL_ANGLE_base_vertex_base_instance_shader_builtin"
"GL_ANGLE_client_arrays"
"GL_ANGLE_multiview_multisample"
"GL_EXT_clip_control"
"GL_OES_compressed_ETC2_RGBA8_texture"
"GL_OES_standard_derivatives"
"GL_EXT_debug_marker"
"GL_EXT_robustness"
"GL_OES_depth24"
"GL_CHROMIUM_bind_uniform_location"
"GL_NV_pack_subimage"
"GL_ANGLE_texture_usage"
"GL_ANGLE_framebuffer_blit"
"GL_EXT_draw_buffers"
"GL_ANGLE_provoking_vertex"
"GL_OES_fbo_render_mipmap"
"GL_EXT_texture_compression_bptc"
"GL_OES_EGL_image_external_essl3"
"GL_OES_draw_buffers_indexed"
"GL_NV_pixel_buffer_object"
"GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture"
"GL_OVR_multiview"
"GL_ANGLE_multi_draw"
"GL_KHR_debug"
"GL_OES_compressed_EAC_RG11_signed_texture"
"GL_OES_compressed_ETC2_sRGB8_alpha8_texture"
"GL_OES_compressed_EAC_RG11_unsigned_texture"
"GL_EXT_map_buffer_range"
"GL_EXT_multisampled_render_to_texture"
"GL_CHROMIUM_copy_texture"
"GL_EXT_texture_type_2_10_10_10_REV"
"GL_OES_texture_border_clamp"
"GL_ANGLE_depth_texture"
"GL_OES_texture_half_float_linear"
""
"GL_EXT_texture_compression_dxt1"
"GL_NV_fence"
"GL_EXT_unpack_subimage"
"GL_OES_compressed_EAC_R11_unsigned_texture"
"GL_ANGLE_memory_size"
"GL_ANGLE_texture_compression_dxt3"
"GL_OES_texture_float"
"GL_ANGLE_get_tex_level_parameter"
"GL_OES_mapbuffer"
"GL_EXT_texture_compression_s3tc_srgb"
"GL_ANGLE_get_serialized_context_string"
"GL_ANGLE_pack_reverse_row_order"
"GL_EXT_texture_storage"
"GL_ANGLE_framebuffer_multisample"
"GL_EXT_read_format_bgra"
"GL_OES_texture_float_linear"
"GL_NV_framebuffer_blit"
"GL_ANGLE_texture_multisample"
"GL_EXT_EGL_image_external_wrap_modes"
"GL_KHR_parallel_shader_compile"
"GL_ANGLE_program_cache_control"
"GL_ANGLE_robust_client_memory"
"GL_EXT_shader_texture_lod"
QPA OpenGL Detection Info
supportsDesktopGL: true
supportsAngleD3D11: true
isQtPreferAngle: true
useBufferInvalidation (config option): false
Hardware Information
GPU Acceleration: auto
Memory: 8097 Mb
Number of Cores: 4
Swap Location: C:/Users/adele/AppData/Local/Temp
Built for: sse2
Base instruction set: sse2
Supported instruction sets: fma3+avx2 avx2 fma3+avx avx fma4 fma3+sse4.2 sse4.2 sse4.1 ssse3 sse3 sse2
Current Settings
Current Swap Location: C:/Users/adele/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: 420
Use Backup Files: true
Number of Backups Kept: 1
Backup File Suffix: ~
Backup Location: Same Folder as the File
Backup Location writable: false
Resource Location:
Use Win8 Pointer Input: false
Use RightMiddleTabletButton Workaround: false
Levels of Detail Enabled: false
Use Zip64: false
Loaded Python Plugins
colorspace
comics_project_management_tools
documenttools
exportlayers
filtermanager
lastdocumentsdocker
plugin_importer
quick_settings_docker
scripter
tenbrushes
tenscripts
Display Information
Number of screens: 1
Screen: 0
Name: \\.\DISPLAY1
Depth: 32
Scale: 1
Physical DPI216.213
Logical DPI144
Physical Size: 254, 169
Position: 0, 0
Resolution in pixels: 2160x1440
Manufacturer:
Model:
Refresh Rate: 59
Created attachment 161048 [details] attachment-2063623-0.html Hi Dimitry! So when I go to the crash log it’s just an empty text file. It is totally possible I’m not looking in the right place but I searched what you sent and it was blank. This issue has been going on for about a week now though so I’m not sure if the weird lines you mentioned are related. For more context this will happen like 5/6 times and then it will stop for awhile. It varies between which tools I’m using. At first it was whenever I added a photo on a layer and was adjusting the size and moving the photo around. This morning it’s anytime I start actually using the paint tool to draw. Also I’m using a SurfacePro3 with Windows 10 Pro if that helps. Thanks! On Fri, Aug 18, 2023 at 2:29 AM Dmitry Kazakov <bugzilla_noreply@kde.org> wrote: > https://bugs.kde.org/show_bug.cgi?id=473479 > > Dmitry Kazakov <dimula73@gmail.com> changed: > > What |Removed |Added > > ---------------------------------------------------------------------------- > CC| |dimula73@gmail.com > > --- Comment #1 from Dmitry Kazakov <dimula73@gmail.com> --- > Hi, Adele! > > Could you please attach the crashlog of Krita? It should be stored in this > location: > > %LOCALAPPDATA%\kritacrash.log > > Please also tell what tool you used when the crash happened? Did you use > any > channel locks? And did you convert image color space right before the > crash? > > Your log has some suspicious lines, but they seem to have happened much > earlier > than you reported this bug, so I'm not sure they are related. > > You can also try to install debugging symbols, so the next time Krita > crashes > we had a better crash log: > https://docs.krita.org/en/reference_manual/dr_minw_debugger.html#dr-minw > > (though right now just providing your current (limited) log would also be > helpful) > > -- > You are receiving this mail because: > You reported the bug. Hi, Adele! Could you please check if the timestamps of these lines in the log actually correspond to the moments of crash? If they do, it could help me a little bit... 12 Aug 2023 21:29:00 -0700: SAFE ASSERT (krita): "onlyColor.size() == paramInfo.channelFlags.size()" in file C:/Packaging/workspace/Krita_Release_Windows64_Build/krita/libs/image/kis_painter.cc, line 489 Okay, I think I can somewhat reproduce this bug. The problem happens if you do the following:
1) Create a CMYK image
2) Paste an image from the internet (or another document) in RGB
3) Click inherit alpha on the pasted layer
It leads to an immediate crash:
Thread 219 (Thread 0x7fff778cc700 (LWP 254328) "Thread (pooled)"):
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
set = {__val = {0, 4597185181852517762, 4605217331491495499, 4605217331491495499, 4601487774501153729, 4601487774501153729, 4606956589509306729, 4606956589509306729, 13666173069255770112, 4453497081515999232, 13679965343114592256, 13682920830370054144, 140735199090256, 140737344529147, 206158430240, 140735199090528}}
pid = <optimized out>
tid = <optimized out>
ret = <optimized out>
#1 0x00007fffeccb8859 in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0 <repeats 11 times>, 3, 140735199090712, 140735199090952, 140737172565129, 0}}, sa_flags = 1374444288, sa_restorer = 0xfffeef19336}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007fffed2a2c0f in qt_message_fatal (message=<synthetic pointer>..., context=...) at /home/appimage/appimage-workspace/deps-build/ext_qt/ext_qt-prefix/src/ext_qt/qtbase/src/corelib/global/qlogging.cpp:1924
No locals.
#3 QMessageLogger::fatal (this=this@entry=0x7fff778c9908, msg=msg@entry=0x7fffed5c2000 "ASSERT: \"%s\" in file %s, line %d") at /home/appimage/appimage-workspace/deps-build/ext_qt/ext_qt-prefix/src/ext_qt/qtbase/src/corelib/global/qlogging.cpp:893
message = {static null = {<No data fields>}, d = <optimized out>}
ap = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fff778c9900, reg_save_area = 0x7fff778c9840}}
#4 0x00007fffed2a2000 in qt_assert (assertion=assertion@entry=0x7ffff6cdc3c0 "uint(i) < uint(size())", file=file@entry=0x7ffff6cdc2e0 "/home/appimage/appimage-workspace/deps/usr/include/QtCore/qbitarray.h", line=line@entry=121) at /home/appimage/appimage-workspace/deps-build/ext_qt/ext_qt-prefix/src/ext_qt/qtbase/src/corelib/global/qglobal.cpp:3366
No locals.
#5 0x00007ffff5518035 in QBitArray::testBit (this=<optimized out>, i=<optimized out>) at /home/appimage/appimage-workspace/deps/usr/include/QtCore/qbitarray.h:121
__PRETTY_FUNCTION__ = "bool QBitArray::testBit(int) const"
#6 0x00007fffb46bb524 in KoCompositeOpBase<KoCmykU8Traits, KoCompositeOpGenericSC<KoCmykU8Traits, &(unsigned char cfMultiply<unsigned char>(unsigned char, unsigned char)), KoSubtractiveBlendingPolicy<KoCmykU8Traits> > >::composite (this=<optimized out>, params=...) at /home/appimage/persistent/krita/libs/pigment/compositeops/KoCompositeOpBase.h:49
flags = <optimized out>
allChannelFlags = <optimized out>
alphaLocked = <optimized out>
useMask = <optimized out>
#7 0x00007ffff015eee4 in KoColorSpace::bitBlt (this=this@entry=0x6040004a6550, srcSpace=<optimized out>, params=..., op=op@entry=0x602000142e90, renderingIntent=renderingIntent@entry=KoColorConversionTransformation::IntentPerceptual, conversionFlags=...) at /home/appimage/persistent/krita/libs/pigment/KoColorSpace.cpp:553
conversionBufferStride = 315
conversionCache = <optimized out>
conversionData = <optimized out>
paramInfo = {dstRowStart = <optimized out>, dstRowStride = <optimized out>, srcRowStart = <optimized out>, srcRowStride = <optimized out>, maskRowStart = <optimized out>, maskRowStride = <optimized out>, rows = <optimized out>, cols = <optimized out>, opacity = <optimized out>, flow = <optimized out>, _lastOpacityData = <optimized out>, lastOpacity = <optimized out>, channelFlags = {d = {d = <optimized out>}}}
#8 0x00007ffff2d2e97c in KisPainter::bitBltImpl<false> (this=<optimized out>, dstX=<optimized out>, dstY=<optimized out>, srcDev=..., srcX=<optimized out>, srcY=<optimized out>, srcWidth=<optimized out>, srcHeight=<optimized out>) at /home/appimage/persistent/krita/libs/image/kis_painter.cc:806
numContiguousSrcColumns = <optimized out>
columns = 63
dstRowStride = <optimized out>
numContiguousDstColumns = <optimized out>
srcRowStride = <optimized out>
srcX_ = 1217
numContiguousDstRows = <optimized out>
dstX_ = 1217
columnsRemaining = 350
numContiguousSrcRows = <optimized out>
rows = 63
srcRect = {x1 = <optimized out>, y1 = <optimized out>, x2 = <optimized out>, y2 = <optimized out>}
dstY_ = 897
srcY_ = 897
rowsRemaining = 166
compositeOp = 0x602000142e90
srcIt = {d = <optimized out>}
dstIt = {d = <optimized out>}
#9 0x00007ffff2cf21af in KisPainter::bitBlt (this=<optimized out>, dstX=<optimized out>, dstY=<optimized out>, srcDev=..., srcX=<optimized out>, srcY=<optimized out>, srcWidth=<optimized out>, srcHeight=<optimized out>) at /home/appimage/persistent/krita/libs/image/kis_painter.cc:828
No locals.
#10 0x00007ffff2cf252b in KisPainter::bitBlt (this=this@entry=0x7fff778ca800, pos=..., srcDev=..., srcRect=...) at /home/appimage/persistent/krita/libs/image/kis_painter.cc:834
No locals.
#11 0x00007ffff3cd8d8b in KisMultipleProjection::apply (this=this@entry=0x606001c5d498, dstDevice=..., rect=..., env=env@entry=0x60200001e2b0) at /home/appimage/persistent/krita/libs/image/layerstyles/kis_multiple_projection.cpp:148
gc = {_vptr.KisPainter = <optimized out>, d = <optimized out>}
readLocker = {q_val = <optimized out>}
it = {i = <optimized out>}
end = {i = <optimized out>}
#12 0x00007ffff3cef6a3 in KisLayerStyleFilterProjectionPlane::apply (this=<optimized out>, painter=<optimized out>, rect=...) at /home/appimage/persistent/krita/libs/image/layerstyles/kis_layer_style_filter_projection_plane.cpp:95
No locals.
#13 0x00007ffff3d0a09f in KisLayerStyleProjectionPlane::apply (this=<optimized out>, painter=<optimized out>, rect=...) at /home/appimage/appimage-workspace/deps/usr/include/QtCore/qsharedpointer_impl.h:298
plane = {value = <optimized out>, d = <optimized out>}
_container_ = {c = {d = <optimized out>}, i = {i = <optimized out>}, e = {i = <optimized out>}, control = <optimized out>}
sourcePlane = {value = <optimized out>, d = <optimized out>}
#14 0x00007ffff340362d in KisAsyncMerger::compositeWithProjection (rect=..., leaf=..., this=0x60c0015ea688) at /home/appimage/persistent/krita/libs/image/kis_async_merger.cpp:358
gc = {_vptr.KisPainter = <optimized out>, d = <optimized out>}
gc = {_vptr.KisPainter = <optimized out>, d = <optimized out>}
#15 KisAsyncMerger::startMerge (this=this@entry=0x60c0015ea688, walker=..., notifyClones=notifyClones@entry=true) at /home/appimage/persistent/krita/libs/image/kis_async_merger.cpp:282
item = {m_leaf = {value = <optimized out>, d = <optimized out>}, m_position = <optimized out>, m_applyRect = {x1 = <optimized out>, y1 = <optimized out>, x2 = <optimized out>, y2 = <optimized out>}}
currentLeaf = {value = <optimized out>, d = <optimized out>}
applyRect = {x1 = <optimized out>, y1 = <optimized out>, x2 = <optimized out>, y2 = <optimized out>}
originalVisitor = {<KisNodeVisitor> = {_vptr.KisNodeVisitor = <optimized out>}, m_updateRect = {x1 = <optimized out>, y1 = <optimized out>, x2 = <optimized out>, y2 = <optimized out>}, m_cropRect = {x1 = <optimized out>, y1 = <optimized out>, x2 = <optimized out>, y2 = <optimized out>}, m_projection = {d = <optimized out>}}
leafStack = @0x6110008d95b0: {<QVector<KisBaseRectsWalker::JobItem>> = {d = 0x6110019ac840}, <No data fields>}
useTempProjections = false
__PRETTY_FUNCTION__ = "void KisAsyncMerger::startMerge(KisBaseRectsWalker&, bool)"
Created attachment 161146 [details] attachment-2761170-0.html Okay! That makes sense! Thank you so much! I’ll keep an eye out for that and see if that makes it stop crashing! Thank you! On Wed, Aug 23, 2023 at 5:45 AM Dmitry Kazakov <bugzilla_noreply@kde.org> wrote: > https://bugs.kde.org/show_bug.cgi?id=473479 > > Dmitry Kazakov <dimula73@gmail.com> changed: > > What |Removed |Added > > ---------------------------------------------------------------------------- > Assignee|krita-bugs-null@kde.org |dimula73@gmail.com > Keywords| |release_blocker > > -- > You are receiving this mail because: > You reported the bug. A possibly relevant merge request was started @ https://invent.kde.org/graphics/krita/-/merge_requests/1919 Git commit 966076d0265f8ea02bf01f76913edc5b52e941d6 by Dmitry Kazakov. Committed on 25/08/2023 at 18:22. Pushed by dkazakov into branch 'master'. Fix cross-colorspace bitBlt with channel flags The channel flags passed to bitBlt should be applied to the source pixels in source color space. It means that the channels should be pre-processed with convertChannelToVisualRepresentation() before being blended into the destination. Please take it into account that source **color** flags should be passed to convertChannelToVisualRepresentation, but **alpha** flags should go to the final blend operation. M +1 -22 libs/image/kis_layer_projection_plane.cpp M +1 -1 libs/image/kis_onion_skin_compositor.cpp M +1 -1 libs/image/kis_painter.cc M +37 -8 libs/pigment/KoColorSpace.cpp M +16 -1 libs/pigment/KoColorSpace_p.h M +201 -1 libs/pigment/tests/TestKoColorSpaceAbstract.cpp M +3 -0 libs/pigment/tests/TestKoColorSpaceAbstract.h https://invent.kde.org/graphics/krita/-/commit/966076d0265f8ea02bf01f76913edc5b52e941d6 Git commit dc68a2467eb038543345ecd23e67b9a35431fd70 by Dmitry Kazakov. Committed on 25/08/2023 at 21:33. Pushed by dkazakov into branch 'krita/5.2'. Fix cross-colorspace bitBlt with channel flags The channel flags passed to bitBlt should be applied to the source pixels in source color space. It means that the channels should be pre-processed with convertChannelToVisualRepresentation() before being blended into the destination. Please take it into account that source **color** flags should be passed to convertChannelToVisualRepresentation, but **alpha** flags should go to the final blend operation. M +1 -22 libs/image/kis_layer_projection_plane.cpp M +1 -1 libs/image/kis_onion_skin_compositor.cpp M +1 -1 libs/image/kis_painter.cc M +37 -8 libs/pigment/KoColorSpace.cpp M +16 -1 libs/pigment/KoColorSpace_p.h M +201 -1 libs/pigment/tests/TestKoColorSpaceAbstract.cpp M +3 -0 libs/pigment/tests/TestKoColorSpaceAbstract.h https://invent.kde.org/graphics/krita/-/commit/dc68a2467eb038543345ecd23e67b9a35431fd70 Hi, Adele! I think I have fixed the bug. I've also requested the nightly builds for the stable branch, could you please test the resulting package when it finishes building? https://binary-factory.kde.org/job/Krita_Stable_Windows_Build/1957/ |