Bug 394891

Summary: Krita crashes each fews minutes with PSD file
Product: [Applications] krita Reporter: francisco_t <leviatan1>
Component: GeneralAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: crash CC: halla
Priority: NOR Keywords: triaged
Version First Reported In: 4.0.3   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Complete trace from gbm

Description francisco_t 2018-05-31 11:41:03 UTC
Created attachment 112982 [details]
Complete trace from gbm

This crash is occurring now with this image, where is was not occurring previously with images of similar characteristics nor with the same image up until now. 


the PSD file is 2624x2624 300ppi. With 19 layers, some with effects including texture overlay which is not supported by krita. colour: sRGB 8 bit


MY SYSTEM:
Krita
  Version: 4.0.3

OS Information
  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.13.0-43-generic
  Pretty Productname: KDE neon User Edition 5.12
  Product Type: neon
  Product Version: 16.04

OpenGL Info 
  Vendor:  X.Org 
  Renderer:  "AMD BONAIRE (DRM 2.50.0 / 4.13.0-43-generic, LLVM 5.0.0)" 
  Version:  "3.0 Mesa 17.2.8" 
  Shading language:  1.30 
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 0, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile)) 
  Current format:    QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 0, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 0, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(NoProfile)) 
     Version: 3.0
     Supports deprecated functions true 
     is OpenGL ES: false
Comment 1 Halla Rempt 2018-06-05 08:02:48 UTC
Okay, this is the backtrace of the crashing thread:

hread 1037 (Thread 0x7fff8a081700 (LWP 3612)):
#0  0x00007ffff655c94b in boost::cb_details::debug_iterator_registry::unregister_iterator (it=0x7fff8a0807f0, this=0x7fff480fa8b0) at /usr/include/boost/circular_buffer/debug.hpp:145
#1  boost::cb_details::debug_iterator_base::unregister_self (this=0x7fff8a0807f0) at /usr/include/boost/circular_buffer/debug.hpp:239
#2  boost::cb_details::debug_iterator_base::~debug_iterator_base (this=0x7fff8a0807f0, __in_chrg=<optimized out>) at /usr/include/boost/circular_buffer/debug.hpp:211
#3  boost::cb_details::iterator<boost::circular_buffer<double, std::allocator<double> >, boost::cb_details::const_traits<boost::container::allocator_traits<std::allocator<double> > > >::~iterator (this=0x7fff8a0807f0, __in_chrg=<optimized out>)
    at /usr/include/boost/circular_buffer/details.hpp:198
#4  boost::iterator_range_detail::iterator_range_base<boost::cb_details::iterator<boost::circular_buffer<double, std::allocator<double> >, boost::cb_details::const_traits<boost::container::allocator_traits<std::allocator<double> > > >, boost::iterators::random_access_traversal_tag>::iterator_range_base<boost::cb_details::iterator<boost::circular_buffer<double, std::allocator<double> >, boost::cb_details::const_traits<boost::container::allocator_traits<std::allocator<double> > > > > (last=..., first=..., this=0x7fff8a080850)
    at /usr/include/boost/range/iterator_range_core.hpp:381
#5  boost::iterator_range<boost::cb_details::iterator<boost::circular_buffer<double, std::allocator<double> >, boost::cb_details::const_traits<boost::container::allocator_traits<std::allocator<double> > > > >::iterator_range<boost::cb_details::iterator<boost::circular_buffer<double, std::allocator<double> >, boost::cb_details::const_traits<boost::container::allocator_traits<std::allocator<double> > > > > (last=..., first=..., this=0x7fff8a080850) at /usr/include/boost/range/iterator_range_core.hpp:483
#6  boost::accumulators::impl::rolling_window_plus1_impl<double>::result (this=0x7fff480fa8b0) at /usr/include/boost/accumulators/statistics/rolling_window.hpp:83
#7  boost::accumulators::detail::do_extract<boost::accumulators::tag::rolling_window_plus1, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::lazy_rolling_mean, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> const>, boost::parameter::aux::empty_arg_list> > (args=...) at /usr/include/boost/accumulators/framework/extractor.hpp:73
#8  boost::accumulators::extractor<boost::accumulators::tag::rolling_window_plus1>::operator()<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::lazy_rolling_mean, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> const>, boost::parameter::aux::empty_arg_list> > (this=<synthetic pointer>, arg1=...) at /usr/include/boost/accumulators/framework/extractor.hpp:104
#9  boost::accumulators::impl::rolling_count_impl<double>::result<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::lazy_rolling_mean, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> const>, boost::parameter::aux::empty_arg_list> > (
    this=<optimized out>, args=...) at /usr/include/boost/accumulators/statistics/rolling_count.hpp:41
