telegramdesktop / tdesktop

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

Crash after trying to unarchive 3 chats consecutively #27537

Closed george-gca closed 7 months ago

george-gca commented 7 months ago

Steps to reproduce

  1. Archive 3+ chats
  2. Enter the archived chats, right click one of them and then unarchive it
  3. Do this consecutively for the other chats until it crashes

Expected behaviour

Not crash

Actual behaviour

Crash

Operating system

Ubuntu 23.10

Version of Telegram Desktop

4.15

Installation source

Snap

Crash ID

I couldn't find this option

Logs

[2024.03.04 13:21:43] Launched version: 4015000, install beta: [FALSE], alpha: 0, debug mode: [FALSE]
[2024.03.04 13:21:43] Executable dir: /snap/telegram-desktop/5581/usr/bin/, name: telegram-desktop
[2024.03.04 13:21:43] Initial working dir: /home/gca/
[2024.03.04 13:21:43] Working dir: /home/gca/snap/telegram-desktop/5581/.local/share/TelegramDesktop/
[2024.03.04 13:21:43] Command line: /snap/telegram-desktop/5581/usr/bin/telegram-desktop --
[2024.03.04 13:21:43] Executable path before check: /snap/telegram-desktop/5581/usr/bin/telegram-desktop
[2024.03.04 13:21:43] Logs started
[2024.03.04 13:21:43] App ID: telegram-desktop_telegram-desktop
[2024.03.04 13:21:43] Connecting local socket to snap.telegram-desktop.83c9f581543132f5430e63b30c8df5de...
[2024.03.04 13:21:43] Socket connect error 0, starting server and app...
[2024.03.04 13:21:43] Moved logging from '/home/gca/snap/telegram-desktop/5581/.local/share/TelegramDesktop/log_start0.txt' to '/home/gca/snap/telegram-desktop/5581/.local/share/TelegramDesktop/log.txt'!
[2024.03.04 13:21:43] Global devicePixelRatio: 1
[2024.03.04 13:21:43] Primary screen DPI: 96, Base: 96.
[2024.03.04 13:21:43] Computed screen scale: 100
[2024.03.04 13:21:43] DevicePixelRatio: 1
[2024.03.04 13:21:43] ScreenScale: 100
[2024.03.04 13:21:43] Icon theme: Adwaita
[2024.03.04 13:21:43] Fallback icon theme: 
[2024.03.04 13:21:43] Media Info: Type Playback, default: QCY Melobuds ANC, list: { "QCY Melobuds ANC" <QCY Melobuds ANC>, "Built-in Audio Analog Stereo" <Built-in Audio Analog Stereo>, "TU106 High Definition Audio Controller Digital Stereo (HDMI)" <TU106 High Definition Audio Controller Digital Stereo (HDMI)> }, full list refresh: true
[2024.03.04 13:21:43] Media Info: Type Capture, default: Built-in Audio Analog Stereo, list: { "Built-in Audio Analog Stereo" <Built-in Audio Analog Stereo>, "Monitor of Built-in Audio Analog Stereo" <Monitor of Built-in Audio Analog Stereo>, "Monitor of TU106 High Definition Audio Controller Digital Stereo (HDMI)" <Monitor of TU106 High Definition Audio Controller Digital Stereo (HDMI)>, "Monitor of QCY Melobuds ANC" <Monitor of QCY Melobuds ANC> }, full list refresh: true
[2024.03.04 13:21:43] Media Info: Type Camera, default: usb-0000:00:14.0-6, list: { "Integrated Camera: Integrated C" <usb-0000:00:14.0-6> }, full list refresh: true
[2024.03.04 13:21:43] System tray available: [TRUE]
[2024.03.04 13:21:43] Font: from ':/gui/fonts/DAOpenSansRegular.ttf' loaded 'DAOpenSansRegular'
[2024.03.04 13:21:43] Font: from ':/gui/fonts/DAVazirRegular.ttf' loaded 'DAVazirRegular'
[2024.03.04 13:21:43] Font: from ':/gui/fonts/DAOpenSansRegularItalic.ttf' loaded 'DAOpenSansRegularItalic'
[2024.03.04 13:21:43] Font: from ':/gui/fonts/DAVazirRegular.ttf' loaded 'DAVazirRegular'
[2024.03.04 13:21:43] Font: from ':/gui/fonts/DAOpenSansSemiboldAsBold.ttf' loaded 'DAOpenSansSemibold'
[2024.03.04 13:21:43] Font: from ':/gui/fonts/DAVazirMediumAsBold.ttf' loaded 'DAVazirMedium'
[2024.03.04 13:21:43] Font: from ':/gui/fonts/DAOpenSansSemiboldItalicAsBold.ttf' loaded 'DAOpenSansSemiboldItalic'
[2024.03.04 13:21:43] Font: from ':/gui/fonts/DAVazirMediumAsBold.ttf' loaded 'DAVazirMedium'
[2024.03.04 13:21:43] Font: from ':/gui/fonts/DAOpenSansSemiboldAsBold.ttf' loaded 'DAOpenSansSemibold'
[2024.03.04 13:21:43] Font: from ':/gui/fonts/DAVazirMediumAsBold.ttf' loaded 'DAVazirMedium'
[2024.03.04 13:21:43] Font: from ':/gui/fonts/DAOpenSansSemiboldItalicAsBold.ttf' loaded 'DAOpenSansSemiboldItalic'
[2024.03.04 13:21:43] Font: from ':/gui/fonts/DAVazirMediumAsBold.ttf' loaded 'DAVazirMedium'
[2024.03.04 13:21:43] App Info: reading settings...
[2024.03.04 13:21:43] App Info: reading encrypted settings...
[2024.03.04 13:21:43] Lang Info: Loaded cached, keys: 6387
[2024.03.04 13:21:43] OpenAL Logging Level: (not set)
[2024.03.04 13:21:44] OpenGL Profile: Compatibility.
[2024.03.04 13:21:44] OpenGL Renderer: Mesa Intel(R) UHD Graphics (CML GT2)
[2024.03.04 13:21:44] OpenGL Vendor: Intel
[2024.03.04 13:21:44] OpenGL Version: 4.6 (Compatibility Profile) Mesa 24.0.1 - kisak-mesa PPA
[2024.03.04 13:21:44] OpenGL Extensions: GL_EXT_texture_env_dot3, GL_ARB_clear_texture, GL_NV_blend_square, GL_AMD_shader_stencil_export, GL_NV_copy_depth_to_color, GL_ARB_stencil_texturing, GL_SGIS_texture_edge_clamp, GL_ARB_shader_precision, GL_EXT_blend_color, GL_ARB_shader_group_vote, GL_ARB_timer_query, GL_EXT_memory_object, GL_ARB_depth_clamp, GL_EXT_texture_rectangle, GL_3DFX_texture_compression_FXT1, GL_ARB_blend_func_extended, GL_ARB_shader_atomic_counter_ops, GL_EXT_provoking_vertex, GL_ARB_gpu_shader5, GL_ARB_texture_query_lod, GL_EXT_texture_compression_latc, GL_EXT_texture3D, GL_ARB_texture_compression_bptc, GL_EXT_texture_sRGB, GL_ARB_post_depth_coverage, GL_KHR_blend_equation_advanced_coherent, GL_NV_half_float, GL_ARB_texture_cube_map, GL_SGIS_texture_lod, GL_ARB_pixel_buffer_object, GL_ATI_texture_compression_3dc, GL_EXT_framebuffer_sRGB, GL_EXT_debug_label, GL_MESA_texture_const_bandwidth, GL_ARB_fragment_program_shadow, GL_ARB_tessellation_shader, GL_EXT_blend_minmax, GL_NV_texgen_reflection, GL_ARB_derivative_control, GL_ARB_shader_bit_encoding, GL_ARB_sample_shading, GL_ARB_occlusion_query, GL_ARB_program_interface_query, GL_ARB_half_float_pixel, GL_ARB_fragment_coord_conventions, GL_ARB_ES2_compatibility, GL_ARB_texture_compression, GL_EXT_compiled_vertex_array, GL_EXT_copy_texture, GL_ARB_half_float_vertex, GL_AMD_shader_trinary_minmax, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_IBM_rasterpos_clip, GL_ARB_explicit_attrib_location, GL_INTEL_performance_query, GL_ARB_texture_env_add, GL_ARB_compute_variable_group_size, GL_AMD_vertex_shader_viewport_index, GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_cull_distance, GL_EXT_texture, GL_NV_compute_shader_derivatives, GL_ARB_texture_stencil8, GL_EXT_abgr, GL_ARB_shading_language_100, GL_ARB_transpose_matrix, GL_MESA_framebuffer_flip_y, GL_EXT_blend_subtract, GL_EXT_EGL_image_storage, GL_NV_texture_rectangle, GL_ARB_shader_image_size, GL_EXT_shadow_funcs, GL_ARB_texture_rgb10_a2ui, GL_EXT_shader_framebuffer_fetch_non_coherent, GL_ARB_gl_spirv, GL_EXT_demote_to_helper_invocation, GL_ARB_shading_language_include, GL_ARB_shader_objects, GL_NV_light_max_exponent, GL_EXT_polygon_offset_clamp, GL_ARB_transform_feedback_instanced, GL_ARB_texture_env_crossbar, GL_ARB_clear_buffer_object, GL_ARB_draw_elements_base_vertex, GL_AMD_texture_texture4, GL_ATI_blend_equation_separate, GL_ARB_parallel_shader_compile, GL_ARB_shadow, GL_EXT_texture_compression_rgtc, GL_ARB_indirect_parameters, GL_EXT_texture_sRGB_R8, GL_EXT_framebuffer_object, GL_EXT_transform_feedback, GL_ARB_shader_viewport_layer_array, GL_EXT_texture_compression_dxt1, GL_SUN_multi_draw_arrays, GL_ARB_texture_filter_anisotropic, GL_ATI_separate_stencil, GL_EXT_draw_buffers2, GL_EXT_rescale_normal, GL_EXT_shader_framebuffer_fetch, GL_ARB_map_buffer_alignment, GL_ARB_multi_draw_indirect, GL_ARB_vertex_array_bgra, GL_EXT_texture_lod_bias, GL_MESA_shader_integer_functions, GL_ARB_debug_output, GL_ARB_shader_texture_lod, GL_APPLE_packed_pixels, GL_ARB_copy_buffer, GL_ARB_shader_storage_buffer_object, GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_MESA_pack_invert, GL_ARB_seamless_cube_map, GL_EXT_texture_integer, GL_EXT_stencil_two_side, GL_IBM_multimode_draw_arrays, GL_ARB_fragment_program, GL_ARB_texture_view, GL_NV_copy_image, GL_EXT_packed_depth_stencil, GL_ARB_conditional_render_inverted, GL_ARB_spirv_extensions, GL_ATI_fragment_shader, GL_ARB_query_buffer_object, GL_ARB_transform_feedback2, GL_ARB_conservative_depth, GL_AMD_depth_clamp_separate, GL_EXT_texture_object, GL_AMD_conservative_depth, GL_EXT_packed_float, GL_ARB_direct_state_access, GL_EXT_secondary_color, GL_EXT_shader_integer_mix, GL_ARB_texture_float, GL_INGR_blend_func_separate, GL_EXT_draw_range_elements, GL_NV_texture_barrier, GL_ARB_texture_env_combine, GL_ARB_ES3_compatibility, GL_ARB_framebuffer_no_attachments, GL_ATI_draw_buffers, GL_ARB_pipeline_statistics_query, GL_ARB_texture_swizzle, GL_EXT_gpu_program_parameters, GL_NV_alpha_to_coverage_dither_control, GL_ARB_multitexture, GL_AMD_pinned_memory, GL_ARB_copy_image, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_texture_border_clamp, GL_EXT_texture_env_add, GL_ARB_shading_language_420pack, GL_EXT_stencil_wrap, GL_ARB_fragment_layer_viewport, GL_ARB_texture_storage_multisample, GL_EXT_multi_draw_arrays, GL_ARB_occlusion_query2, GL_EXT_texture_snorm, GL_ARB_explicit_uniform_location, GL_ARB_provoking_vertex, GL_EXT_subtexture, GL_ARB_vertex_shader, GL_KHR_no_error, GL_ARB_texture_buffer_object, GL_ARB_get_program_binary, GL_EXT_vertex_array_bgra, GL_ARB_texture_gather, GL_IBM_texture_mirrored_repeat, GL_ANGLE_texture_compression_dxt5, GL_NV_depth_clamp, GL_KHR_blend_equation_advanced, GL_EXT_vertex_attrib_64bit, GL_ARB_robustness, GL_EXT_framebuffer_multisample_blit_scaled, GL_KHR_context_flush_control, GL_ARB_instanced_arrays, GL_ARB_depth_buffer_float, GL_ATI_texture_float, GL_EXT_fog_coord, GL_EXT_texture_filter_anisotropic, GL_AMD_multi_draw_indirect, GL_ARB_transform_feedback_overflow_query, GL_ARB_shader_subroutine, GL_ARB_vertex_type_2_10_10_10_rev, GL_EXT_framebuffer_multisample, GL_KHR_texture_compression_astc_ldr, GL_ARB_draw_indirect, GL_EXT_point_parameters, GL_ARB_sync, GL_EXT_texture_sRGB_decode, GL_ARB_texture_multisample, GL_ARB_texture_rectangle, GL_EXT_texture_array, GL_ARB_window_pos, GL_ARB_vertex_type_10f_11f_11f_rev, GL_AMD_draw_buffers_blend, GL_EXT_texture_compression_s3tc, GL_ARB_draw_instanced, GL_ARB_multi_bind, GL_ARB_vertex_array_object, GL_ARB_texture_cube_map_array, GL_ARB_draw_buffers, GL_ARB_gpu_shader_fp64, GL_NV_fragment_shader_interlock, GL_ARB_texture_env_dot3, GL_ARB_separate_shader_objects, GL_ARB_arrays_of_arrays, GL_ARB_framebuffer_sRGB, GL_ARB_depth_texture, GL_ARB_viewport_array, GL_EXT_framebuffer_blit, GL_NV_ES1_1_compatibility, GL_ANGLE_texture_compression_dxt3, GL_ARB_fragment_shader_interlock, GL_ATI_texture_env_combine3, GL_ARB_invalidate_subdata, GL_ARB_get_texture_sub_image, GL_ARB_texture_storage, GL_EXT_semaphore_fd, GL_ARB_shader_image_load_store, GL_ARB_color_buffer_float, GL_ARB_enhanced_layouts, GL_ARB_texture_compression_rgtc, GL_EXT_texture_edge_clamp, GL_ARB_texture_buffer_object_rgb32, GL_ARB_gpu_shader_int64, GL_ARB_transform_feedback3, GL_KHR_parallel_shader_compile, GL_S3_s3tc, GL_ARB_base_instance, GL_INTEL_shader_integer_functions2, GL_EXT_texture_buffer_object, GL_ARB_ES3_2_compatibility, GL_ARB_internalformat_query2, GL_KHR_robust_buffer_access_behavior, GL_ARB_vertex_attrib_64bit, GL_ARB_texture_barrier, GL_EXT_pixel_buffer_object, GL_ARB_texture_mirrored_repeat, GL_ARB_vertex_attrib_binding, GL_ARB_shader_atomic_counters, GL_ARB_fragment_shader, GL_EXT_EGL_sync, GL_EXT_gpu_shader4, GL_ARB_multisample, GL_SGIS_texture_border_clamp, GL_ARB_buffer_storage, GL_ARB_draw_buffers_blend, GL_ARB_shader_ballot, GL_EXT_separate_specular_color, GL_KHR_debug, GL_ARB_shader_draw_parameters, GL_ARB_robust_buffer_access_behavior, GL_ARB_texture_rg, GL_EXT_shader_samples_identical, GL_EXT_texture_env_combine, GL_ARB_shader_texture_image_samples, GL_EXT_packed_pixels, GL_EXT_texture_shared_exponent, GL_AMD_query_buffer_object, GL_ARB_sampler_objects, GL_NV_conditional_render, GL_ARB_compatibility, GL_ARB_texture_buffer_range, GL_INTEL_blackhole_render, GL_ARB_ES3_1_compatibility, GL_AMD_vertex_shader_layer, GL_SGIS_generate_mipmap, GL_ARB_polygon_offset_clamp, GL_EXT_texture_shadow_lod, GL_ARB_internalformat_query, GL_EXT_memory_object_fd, GL_EXT_draw_instanced, GL_EXT_vertex_array, GL_ARB_compressed_texture_pixel_storage, GL_INTEL_shader_atomic_float_minmax, GL_EXT_bgra, GL_NV_texture_env_combine4, GL_AMD_seamless_cubemap_per_texture, GL_ARB_compute_shader, GL_ARB_shader_clock, GL_NV_fog_distance, GL_EXT_blend_equation_separate, GL_ARB_clip_control, GL_EXT_texture_cube_map, GL_MESA_window_pos, GL_NV_packed_depth_stencil, GL_EXT_blend_func_separate, GL_ARB_point_parameters, GL_EXT_semaphore, GL_NV_primitive_restart, GL_OES_read_format, GL_ARB_framebuffer_object, GL_ARB_shader_stencil_export, GL_ARB_map_buffer_range, GL_MESA_texture_signed_rgba, GL_ARB_seamless_cubemap_per_texture, GL_ARB_shading_language_packing, GL_KHR_robustness, GL_EXT_direct_state_access, GL_ARB_point_sprite, GL_OES_EGL_image, GL_KHR_texture_compression_astc_sliced_3d, GL_ARB_uniform_buffer_object, GL_AMD_performance_monitor
[2024.03.04 13:21:44] OpenGL: QOpenGLContext created, version: 4.4.
[2024.03.04 13:21:44] App Info: reading accounts info...
[2024.03.04 13:21:44] App Info: reading encrypted info...
[2024.03.04 13:21:44] App Info: reading map...
[2024.03.04 13:21:44] App Info: reading encrypted map...
[2024.03.04 13:21:44] App Info: reading encrypted user settings...
[2024.03.04 13:21:44] App Info: encrypted user settings read.
[2024.03.04 13:21:44] App Info: reading encrypted mtp data...
[2024.03.04 13:21:44] MTP Info: read keys, current: 5, to destroy: 0
[2024.03.04 13:21:44] Map read time: 1
[2024.03.04 13:21:44] App Info: reading encrypted mtp config...
[2024.03.04 13:21:44] Export Info: Destroy top bar by controller removal.
[2024.03.04 13:21:44] OpenGL: [TRUE] (Window)
[2024.03.04 13:21:44] Unable to get last user input time from org.freedesktop.ScreenSaver: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: An AppArmor policy prevents this sender from sending this message to this recipient; type="method_call", sender=":1.696" (uid=1000 pid=62627 comm="/snap/telegram-desktop/5581/usr/bin/telegram-deskt" label="snap.telegram-desktop.telegram-desktop (enforce)") interface="org.freedesktop.ScreenSaver" member="GetSessionIdleTime" error name="(unset)" requested_reply="0" destination="org.freedesktop.ScreenSaver" (uid=1000 pid=3174 comm="/usr/libexec/gsd-screensaver-proxy" label="unconfined")
[2024.03.04 13:21:44] Notification daemon product name: gnome-shell
[2024.03.04 13:21:44] Notification daemon vendor name: GNOME
[2024.03.04 13:21:44] Notification daemon version: 45.2
[2024.03.04 13:21:44] Notification daemon specification version: 1.2
[2024.03.04 13:21:44] Notification daemon capabilities: actions, body, body-markup, icon-static, persistence, sound
ilya-fedin commented 7 months ago

