telegramdesktop / tdesktop

Telegram Desktop messaging app
https://desktop.telegram.org/
Other
25.85k stars 5.11k forks source link

Telegram crashes when clicking outside of context menu with open submenu #26887

Closed fleriel closed 11 months ago

fleriel commented 11 months ago

Steps to reproduce

  1. Open any conversation and right click on message box to show context menu
  2. Hover over either "Formatting" or "Spelling" to show submenu.
  3. Without closing submenu, move cursor outside of context menu and left click or right click on any empty area of the window.
Examples ![tg_01](https://github.com/telegramdesktop/tdesktop/assets/89990325/1ae5fab4-5e86-4353-af79-4cdb923a0497) ![tg_02](https://github.com/telegramdesktop/tdesktop/assets/89990325/731b0db3-8136-4c5e-b5c0-19e05d21e998)

Expected behaviour

Context menu should be closed

Actual behaviour

Telegram crashes

Operating system

Fedora Workstation 38, Gnome 44.5 (Wayland)

Version of Telegram Desktop

4.10.3

Installation source

Static binary from official website

Crash ID

No response

Logs

[2023.10.03 19:25:14] Launched version: 4010003, install beta: [TRUE], alpha: 0, debug mode: [TRUE]
[2023.10.03 19:25:14] Executable dir: /home/fleriel/bin/Telegram/, name: Telegram
[2023.10.03 19:25:14] Initial working dir: /home/fleriel/bin/Telegram/
[2023.10.03 19:25:14] Working dir: /home/fleriel/.local/share/TelegramDesktop/
[2023.10.03 19:25:14] Command line: ./Telegram -debug
[2023.10.03 19:25:14] Executable path before check: /home/fleriel/bin/Telegram/Telegram
[2023.10.03 19:25:14] Logs started
[2023.10.03 19:25:14] App ID: org.telegram.desktop._6883b5c67506583e782b0de3a979727b
[2023.10.03 19:25:14] Connecting local socket to e00dbe78a70d1368397dcc76d361a6d2-{87A94AB0-E370-4cde-98D3-ACC110C5967D}...
[2023.10.03 19:25:14] Socket connect error 0, starting server and app...
[2023.10.03 19:25:14] Moved logging from '/home/fleriel/.local/share/TelegramDesktop/log_start0.txt' to '/home/fleriel/.local/share/TelegramDesktop/log.txt'!
[2023.10.03 19:25:14] Global devicePixelRatio: 1
[2023.10.03 19:25:14] Primary screen DPI: 96, Base: 96.
[2023.10.03 19:25:14] Computed screen scale: 100
[2023.10.03 19:25:14] DevicePixelRatio: 1
[2023.10.03 19:25:14] ScreenScale: 100
[2023.10.03 19:25:14] Icon theme: Rowaita-Mint-Green-Dark
[2023.10.03 19:25:14] Fallback icon theme: 
[2023.10.03 19:25:14] System tray available: [TRUE]
[2023.10.03 19:25:14] Font: from ':/gui/fonts/DAOpenSansRegular.ttf' loaded 'DAOpenSansRegular'
[2023.10.03 19:25:14] Font: from ':/gui/fonts/DAVazirRegular.ttf' loaded 'DAVazirRegular'
[2023.10.03 19:25:14] Font: from ':/gui/fonts/DAOpenSansRegularItalic.ttf' loaded 'DAOpenSansRegularItalic'
[2023.10.03 19:25:14] Font: from ':/gui/fonts/DAVazirRegular.ttf' loaded 'DAVazirRegular'
[2023.10.03 19:25:14] Font: from ':/gui/fonts/DAOpenSansSemiboldAsBold.ttf' loaded 'DAOpenSansSemibold'
[2023.10.03 19:25:14] Font: from ':/gui/fonts/DAVazirMediumAsBold.ttf' loaded 'DAVazirMedium'
[2023.10.03 19:25:14] Font: from ':/gui/fonts/DAOpenSansSemiboldItalicAsBold.ttf' loaded 'DAOpenSansSemiboldItalic'
[2023.10.03 19:25:14] Font: from ':/gui/fonts/DAVazirMediumAsBold.ttf' loaded 'DAVazirMedium'
[2023.10.03 19:25:14] Font: from ':/gui/fonts/DAOpenSansSemiboldAsBold.ttf' loaded 'DAOpenSansSemibold'
[2023.10.03 19:25:14] Font: from ':/gui/fonts/DAVazirMediumAsBold.ttf' loaded 'DAVazirMedium'
[2023.10.03 19:25:14] Font: from ':/gui/fonts/DAOpenSansSemiboldItalicAsBold.ttf' loaded 'DAOpenSansSemiboldItalic'
[2023.10.03 19:25:14] Font: from ':/gui/fonts/DAVazirMediumAsBold.ttf' loaded 'DAVazirMedium'
[2023.10.03 19:25:14] App Info: reading settings...
[2023.10.03 19:25:14] App Info: reading encrypted settings...
[2023.10.03 19:25:14] Lang Info: Loaded cached, keys: 5391
[2023.10.03 19:25:14] OpenAL Logging Level: 3
[2023.10.03 19:25:14] Audio Playback Devices: USB Audio Device Analog Stereo
[2023.10.03 19:25:14] Audio Playback Default Device: USB Audio Device Analog Stereo
[2023.10.03 19:25:14] Audio Capture Devices: USB Audio Device Mono;Monitor of USB Audio Device Analog Stereo
[2023.10.03 19:25:14] Audio Capture Default Device: USB Audio Device Mono
[2023.10.03 19:25:15] OpenGL Profile: Compatibility.
[2023.10.03 19:25:15] OpenGL Renderer: Mesa Intel(R) HD Graphics (HSW GT1)
[2023.10.03 19:25:15] OpenGL Vendor: Intel
[2023.10.03 19:25:15] OpenGL Version: 4.6 (Compatibility Profile) Mesa 23.1.7
[2023.10.03 19:25:15] OpenGL Extensions: GL_EXT_texture_compression_rgtc, GL_ARB_shading_language_packing, GL_EXT_texture_env_combine, GL_ARB_clear_buffer_object, GL_NV_primitive_restart, GL_ARB_internalformat_query, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_env_add, GL_ARB_shader_storage_buffer_object, GL_EXT_draw_buffers2, GL_EXT_framebuffer_blit, GL_ARB_transform_feedback_instanced, GL_MESA_shader_integer_functions, GL_ARB_cull_distance, GL_INGR_blend_func_separate, GL_3DFX_texture_compression_FXT1, GL_ARB_vertex_shader, GL_AMD_texture_texture4, GL_ARB_depth_clamp, GL_EXT_multi_draw_arrays, GL_AMD_shader_trinary_minmax, GL_EXT_packed_float, GL_ARB_multitexture, GL_ARB_shader_viewport_layer_array, GL_ATI_texture_float, GL_NV_texgen_reflection, GL_AMD_conservative_depth, GL_ARB_explicit_attrib_location, GL_ARB_shader_image_size, GL_EXT_texture_buffer_object, GL_NV_fog_distance, GL_ARB_texture_multisample, GL_ARB_compute_variable_group_size, GL_MESA_pack_invert, GL_ARB_texture_border_clamp, GL_ARB_framebuffer_no_attachments, GL_ARB_vertex_array_object, GL_EXT_shader_integer_mix, GL_ARB_texture_filter_anisotropic, GL_ARB_program_interface_query, GL_EXT_gpu_program_parameters, GL_SUN_multi_draw_arrays, GL_AMD_performance_monitor, GL_EXT_compiled_vertex_array, GL_ARB_draw_buffers_blend, GL_ARB_pipeline_statistics_query, GL_EXT_texture_shared_exponent, GL_EXT_memory_object, GL_ARB_conservative_depth, GL_ARB_texture_env_crossbar, GL_ARB_shader_texture_image_samples, GL_EXT_framebuffer_multisample_blit_scaled, GL_AMD_multi_draw_indirect, GL_ARB_shadow, GL_NV_compute_shader_derivatives, GL_EXT_texture_object, GL_EXT_texture_integer, GL_ARB_derivative_control, GL_ARB_fragment_program_shadow, GL_EXT_blend_subtract, GL_ARB_clip_control, GL_ARB_get_texture_sub_image, GL_ARB_point_sprite, GL_MESA_texture_signed_rgba, GL_NV_copy_depth_to_color, GL_ARB_timer_query, GL_NV_texture_rectangle, GL_ARB_gl_spirv, GL_ARB_shader_atomic_counter_ops, GL_ARB_tessellation_shader, GL_ARB_texture_view, GL_ARB_texture_mirrored_repeat, GL_ARB_ES3_2_compatibility, GL_EXT_draw_instanced, GL_ARB_texture_storage_multisample, GL_EXT_framebuffer_multisample, GL_ARB_texture_cube_map, GL_ARB_texture_compression, GL_NV_packed_depth_stencil, GL_ARB_framebuffer_object, GL_EXT_provoking_vertex, GL_ARB_stencil_texturing, GL_ARB_vertex_attrib_64bit, GL_EXT_fog_coord, GL_ARB_half_float_pixel, GL_ATI_texture_env_combine3, GL_KHR_no_error, GL_ARB_texture_barrier, GL_EXT_blend_minmax, GL_ARB_depth_buffer_float, GL_ARB_shader_precision, GL_ARB_texture_stencil8, GL_ARB_texture_compression_rgtc, GL_MESA_window_pos, GL_ARB_texture_buffer_range, GL_ATI_blend_equation_separate, GL_ARB_fragment_coord_conventions, GL_ARB_viewport_array, GL_KHR_debug, GL_AMD_draw_buffers_blend, GL_EXT_debug_label, GL_EXT_stencil_wrap, GL_KHR_robustness, GL_ARB_parallel_shader_compile, GL_EXT_texture_swizzle, GL_EXT_abgr, GL_ARB_buffer_storage, GL_SGIS_texture_border_clamp, GL_ARB_ES3_1_compatibility, GL_EXT_texture, GL_AMD_seamless_cubemap_per_texture, GL_ARB_texture_compression_bptc, GL_EXT_polygon_offset_clamp, GL_EXT_vertex_array, GL_EXT_texture3D, GL_EXT_timer_query, GL_ARB_copy_buffer, GL_ANGLE_texture_compression_dxt3, GL_ARB_map_buffer_alignment, GL_ARB_transpose_matrix, GL_ARB_depth_texture, GL_ARB_draw_instanced, GL_ARB_robustness, GL_ARB_texture_env_dot3, GL_ARB_arrays_of_arrays, GL_ARB_get_program_binary, GL_ARB_transform_feedback2, GL_ARB_fragment_program, GL_ARB_fragment_layer_viewport, GL_EXT_semaphore_fd, GL_EXT_texture_sRGB, GL_ARB_fragment_shader, GL_EXT_EGL_sync, GL_ARB_map_buffer_range, GL_ARB_shader_subroutine, GL_KHR_parallel_shader_compile, GL_EXT_blend_equation_separate, GL_EXT_framebuffer_sRGB, GL_NV_half_float, GL_AMD_vertex_shader_viewport_index, GL_INTEL_blackhole_render, GL_EXT_semaphore, GL_ARB_shading_language_include, GL_ARB_point_parameters, GL_EXT_memory_object_fd, GL_ARB_spirv_extensions, GL_EXT_packed_pixels, GL_EXT_vertex_attrib_64bit, GL_ARB_clear_texture, GL_NV_light_max_exponent, GL_EXT_direct_state_access, GL_EXT_shadow_funcs, GL_OES_EGL_image, GL_ARB_robust_buffer_access_behavior, GL_ARB_occlusion_query2, GL_MESA_framebuffer_flip_y, GL_ARB_texture_rectangle, GL_EXT_shader_samples_identical, GL_AMD_query_buffer_object, GL_ARB_invalidate_subdata, GL_NV_alpha_to_coverage_dither_control, GL_ARB_gpu_shader5, GL_ARB_copy_image, GL_ARB_sampler_objects, GL_ARB_occlusion_query, GL_ARB_texture_buffer_object_rgb32, GL_ARB_shader_clock, GL_EXT_texture_cube_map, GL_ARB_texture_env_combine, GL_ARB_uniform_buffer_object, GL_IBM_multimode_draw_arrays, GL_ARB_pixel_buffer_object, GL_NV_ES1_1_compatibility, GL_ARB_half_float_vertex, GL_ARB_texture_storage, GL_NV_copy_image, GL_KHR_blend_equation_advanced, GL_ARB_texture_buffer_object, GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, GL_NV_blend_square, GL_ARB_conditional_render_inverted, GL_ARB_explicit_uniform_location, GL_EXT_shader_framebuffer_fetch_non_coherent, GL_EXT_bgra, GL_ARB_texture_swizzle, GL_EXT_transform_feedback, GL_EXT_framebuffer_object, GL_ARB_shader_bit_encoding, GL_ARB_multisample, GL_ATI_texture_compression_3dc, GL_ARB_separate_shader_objects, GL_ARB_compatibility, GL_ARB_draw_elements_base_vertex, GL_EXT_demote_to_helper_invocation, GL_EXT_separate_specular_color, GL_ARB_shader_objects, GL_ARB_shading_language_420pack, GL_SGIS_texture_lod, GL_EXT_gpu_shader4, GL_EXT_texture_sRGB_decode, GL_ARB_texture_query_lod, GL_ARB_vertex_array_bgra, GL_KHR_context_flush_control, GL_ARB_framebuffer_sRGB, GL_ARB_enhanced_layouts, GL_ARB_texture_cube_map_array, GL_ARB_vertex_program, GL_EXT_texture_compression_s3tc, GL_ARB_instanced_arrays, GL_IBM_texture_mirrored_repeat, GL_ARB_gpu_shader_fp64, GL_ARB_provoking_vertex, GL_ARB_shader_group_vote, GL_ARB_texture_query_levels, GL_ARB_draw_buffers, GL_EXT_pixel_buffer_object, GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object, GL_EXT_blend_func_separate, GL_EXT_subtexture, GL_ARB_polygon_offset_clamp, GL_SGIS_texture_edge_clamp, GL_EXT_texture_filter_anisotropic, GL_ANGLE_texture_compression_dxt5, GL_ARB_shader_atomic_counters, GL_ARB_texture_rg, GL_EXT_rescale_normal, GL_EXT_texture_compression_dxt1, GL_ARB_debug_output, GL_ARB_sync, GL_ARB_compressed_texture_pixel_storage, GL_ARB_texture_non_power_of_two, GL_ARB_base_instance, GL_ARB_shader_texture_lod, GL_ARB_texture_mirror_clamp_to_edge, GL_NV_conditional_render, GL_NV_depth_clamp, GL_KHR_texture_compression_astc_sliced_3d, GL_ARB_seamless_cube_map, GL_EXT_texture_sRGB_R8, GL_OES_read_format, GL_INTEL_performance_query, GL_EXT_texture_snorm, GL_ATI_fragment_shader, GL_EXT_vertex_array_bgra, GL_ARB_texture_gather, GL_EXT_point_parameters, GL_ARB_shader_draw_parameters, GL_ARB_transform_feedback3, GL_EXT_texture_rectangle, GL_AMD_pinned_memory, GL_SGIS_generate_mipmap, GL_ARB_ES2_compatibility, GL_ARB_color_buffer_float, GL_EXT_texture_array, GL_EXT_texture_env_dot3, GL_ARB_query_buffer_object, GL_EXT_stencil_two_side, GL_EXT_packed_depth_stencil, GL_ARB_sample_shading, GL_NV_texture_env_combine4, GL_ARB_shading_language_100, GL_EXT_blend_color, GL_ARB_window_pos, GL_NV_texture_barrier, GL_ARB_compute_shader, GL_EXT_secondary_color, GL_ARB_seamless_cubemap_per_texture, GL_KHR_robust_buffer_access_behavior, GL_ARB_blend_func_extended, GL_KHR_texture_compression_astc_ldr, GL_ARB_vertex_type_2_10_10_10_rev, GL_ARB_ES3_compatibility, GL_ARB_texture_float, GL_AMD_vertex_shader_layer, GL_APPLE_packed_pixels, GL_EXT_copy_texture, GL_EXT_EGL_image_storage, GL_ARB_direct_state_access, GL_ARB_multi_bind, GL_ARB_transform_feedback_overflow_query, GL_EXT_draw_range_elements, GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_internalformat_query2, GL_ARB_shader_image_load_store, GL_ATI_draw_buffers, GL_ARB_indirect_parameters, GL_EXT_texture_lod_bias, GL_EXT_texture_shadow_lod, GL_IBM_rasterpos_clip, GL_ARB_draw_indirect, GL_ARB_multi_draw_indirect, GL_ATI_separate_stencil, GL_S3_s3tc
[2023.10.03 19:25:15] OpenGL: QOpenGLContext created, version: 4.4.
[2023.10.03 19:25:15] App Info: reading accounts info...
[2023.10.03 19:25:15] App Info: reading encrypted info...
[2023.10.03 19:25:15] App Info: reading map...
[2023.10.03 19:25:15] App Info: reading encrypted map...
[2023.10.03 19:25:15] App Info: reading encrypted user settings...
[2023.10.03 19:25:15] App Info: encrypted user settings read.
[2023.10.03 19:25:15] App Info: reading encrypted mtp data...
[2023.10.03 19:25:15] MTP Info: read keys, current: 4, to destroy: 0
[2023.10.03 19:25:15] Map read time: 1
[2023.10.03 19:25:15] App Info: reading encrypted mtp config...
[2023.10.03 19:25:15] App Info: reading map...
[2023.10.03 19:25:15] App Info: reading encrypted map...
[2023.10.03 19:25:15] App Info: reading encrypted user settings...
[2023.10.03 19:25:15] App Info: encrypted user settings read.
[2023.10.03 19:25:15] App Info: reading encrypted mtp data...
[2023.10.03 19:25:15] MTP Info: read keys, current: 5, to destroy: 0
[2023.10.03 19:25:15] Map read time: 1
[2023.10.03 19:25:15] App Info: reading encrypted mtp config...
[2023.10.03 19:25:15] QPainter::begin: Paint device returned engine == 0, type: 2
[2023.10.03 19:25:15] QWidget::render: Cannot render with an inactive painter
[2023.10.03 19:25:15] Export Info: Destroy top bar by controller removal.
[2023.10.03 19:25:16] OpenGL: [TRUE] (Window)
[2023.10.03 19:25:16] Notification daemon product name: gnome-shell
[2023.10.03 19:25:16] Notification daemon vendor name: GNOME
[2023.10.03 19:25:16] Notification daemon version: 44.5
[2023.10.03 19:25:16] Notification daemon specification version: 1.2
[2023.10.03 19:25:16] Notification daemon capabilities: actions, body, body-markup, icon-static, persistence, sound
[2023.10.03 19:25:17] Corrupt JPEG data: premature end of data segment
[2023.10.03 19:25:18] API Warning: not loaded minimal channel applied.
[2023.10.03 19:25:18] API Warning: not loaded minimal channel applied.
[2023.10.03 19:25:18] API Warning: not loaded minimal channel applied.
[2023.10.03 19:25:18] Corrupt JPEG data: premature end of data segment
[2023.10.03 19:25:18] RPC Error: request 128 got fail with code 400, error CHANNEL_PRIVATE
[2023.10.03 19:25:18] API Warning: not loaded minimal channel applied.
[2023.10.03 19:25:18] Corrupt JPEG data: premature end of data segment
[2023.10.03 19:25:20] setGrabPopup called with a parent, QtWaylandClient::QWaylandXdgSurface(0x7f0cffed6ba0) which does not match the current topmost grabbing popup, QtWaylandClient::QWaylandXdgSurface(0x7f0ce08e9ac0) According to the xdg-shell protocol, this is not allowed. The wayland QPA plugin is currently handling it by setting the parent to the topmost grabbing popup. Note, however, that this may cause positioning errors and popups closing unxpectedly because xdg-shell mandate that child popups close before parents
[2023.10.03 19:25:22] Could not create EGL surface (EGL error 0x3000)

[2023.10.03 19:25:22] The Wayland connection experienced a fatal error: Protocol error
Aokromes commented 11 months ago

plz enable beta, restart telegram and send crash id on next start and post id here.

fleriel commented 11 months ago

plz enable beta, restart telegram and send crash id on next start and post id here.

Beta was enabled, but there's no crush report for some reason

ilya-fedin commented 11 months ago

Cause it's not a crash but a Wayland protocol error which happened due to a bug in graphics drivers according to the log

ilya-fedin commented 11 months ago

Google says 0x3000 is a success code what is weird. Maybe it's related to #26366 / #26393...

ilya-fedin commented 11 months ago

Can't reproduce though. Apparently it's a bug in Intel driver but I have no Intel hardware.

d3cryptofc commented 11 months ago

Not long ago an update came out where the same error occurred when trying to open a media file, before this update everything worked fine.

That update was fixed for us wayland users, but it seems like some things went unnoticed.

ilya-fedin commented 11 months ago

does this happen with flatpak/snap build or only with static build? Both #26366 and #26393 have Intel driver instability only with static binary.

fleriel commented 11 months ago

flatpak version works fine, snap version also crashes

ilya-fedin commented 11 months ago

Ok, so it's not related to those issues but a new Qt regression. Nice, no new Qt version without a regression.

ilya-fedin commented 11 months ago

I wonder what protocol error happens? Can you run with WAYLAND_DEBUG=1?

fleriel commented 11 months ago

Sure tg-out.txt

ilya-fedin commented 11 months ago

Does disabling OpenGL help? Does this happen (only) in multi-screen environment with different scale factors?

ilya-fedin commented 11 months ago

Reminding that the lack of answer will lead to issue being closed

inferrna commented 11 months ago

Report from #26899 : disabling OpenGL wasn't helpful, single-screen configuration.

ilya-fedin commented 11 months ago

Looks like I reproduced with weston