Bug 404855 - Crash and visual update issue with transform tool
Summary: Crash and visual update issue with transform tool
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Tools/Transform (show other bugs)
Version: git master (please specify the git hash!)
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: triaged
Depends on:
Blocks:
 
Reported: 2019-02-26 19:38 UTC by Quiralta
Modified: 2019-04-06 16:37 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
GDB text (20.26 KB, text/plain)
2019-02-26 19:38 UTC, Quiralta
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Quiralta 2019-02-26 19:38:14 UTC
Created attachment 118387 [details]
GDB text

SUMMARY
The transformation tool options "cage" and "warp" have no visual updates of the changes, can't tell what's been transformed until a few moments later when the full modification takes places (see video, last part of it demonstrates).

Applying the transformations changes will most of the time crash Krita.

The other options seems to have no issues.

STEPS TO REPRODUCE
1. Make a new file (or open existent) and select transformation tool.
2. Select either the Cage or Warp transformations and try to transform any shape.
3. Apply changes.

https://drive.google.com/file/d/1v4zuS-vlg2ewo04lCPCBnRcLpaY5_smQ/view?usp=sharing

(I keep moving mouse to indicate that video is still recording :) )


OBSERVED RESULT
While trying to transform, there would be no visual feedback/update of what is been changed. Applying the final changes (once the canvas updates) it will most likely crash Krita.

EXPECTED RESULT
Been able to see what is been changed (normal behaviour).

Krita
  Version: 4.2.0-pre-alpha (git d7c5312)

Qt
  Version (compiled): 5.12.0
  Version (loaded): 5.12.1

OS Information
  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.20.12-arch1-1-ARCH
  Pretty Productname: Arch Linux
  Product Type: arch
  Product Version: unknown


OpenGL Info 
  Vendor:  NVIDIA Corporation 
  Renderer:  "GeForce GT 430/PCIe/SSE2" 
  Version:  "4.6.0 NVIDIA 390.116" 
  Shading language:  4.60 NVIDIA 
  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::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
  Current format:    QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 0, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
     Version: 4.6
     Supports deprecated functions true 
     is OpenGL ES: false 

Hardware Information
 Memory: 15 Gb
 Cores: 6
 Swap: /tmp
Comment 1 Ahab Greybeard 2019-03-01 22:40:22 UTC
I've just tried this with the latest 4.2.0 pre-alpha (and the 21st February build) and did not have this problem or any problem with the Warp or Cage transforms.

Here is the system information:


Krita

  Version: 4.2.0-pre-alpha (git b546430)

Qt

  Version (compiled): 5.10.0
  Version (loaded): 5.10.0

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 4.9.0-8-amd64
  Pretty Productname: Debian GNU/Linux 9 (stretch)
  Product Type: debian
  Product Version: 9

OpenGL Info
 
  Vendor:  "NVIDIA Corporation" 
  Renderer:  "GeForce GTX 750 Ti/PCIe/SSE2" 
  Version:  "4.6.0 NVIDIA 390.87" 
  Shading language:  "4.60 NVIDIA" 
  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::SwapBehavior(DoubleBuffer), swapInterval 0, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile)) 
  Current format:    QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::SwapBehavior(DoubleBuffer), swapInterval 0, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile)) 
     Version: 4.6
     Supports deprecated functions true 
     is OpenGL ES: false 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: false 
== log ==
 Supported renderers: QFlags(0x2|0x4) 
Surface format preference list: 
* 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::SwapBehavior(DoubleBuffer), swapInterval 0, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile)) 
    QSurfaceFormat::RenderableType(OpenGL) 
* 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::SwapBehavior(DoubleBuffer), swapInterval 0, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile)) 
    QSurfaceFormat::RenderableType(OpenGLES) 
Probing format... QSurfaceFormat::ColorSpace(DefaultColorSpace) QSurfaceFormat::RenderableType(OpenGL) 
Found 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::SwapBehavior(DoubleBuffer), swapInterval 0, colorSpace QSurfaceFormat::ColorSpace(DefaultColorSpace), profile  QSurfaceFormat::OpenGLContextProfile(CompatibilityProfile)) 
    QSurfaceFormat::RenderableType(OpenGL) 
 
== end log == 

Hardware Information

  GPU Acceleration: auto
  Memory: 16049 Mb
  Number of Cores: 8
  Swap Location: /tmp
Comment 2 wolthera 2019-03-06 09:12:07 UTC
Can't reproduce this either at the moment, even with a 3000x4000 file...

Do you have instant preview on, or can you still reproduce it with the latest builds?
Comment 3 Quiralta 2019-03-06 15:23:32 UTC
Thanks for checking Ahab Greybeard, Wolthera.

Just built right now (Version: 4.2.0-pre-alpha (git d7c5312)) and the there is some changes.

Now I can see the canvas been updated as I transform.

Still can't apply any transformation as Krita will crash right on click.

What I just notice is that turning off "canvas graphics acceleration" makes the crash go away, turning it back will bring back the crash.

I'm not sure what's behind, a OpenGl problem maybe? And if so, would it be Krita or the nvidia drivers?(in my gpu legacy now on Archlinux).
Comment 4 Bug Janitor Service 2019-03-07 04:33:11 UTC
Thanks for your comment!

Automatically switching the status of this bug to REPORTED so that the KDE team
knows that the bug is ready to get confirmed.

In the future you may also do this yourself when providing needed information.
Comment 5 Scott Petrovic 2019-03-31 14:33:43 UTC
I am not able to reproduce this either on my Ubuntu 18.10 on the master branch. With openGL on or off.

Maybe this is something specific to Arch linux. Someone with that distro might have to test it out.
Comment 6 Quiralta 2019-04-03 02:55:19 UTC
Just an update, the krita I build locally still shows the same behavior as described in my last comment.

The Appimage though (4.2.0-pre-alpha (git 6448150)) works just fine even without a clean setup (keeping the .local/krita folder as is).

I guess whatever Arch has newer than the appimage makes the difference, maybe qt? If you guys need me to do something else just let me know. :)
Comment 7 Quiralta 2019-04-06 16:37:25 UTC
All right! can't reproduce this any longer, not sure what build changed it but as of today things are working normal again, thus closing this one, thanks for checking and sorry for the trouble. :)