Bug 455662 - In the Android version, switching the style to Android caused a crash.
Summary: In the Android version, switching the style to Android caused a crash.
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: * Unknown (show other bugs)
Version: nightly build (please specify the git hash!)
Platform: Other Other
: NOR crash
Target Milestone: ---
Assignee: sh_zam
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-06-20 17:12 UTC by Eranthis stellata Maxim
Modified: 2022-08-09 08:06 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eranthis stellata Maxim 2022-06-20 17:12:36 UTC
SUMMARY
5.2.0-prealpha (git 389448d)
In the Android version, switching the style to Android caused a crash.
********************** Dumping backtrace **********************
Signal: 11 (SIGSEGV) (Code: 1) Time: 周一 6月 20 16:56:07 2022 GMT
  #00 pc 000000000000d474  /data/data/org.krita.next/qt-reserved-files/plugins/styles/libqandroidstyle.so (QAndroidStyle::subControlRect(QStyle::ComplexControl, QStyleOptionComplex const*, QStyle::SubControl, QWidget const*) const+304)

SOFTWARE/OS VERSIONS
Krita

 Version: 5.2.0-prealpha (git 389448d)
 Hidpi: true

Qt

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

OS Information

  Build ABI: arm64-little_endian-lp64
  Build CPU: arm64
  CPU: arm64
  Kernel Type: linux
  Kernel Version: 5.4.86-qgki-23595105-abT733XXU1BVE3
  Pretty Productname: Android  (12.0)
  Product Type: android
  Product Version: 12.0
  Product Model: Samsung SM-T733

Locale

  Languages: zh, zh_CN, zh_CN
  C locale: C.UTF-8
  QLocale current: en
  QLocale system: en
  QTextCodec for locale: UTF-8