I couldn't find this option

You need to switch to static binary to get it. Snap ecosystem doesn't provide crash reporting capabilities.

skgsergio commented 7 months ago

I sufered this too on snap and reproduced it with the static binary version downloaded from desktop.telegram.org.

Version

4.15.0

Crash ID

Crash ID while archiving several chats: 2c8c9dfe-b750-4abb-bd9bcf85-465056ac Crash ID while unarchiving one single chat: b6a22c08-46c7-4a78-3cd7e69b-e3fca015 Crash ID while unarchiving several chats: 805128d8-6b4b-4368-80128b84-376be452

OS

$ lsb_release -a && uname -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 23.10
Release:    23.10
Codename:   mantic
Linux setebos 6.5.0-21-generic #21-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb  7 14:17:40 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Logs

No relevant log printed prior to the crash.

Extra info

When I tried to GDB the snap version I saw the backtrace goes from QtWayland to mesa and the iris dri (intel driver). But can't tell much as I lack symbols, so this might be misleading.

image

ilya-fedin commented 7 months ago

According to the backtrace it crashes inside GPU drivers when showing context menu. There's nothing really tdesktop could do about that, you seem to have buggy drivers. Perhaps you need to report this to mesa.

Thread 0 (crashed)
 0  libc.so.6 + 0x17e1ca
 1  libgallium_dri.so + 0x1771c6
 2  libgallium_dri.so + 0x195650
 3  libgallium_dri.so + 0x195330
 4  libgallium_dri.so + 0x16cab0
 5  libgallium_dri.so + 0x178690
 6  libgallium_dri.so + 0x178740
 7  libgallium_dri.so + 0x16eb90
 8  libgallium_dri.so + 0x195650
 9  libgallium_dri.so + 0x195330