#10 boost::accumulators::detail::do_extract<boost::accumulators::tag::rolling_count, boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::lazy_rolling_mean, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> const>, boost::parameter::aux::empty_arg_list> > (args=...) at /usr/include/boost/accumulators/framework/extractor.hpp:73
#11 boost::accumulators::extractor<boost::accumulators::tag::rolling_count>::operator()<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::lazy_rolling_mean, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> const>, boost::parameter::aux::empty_arg_list> > (this=<synthetic pointer>, arg1=...) at /usr/include/boost/accumulators/framework/extractor.hpp:104
#12 boost::accumulators::impl::lazy_rolling_mean_impl<double>::result<boost::parameter::aux::arg_list<boost::parameter::aux::tagged_argument<boost::accumulators::tag::accumulator, boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::lazy_rolling_mean, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> const>, boost::parameter::aux::empty_arg_list> > (this=0x7fff480fa8f1, args=...) at /usr/include/boost/accumulators/statistics/rolling_mean.hpp:44
#13 boost::accumulators::extract_result<boost::accumulators::tag::rolling_mean, boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::lazy_rolling_mean, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> > (acc=...) at /usr/include/boost/accumulators/framework/accumulator_set.hpp:393
#14 boost::accumulators::detail::do_extract<boost::accumulators::tag::rolling_mean, boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::lazy_rolling_mean, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> > (acc=...) at /usr/include/boost/accumulators/framework/extractor.hpp:65
#15 boost::accumulators::extractor<boost::accumulators::tag::rolling_mean>::operator()<boost::accumulators::accumulator_set<double, boost::accumulators::stats<boost::accumulators::tag::lazy_rolling_mean, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, void> > (this=<synthetic pointer>, arg1=...) at /usr/include/boost/accumulators/framework/extractor.hpp:104
#16 KisRollingMeanAccumulatorWrapper::rollingMean (this=this@entry=0x7fff4805f110) at /workspace/build/libs/global/KisRollingMeanAccumulatorWrapper.cpp:53
#17 0x00007fffb920fb94 in KisBrushOp::doAsyncronousUpdate (this=<optimized out>, jobs=...) at /workspace/build/plugins/paintops/defaultpaintops/brush/kis_brushop.cpp:254
---Type <return> to continue, or q <return> to quit---
#18 0x00007ffff737d124 in KisMaskedFreehandStrokePainter::doAsyncronousUpdate (this=this@entry=0x7fff48073410, jobs=...) at /workspace/build/libs/ui/tool/strokes/KisMaskedFreehandStrokePainter.cpp:127
#19 0x00007ffff7376151 in FreehandStrokeStrategy::tryDoUpdate (this=this@entry=0xfed8f90, forceEnd=forceEnd@entry=false) at /workspace/build/libs/ui/tool/strokes/freehand_stroke.cpp:248
#20 0x00007ffff73766a6 in FreehandStrokeStrategy::doStrokeCallback (this=0xfed8f90, data=0x7fff5c8a5110) at /workspace/build/libs/ui/tool/strokes/freehand_stroke.cpp:224
#21 0x00007ffff2181e26 in KisStrokeJob::run (this=<optimized out>) at /workspace/build/obj-x86_64-linux-gnu/libs/image/../../../libs/image/kis_stroke_job.h:44
#22 KisUpdateJobItem::run (this=0xc27d310) at /workspace/build/obj-x86_64-linux-gnu/libs/image/../../../libs/image/kis_update_job_item.h:90
#23 0x00007ffff4cbab37 in QThreadPoolThread::run (this=0xd526650) at thread/qthreadpool.cpp:101
#24 0x00007ffff4cbe6eb in QThreadPrivate::start (arg=0xd526650) at thread/qthread_unix.cpp:376
#25 0x00007fffede346ba in start_thread (arg=0x7fff8a081700) at pthread_create.c:333
#26 0x00007ffff43b541d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109


So it's not an opengl issue. Could you also make the psd that shows the crashes available? And could you check whether the crash also happens with the latest nightly appimage build?  See https://binary-factory.kde.org/job/Krita_Nightly_Appimage_Build/
Comment 2 Andrew Crouthamel 2018-09-28 03:21:55 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 3 Andrew Crouthamel 2018-10-29 02:17:50 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information.

For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!