OpenGL Info
 
  Vendor:  "Qualcomm" 
  Renderer:  "Adreno (TM) 642L" 
  Version:  "OpenGL ES 3.2 V@0530.0 (GIT@009e9bf746, I4cc83cbab4, 1623344793) (Date:06/10/21)" 
  Shading language:  "OpenGL ES GLSL ES 3.20" 
  Requested format:  QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile) 
  Current format:  QSurfaceFormat(version 3.2, 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.2
     Supports deprecated functions false 
     is OpenGL ES: true 
  supportsBufferMapping: true 
  supportsBufferInvalidation: false 
  forceDisableTextureBuffers: false 
  Extensions: 
     "GL_EXT_discard_framebuffer" 
     "GL_EXT_texture_format_sRGB_override" 
     "GL_OES_standard_derivatives" 
     "GL_EXT_robustness" 
     "GL_EXT_external_buffer" 
     "GL_QCOM_shader_framebuffer_fetch_noncoherent" 
     "GL_EXT_disjoint_timer_query" 
     "GL_EXT_multisampled_render_to_texture" 
     "GL_QCOM_motion_estimation" 
     "GL_OES_compressed_ETC1_RGB8_texture" 
     "GL_EXT_sRGB" 
     "GL_EXT_primitive_bounding_box" 
     "GL_EXT_buffer_storage" 
     "GL_OES_depth_texture" 
     "GL_ANDROID_extension_pack_es31a" 
     "GL_EXT_clip_cull_distance" 
     "GL_OVR_multiview2" 
     "GL_OES_texture_view" 
     "GL_OES_element_index_uint" 
     "GL_EXT_YUV_target" 
     "GL_OES_vertex_array_object" 
     "GL_QCOM_texture_foveated_subsampled_layout" 
     "GL_EXT_shader_io_blocks" 
     "GL_EXT_fragment_invocation_density" 
     "GL_OES_texture_half_float_linear" 
     "GL_KHR_texture_compression_astc_hdr" 
     "GL_EXT_texture_type_2_10_10_10_REV" 
     "GL_OES_texture_float" 
     "GL_OES_depth24" 
     "GL_OES_shader_image_atomic" 
     "GL_OES_get_program_binary" 
     "GL_KHR_blend_equation_advanced" 
     "GL_OES_EGL_image_external_essl3" 
     "GL_EXT_texture_cube_map_array" 
     "GL_ARM_shader_framebuffer_fetch_depth_stencil" 
     "GL_KHR_blend_equation_advanced_coherent" 
     "GL_EXT_texture_format_BGRA8888" 
     "GL_EXT_debug_marker" 
     "GL_EXT_EGL_image_array" 
     "GL_OES_texture_float_linear" 
     "GL_OES_texture_storage_multisample_2d_array" 
     "GL_EXT_texture_norm16" 
     "GL_EXT_protected_textures" 
     "GL_QCOM_texture_foveated" 
     "GL_AMD_compressed_ATC_texture" 
     "GL_EXT_clip_control" 
     "GL_OES_framebuffer_object" 
     "GL_QCOM_alpha_test" 
     "GL_OES_packed_depth_stencil" 
     "GL_EXT_color_buffer_float" 
     "GL_EXT_EGL_image_external_wrap_modes" 
     "GL_EXT_EGL_image_storage" 
     "GL_OES_vertex_half_float" 
     "GL_OES_texture_stencil8" 
     "GL_OES_texture_npot" 
     "GL_QCOM_validate_shader_binary" 
     "GL_OES_EGL_sync" 
     "GL_QCOM_YUV_texture_gather" 
     "GL_KHR_texture_compression_astc_ldr" 
     "GL_EXT_tessellation_shader" 
     "GL_EXT_texture_sRGB_R8" 
     "GL_EXT_color_buffer_half_float" 
     "GL_OES_texture_3D" 
     "GL_OES_depth_texture_cube_map" 
     "GL_QCOM_shader_framebuffer_fetch_rate" 
     "GL_OES_sample_variables" 
     "GL_EXT_shader_framebuffer_fetch" 
     "GL_EXT_texture_border_clamp" 
     "GL_OES_surfaceless_context" 
     "GL_EXT_multisampled_render_to_texture2" 
     "GL_QCOM_shading_rate" 
     "GL_OVR_multiview" 
     "GL_OES_rgb8_rgba8" 
     "GL_OES_texture_half_float" 
     "GL_EXT_geometry_shader" 
     "GL_KHR_no_error" 
     "GL_NV_shader_noperspective_interpolation" 
     "GL_KHR_robust_buffer_access_behavior" 
     "GL_EXT_blend_func_extended" 
     "GL_OES_EGL_image" 
     "GL_EXT_read_format_bgra" 
     "GL_EXT_debug_label" 
     "GL_EXT_shader_non_constant_global_initializers" 
     "GL_EXT_texture_filter_anisotropic" 
     "GL_OES_texture_compression_astc" 
     "GL_OES_shader_multisample_interpolation" 
     "" 
     "GL_EXT_draw_buffers_indexed" 
     "GL_EXT_gpu_shader5" 
     "GL_KHR_debug" 
     "GL_EXT_texture_buffer" 
     "GL_EXT_copy_image" 
     "GL_QCOM_tiled_rendering" 
     "GL_EXT_blit_framebuffer_params" 
     "GL_EXT_memory_object_fd" 
     "GL_OES_EGL_image_external" 
     "GL_EXT_memory_object" 
     "GL_EXT_sRGB_write_control" 
     "GL_EXT_texture_sRGB_decode" 
     "GL_OES_sample_shading" 
     "GL_OVR_multiview_multisampled_render_to_texture" 

QPA OpenGL Detection Info 
  supportsDesktopGL: false 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: true 

useBufferInvalidation (config option): false


Hardware Information

  GPU Acceleration: auto
  Memory: 7344 Mb
  Number of Cores: 8
  Swap Location: /data/data/org.krita.next/files
  Built for: arm64+neon
  Base instruction set: arm64+neon
  Supported instruction sets: arm64+neon arm32+neon avx512bw avx512dq avx512cd avx512f fma3+avx2 avx2 fma3+avx avx fma4 fma3+sse4.2 sse4.2 sse4.1 ssse3 sse3 sse2 

Current Settings

  Current Swap Location: /data/data/org.krita.next/files
  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: TRY_OPENGL
  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
  Use Win8 Pointer Input: false
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false


Display Information
Number of screens: 1
	Screen: 0
		Name: 
		Depth: 32
		Scale: 1.8756
		Position: 0, 0
		Resolution in pixels: 1365x853
		Manufacturer: 
		Model: 
		Refresh Rate: 60
Comment 1 sh_zam 2022-08-06 15:55:51 UTC
I think the best solution would be to just disable this style since it looks very odd (i.e when it doesn't crash: https://photos.app.goo.gl/qXQTTGcUvv93PCFL8). What do you think Halla?

Maybe something like this:

From 251473543485b4137290d964f347dd35d8450656 Mon Sep 17 00:00:00 2001
From: Sharaf Zaman <shzam@sdf.org>
Date: Sat, 6 Aug 2022 15:49:00 +0000
Subject: [PATCH] Android: Disable "android" style since it crashes

... and it looks disproportionate when it does work.

BUG:455662
---
 libs/ui/KisMainWindow.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libs/ui/KisMainWindow.cpp b/libs/ui/KisMainWindow.cpp
index b69710c467..2a40c66807 100644
--- a/libs/ui/KisMainWindow.cpp
+++ b/libs/ui/KisMainWindow.cpp
@@ -398,6 +398,12 @@ KisMainWindow::KisMainWindow(QUuid uuid)
     d->styleActions = new QActionGroup(this);
     QAction * action;
     Q_FOREACH (QString styleName, QStyleFactory::keys()) {
+#ifdef Q_OS_ANDROID
+        // disable the style for android platform
+        if (styleName.contains("android")) {
+            continue;
+        }
+#endif
         action = new QAction(styleName, d->styleActions);
         action->setCheckable(true);
         d->actionMap.insert(styleName, action);
-- 
2.37.1
Comment 2 sh_zam 2022-08-09 05:58:13 UTC
Git commit 5837e83c01ddbd91db0f808a32f3b2cb95c5caca by Sharaf Zaman.
Committed on 09/08/2022 at 05:56.
Pushed by szaman into branch 'master'.

Android: Disable "android" style since it crashes

... and it looks disproportionate when it does work.

M  +6    -0    libs/ui/KisMainWindow.cpp

https://invent.kde.org/graphics/krita/commit/5837e83c01ddbd91db0f808a32f3b2cb95c5caca
Comment 3 sh_zam 2022-08-09 08:06:00 UTC
Git commit 0e9925407d912b5e776ce874b9bd396852feab50 by Sharaf Zaman.
Committed on 09/08/2022 at 07:42.
Pushed by szaman into branch 'krita/5.1'.

Android: Disable "android" style since it crashes

... and it looks disproportionate when it does work.
(cherry picked from commit 5837e83c01ddbd91db0f808a32f3b2cb95c5caca)

M  +6    -0    libs/ui/KisMainWindow.cpp

https://invent.kde.org/graphics/krita/commit/0e9925407d912b5e776ce874b9bd396852feab50