10  libgallium_dri.so + 0x195240
11  libgallium_dri.so + 0x18555b
12  libgallium_dri.so + 0x185523
13  libgallium_dri.so + 0xc16be
14  libgallium_dri.so + 0xc51ef
15  libEGL_mesa.so.0 + 0x19a42
16  libEGL_mesa.so.0 + 0x1dccf
17  libEGL.so.1 + 0x5215
18  libEGL_mesa.so.0 + 0x1072d
19  Telegram!QtWaylandClient::QWaylandEglClientBufferIntegration::createPlatformOpenGLContext(QSurfaceFormat const&, QPlatformOpenGLContext*) const [qwaylandglcontext.cpp : 219 + 0x17]
20  Telegram!non-virtual thunk to QtWaylandClient::QWaylandXdgSurface::xdg_surface_configure(unsigned int) + 0x210
21  Telegram!QtWaylandClient::QWaylandIntegration::createPlatformOpenGLContext(QOpenGLContext*) const [qwaylandintegration.cpp : 149 + 0xc]
22  Telegram!QOpenGLContext::create() [qopenglcontext.cpp : 355 + 0x9]
23  Telegram!QRhiGles2InitParams::newFallbackSurface(QSurfaceFormat const&) [qrhigles2.cpp : 544 + 0x8]
24  Telegram!qEnvironmentVariableIntValue(char const*, bool*) [mutex : 738 + 0x8]
25  Telegram!QBackingStoreRhiSupport::create() [qbackingstorerhisupport.cpp : 74 + 0x5]
26  Telegram!operator delete(void*, unsigned long) [wrappers_cpp.cpp : 72 + 0x5]
27  Telegram!QSurfaceFormat::operator=(QSurfaceFormat const&) [qsurfaceformat.cpp : 244 + 0x5]
28  Telegram!QWidget::create(unsigned long long, bool, bool) [qplatformbackingstore.cpp : 367 + 0x14]
29  Telegram!calloc [wrappers_c_checks.h : 50 + 0x1]
30  Telegram!QObjectPrivate::addConnection(int, QObjectPrivate::Connection*) [qobject_p_p.h : 188 + 0x9]
31  Telegram!Ui::PopupMenu::prepareGeometryFor(QPoint const&, Ui::PopupMenu*) [qwidget.cpp : 2452 + 0x9]
32  Telegram!QObjectPrivate::connectImpl(QObject const*, int, QObject const*, void**, QtPrivate::QSlotObjectBase*, int, int const*, QMetaObject const*) [qobject.cpp : 5170 + 0x3]
33  Telegram!QObject::connectImpl(QObject const*, void**, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) [clone .constprop.0] [qobject.cpp : 5082 + 0x21]
34  Telegram!Ui::PopupMenu::popup(QPoint const&) [popup_menu.cpp : 956 + 0xd]
35  Telegram!Dialogs::InnerWidget::contextMenuEvent(QContextMenuEvent*) [dialogs_inner_widget.cpp : 2361 + 0x5]
36  Telegram!QWidget::event(QEvent*) [qwidget.cpp : 8997 + 0xf]
37  Telegram!QWidget::event(QEvent*) [qwidget.cpp : 9186 + 0xf]
38  Telegram!QPointingDevice::primaryPointingDevice(QString const&) [qpointingdevice.cpp : 295 + 0x5]
39  Telegram!QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) [qcoreapplication.cpp : 1253 + 0xc]
40  Telegram!QApplicationPrivate::notify_helper(QObject*, QEvent*) [qapplication.cpp : 3296 + 0xc]
41  Telegram!QApplication::notify(QObject*, QEvent*) [qapplication.cpp : 2923 + 0x8]
42  Telegram!Core::Sandbox::decrementEventNestingLevel() [sandbox.cpp : 570 + 0x8]
43  Telegram!Core::Sandbox::notify(QObject*, QEvent*) [sandbox.h : 31 + 0x8]
44  Telegram!QInputDevice::devices() [qmutex.h : 250 + 0xc]
45  Telegram!Core::Sandbox::notify(QObject*, QEvent*) [sandbox.cpp : 590 + 0xe]
46  Telegram!QCoreApplication::notifyInternal2(QObject*, QEvent*) [qcoreapplication.cpp : 1121 + 0x13]
47  Telegram!QContextMenuEvent::QContextMenuEvent(QContextMenuEvent::Reason, QPoint const&, QPoint const&, QFlags<Qt::KeyboardModifier>) [qstring.h : 1169 + 0x5]
48  Telegram!QWidgetWindow::handleMouseEvent(QMouseEvent*) [qwidgetwindow.cpp : 635 + 0x12]
49  Telegram!rpl::lifetime::destroy() [lifetime.h : 89 + 0x9]
50  Telegram!QWidgetWindow::event(QEvent*) [qwidgetwindow.cpp : 241 + 0x8]
51  Telegram!QtPrivate::equalStrings(QStringView, QStringView) [qstring.cpp : 1294 + 0x5]
52  Telegram!operator==(QString const&, QString const&) [qstring.h : 695 + 0x15]
53  Telegram!Platform::TrayEventFilter::eventFilter(QObject*, QEvent*) [qstring.h : 1169 + 0x5]
54  Telegram!base::details::EventFilter::eventFilter(QObject*, QEvent*) [std_function.h : 591 + 0x3]
55  Telegram!QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) [qcoreapplication.cpp : 1253 + 0xc]
56  Telegram!QApplicationPrivate::notify_helper(QObject*, QEvent*) [qapplication.cpp : 3296 + 0xc]
57  Telegram!Core::Sandbox::notify(QObject*, QEvent*) [sandbox.cpp : 590 + 0xe]
58  Telegram!QArrayDataPointer<QEventPoint>::reallocateAndGrow(QArrayData::GrowthPosition, long long, QArrayDataPointer<QEventPoint>*) [qarraydatapointer.h : 244 + 0x5]
59  Telegram!QCoreApplication::notifyInternal2(QObject*, QEvent*) [qcoreapplication.cpp : 1121 + 0x13]
60  Telegram!QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) [qcoreapplication.cpp : 1553 + 0x5]
61  Telegram!QWaitCondition::wakeOne() [qwaitcondition_unix.cpp : 150 + 0x8]
62  Telegram!QtWaylandClient::QWaylandDisplay::flushRequests() [qwaylanddisplay.cpp : 127 + 0x5]
63  Telegram!QObject::event(QEvent*) [qatomic_cxx11.h : 201 + 0x5]
64  Telegram!Core::Sandbox::notify(QObject*, QEvent*) [sandbox.h : 31 + 0x8]
65  Telegram!QCoreApplication::notifyInternal2(QObject*, QEvent*) [qcoreapplication.cpp : 1121 + 0x13]
66  Telegram!std::unique_lock<QMutex>::unlock() [unique_lock.h : 195 + 0x5]
67  Telegram!QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) [unique_lock.h : 104 + 0x5]
68  Telegram!QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) [qwindowsysteminterface.cpp : 1109 + 0x5]
69  Telegram!userEventSourceDispatch [qeventdispatcher_glib.cpp : 38 + 0x5]
70  libglib-2.0.so.0 + 0x5ab2c
71  libglib-2.0.so.0 + 0xb646f
72  libglib-2.0.so.0 + 0x58d20
73  Telegram!QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) [qeventdispatcher_glib.cpp : 393 + 0xf]
74  Telegram!<name omitted> [qeventloop.cpp : 100 + 0x3]
75  Telegram!QEventLoop::QEventLoop(QObject*) [qeventloop.cpp : 64 + 0x5]
76  Telegram!Core::Sandbox::start() [qcoreapplication.cpp : 1442 + 0x5]
77  Telegram!QObjectPrivate::moveToThread_helper() [qobject.cpp : 1738 + 0x8]
78  Telegram!Core::Launcher::executeApplication() [launcher.cpp : 582 + 0xc]
79  Telegram!scudo::Allocator<scudo::DefaultConfig, &malloc_postinit>::deallocate(void*, scudo::Chunk::Origin, unsigned long, unsigned long) [combined.h : 600 + 0xf]
80  Telegram!Platform::start() [qbytearray.h : 521 + 0xc]
skgsergio commented 7 months ago

It looks like a combination of QT Wayland and Intel driver, but I can't reproduce it on other QT Apps nor have a full trace to investigate and submit an upstream issue. I'll try to do it.

In the snap version, the mesa driver and QT come bundled. In the static binary, what comes bundled? Just QT? or also mesa?

ilya-fedin commented 7 months ago

In the snap version, the mesa driver and QT come bundled. In the static binary, what comes bundled? Just QT? or also mesa?

Just Qt, yes. Note also that QtWidgets apps using OpenGL aren't common, in fact I don't know any other QtWidgets application using OpenGL (and especially for context menus). Maybe VLC but it's highly likely that it's doing OpenGL in an embedded subsurface (just for the video) using low-level APIs rather than directly using Qt abstractions like tdesktop is doing.

skgsergio commented 7 months ago

Well, in another laptop with also Intel integrated graphics but with Arch Linux and their package telegram-desktop (they don't use the official build, they build it themselves) doesn't crash.

Qt version in Arch is the same as the one of the official static binary so I guess there is a bug in versions of mesa/gallium/iris that Ubuntu ships that is already fixed in newer versions.

In any case to be extra sure I'll try with Ubuntu in that laptop and maybe with Arch in the laptop that crashes.

skgsergio commented 7 months ago

In fact the official static binary also works, however I've just noticed telegram spams this in the logs:

qt.qpa.wayland: Creating a popup with a parent, QWidgetWindow(0x72922cb21390, name="TWidgetClassWindow") which does not match the current topmost grabbing popup, QWidgetWindow(0x72922d096b10, name="TWidgetClassWindow") With some shell surface protocols, 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. Please fix the transient parent of the popup.
qt.qpa.wayland: Creating a popup with a parent, QWidgetWindow(0x72922cb21390, name="TWidgetClassWindow") which does not match the current topmost grabbing popup, QWidgetWindow(0x72922d090b10, name="TWidgetClassWindow") With some shell surface protocols, 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. Please fix the transient parent of the popup.
qt.qpa.wayland: Creating a popup with a parent, QWidgetWindow(0x72922cb21390, name="TWidgetClassWindow") which does not match the current topmost grabbing popup, QWidgetWindow(0x72922d090b10, name="TWidgetClassWindow") With some shell surface protocols, 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. Please fix the transient parent of the popup.
qt.qpa.wayland: Creating a popup with a parent, QWidgetWindow(0x72922cb21390, name="TWidgetClassWindow") which does not match the current topmost grabbing popup, QWidgetWindow(0x72922d0a0890, name="TWidgetClassWindow") With some shell surface protocols, 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. Please fix the transient parent of the popup.
qt.qpa.wayland: Creating a popup with a parent, QWidgetWindow(0x72922cb21390, name="TWidgetClassWindow") which does not match the current topmost grabbing popup, QWidgetWindow(0x72922d0a0890, name="TWidgetClassWindow") With some shell surface protocols, 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. Please fix the transient parent of the popup.
qt.qpa.wayland: Creating a popup with a parent, QWidgetWindow(0x72922cb21390, name="TWidgetClassWindow") which does not match the current topmost grabbing popup, QWidgetWindow(0x72922d0a1690, name="TWidgetClassWindow") With some shell surface protocols, 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. Please fix the transient parent of the popup.
qt.qpa.wayland: Creating a popup with a parent, QWidgetWindow(0x72922cb21390, name="TWidgetClassWindow") which does not match the current topmost grabbing popup, QWidgetWindow(0x72922d0a1690, name="TWidgetClassWindow") With some shell surface protocols, 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. Please fix the transient parent of the popup.
qt.qpa.wayland: Creating a popup with a parent, QWidgetWindow(0x72922cb21390, name="TWidgetClassWindow") which does not match the current topmost grabbing popup, QWidgetWindow(0x72922d0a7e90, name="TWidgetClassWindow") With some shell surface protocols, 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. Please fix the transient parent of the popup.
qt.qpa.wayland: Creating a popup with a parent, QWidgetWindow(0x72922cb21390, name="TWidgetClassWindow") which does not match the current topmost grabbing popup, QWidgetWindow(0x72922d0a7e90, name="TWidgetClassWindow") With some shell surface protocols, 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. Please fix the transient parent of the popup.
github-actions[bot] commented 7 months ago

This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we don't have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further.