focus-editor / focus

A simple and fast text editor
GNU General Public License v3.0
1.82k stars 101 forks source link

Bug: Dragging files into Focus causes it to hang (Mint + X11) #321

Open CookedNick opened 8 months ago

CookedNick commented 8 months ago
  1. Open Focus
  2. Drag a file into it. In this case, it was "Example Project.focus-config"
  3. Focus hangs (at 0% CPU) until I kill it. Nothing updating. Close button doesn't work.

Screenshot from 2024-03-19 18-02-39

Here is my "Troubleshooting Info":

Kernel:
  Linux Mac 5.15.0-101-generic #111-Ubuntu SMP Tue Mar 5 20:16:58 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
OS information:
  NAME="Linux Mint"
  VERSION="21.3 (Virginia)"
  ID=linuxmint
  ID_LIKE="ubuntu debian"
  PRETTY_NAME="Linux Mint 21.3"
  VERSION_ID="21.3"
  HOME_URL="https://www.linuxmint.com/"
  SUPPORT_URL="https://forums.linuxmint.com/"
  BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
  PRIVACY_POLICY_URL="https://www.linuxmint.com/"
  VERSION_CODENAME=virginia
  UBUNTU_CODENAME=jammy

Interesting things in the environment:
  FOCUS_LD_BACKEND : <not set>
  FOCUS_LD_GL_BACKEND : <not set>
  FOCUS_LD_FLAGS : <not set>
  DISPLAY : :0
  WAYLAND_DISPLAY : <not set>
  DESKTOP_SESSION : cinnamon
  XDG_SESSION_DESKTOP : cinnamon
  XDG_CURRENT_DESKTOP : X-Cinnamon
  XCURSOR_THEME : <not set>
  XCURSOR_SIZE : <not set>
  LD_LIBRARY_PATH : <not set>
  LD_PRELOAD : <not set>
  PATH : /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Loaded libraries:
  /home/home/bin/Focus
  /usr/lib/x86_64-linux-gnu/libicudata.so.70.1
  /usr/lib/x86_64-linux-gnu/liblzma.so.5.2.5
  /usr/lib/x86_64-linux-gnu/libicuuc.so.70.1
  /usr/lib/x86_64-linux-gnu/libpciaccess.so.0.11.1
  /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.13
  /usr/lib/x86_64-linux-gnu/libtinfo.so.6.3
  /usr/lib/x86_64-linux-gnu/libedit.so.2.0.68
  /usr/lib/x86_64-linux-gnu/libgcc_s.so.1
  /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30
  /usr/lib/x86_64-linux-gnu/libdrm_intel.so.1.0.0
  /usr/lib/x86_64-linux-gnu/libdrm_nouveau.so.2.0.0
  /usr/lib/x86_64-linux-gnu/libelf-0.186.so
  /usr/lib/x86_64-linux-gnu/libdrm_radeon.so.1.0.1
  /usr/lib/x86_64-linux-gnu/libsensors.so.5.0.0
  /usr/lib/x86_64-linux-gnu/libzstd.so.1.4.8
  /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
  /usr/lib/x86_64-linux-gnu/libLLVM-15.so.1
  /usr/lib/x86_64-linux-gnu/dri/crocus_dri.so
  /usr/lib/x86_64-linux-gnu/libxcb-xfixes.so.0.0.0
  /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1.0.0
  /usr/lib/x86_64-linux-gnu/libxcb-present.so.0.0.0
  /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0.0.0
  /usr/lib/x86_64-linux-gnu/libxcb-randr.so.0.1.0
  /usr/lib/x86_64-linux-gnu/libxshmfence.so.1.0.0
  /usr/lib/x86_64-linux-gnu/libexpat.so.1.8.7
  /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0
  /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0
  /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
  /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0.0.0
  /usr/lib/x86_64-linux-gnu/libdrm.so.2.4.0
  /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0.0.0
  /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0
  /usr/lib/x86_64-linux-gnu/libglapi.so.0.0.0
  /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0.0.0
  /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0
  /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0
  /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2
  /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0.0.0
  /usr/lib/x86_64-linux-gnu/libGLX.so.0.0.0
  /usr/lib/x86_64-linux-gnu/libX11.so.6.4.0
  /usr/lib/x86_64-linux-gnu/libxcb-xkb.so.1.0.0
  /usr/lib/x86_64-linux-gnu/libmd.so.0.0.5
  /usr/lib/x86_64-linux-gnu/libbsd.so.0.11.5
  /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
  /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
  /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
  /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0.20.0
  /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1.20.0
  /usr/lib/x86_64-linux-gnu/libffi.so.8.1.0
  /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.20.0
  /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0.0.0
  /usr/lib/x86_64-linux-gnu/librt.so.1
  /usr/lib/x86_64-linux-gnu/libdl.so.2
  /usr/lib/x86_64-linux-gnu/libpthread.so.0
  /usr/lib/x86_64-linux-gnu/libm.so.6
  /usr/lib/x86_64-linux-gnu/libc.so.6
  /usr/lib/x86_64-linux-gnu/libdrm_amdgpu.so.1.0.0
  /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2

Linux_Display information:
  desired backend    : PREFER_BEST_USER_EXPERIENCE
  active backend     : X11
  desired GL backend : AUTOSELECT
  active GL backend  : GLX

X11_Display.{
    base = {
        type = X11_Display; 
        app_id = "dev.focus-editor.focus"; 
        init_flags = 0; 
        desired_gl_backend = AUTOSELECT; 
        windows = [(union)]; 
        mouse_delta_x = 0; 
        mouse_delta_y = 0; 
        mouse_wheel_delta = {
            vertical = 0; 
            horizontal = 0; 
        }; 
        events_this_frame = []; 
        input_button_states = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, DOWN, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0...]; 
        loop_wakeup_event = 4; 
        gl = {
            type = GLX; 
            data = (union); 
            ops = {
                create_context = procedure 0x6e_8bd0; 
                create_surface = procedure 0x6e_8fe0; 
                make_current = procedure 0x6e_90a0; 
                swap_buffers = procedure 0x6e_91a0; 
                get_proc_address = procedure 0x7f23_44df_6ce0; 
            }; 
        }; 
        create_window = procedure 0x74_6770; 
        set_fixed_scaling = procedure 0x74_3ec0; 
        translate_key_code = procedure 0x78_78a0; 
        wait_for_events = procedure 0x74_3900; 
        update_window_events = procedure 0x74_36e0; 
        clipboard_get_text = procedure 0x74_60f0; 
        clipboard_set_text = procedure 0x74_3410; 
        get_mouse_pointer_position = procedure 0x74_57c0; 
    }; 
    handle = 185_8da0; 
    file_descriptor = 5; 
    im = 186_a3f0; 
    fixed_scaling = false; 
    dpi_override = 0; 
    global_atoms = {
        XdndEnter = 398; 
        XdndPosition = 400; 
        XdndStatus = 401; 
        XdndTypeList = 589; 
        XdndAware = 391; 
        XdndActionMove = 587; 
        XdndActionLink = 585; 
        XdndActionCopy = 584; 
        XdndDrop = 403; 
        XdndLeave = 399; 
        XdndFinished = 402; 
        XdndSelection = 540; 
        XdndProxy = 392; 
        ATOM = 4; 
        CLIPBOARD = 426; 
        UTF8_STRING = 333; 
        XSEL_DATA = 0; 
        TARGETS = 434; 
        MULTIPLE = 431; 
        TEXT_PLAIN = 0; 
        WM_DELETE_WINDOW = 335; 
        WM_PROTOCOLS = 337; 
        MOTIF_WM_HINTS = 0; 
        NET_WM_NAME = 0; 
        NET_WM_ICON_NAME = 0; 
        NET_WM_STATE = 0; 
        NET_WM_STATE_FULLSCREEN = 0; 
        _NET_WM_STATE = 351; 
        _NET_WM_STATE_DEMANDS_ATTENTION = 520; 
        _NET_WM_STATE_FULLSCREEN = 354; 
        _NET_WM_STATE_MAXIMIZED_HORZ = 358; 
        _NET_WM_STATE_MAXIMIZED_VERT = 357; 
        _NET_WM_ICON = 346; 
        _DUMMY = 0; 
    }; 
    clipboard_text = ""; 
    drop_info = {
        data = []; 
        x = 0; 
        y = 0; 
        return_type = 0; 
        return_action = 0; 
        user_typelist = [706, 581, 568, 707]; 
        user_actions = []; 
    }; 
    xdnd_context = {
        stage = DROP_IDLE; 
        dragging_version = 0; 
        dragger_typelist = []; 
        dragger_window = 0; 
        want_position = false; 
        will_accept = false; 
        rectangle = {
            x = 0; 
            y = 0; 
            width = 0; 
            height = 0; 
        }; 
        dropper_window = 0; 
        dropper_toplevel = 0; 
        root_window = 0; 
        supported_action = 0; 
        desired_type = 0; 
        x = 0; 
        y = 0; 
        time = 0; 
    }; 
    visual_info = 189_2b10; 
    color_map = 117440549; 
    x_cursors = {
        count = 9; 
        allocated = 32; 
        slots_filled = 9; 
        allocator = {
            proc = procedure 0x5b_a7a0; 
            data = null; 
        }; 
        entries = [32 potentially uninitialized elements]; 
    }; 
}

OpenGL Information:
  vendor       : Intel
  renderer     : Mesa Intel(R) Iris(R) Graphics 5100 (HSW GT3)
  version      : 4.6 (Core Profile) Mesa 23.2.1-1ubuntu3.1~22.04.2
  GLSL version : 4.60
  extensions (213):
    GL_3DFX_texture_compression_FXT1, GL_AMD_conservative_depth, GL_AMD_draw_buffers_blend, 
    GL_AMD_performance_monitor, GL_AMD_pinned_memory, GL_AMD_query_buffer_object, 
    GL_AMD_shader_trinary_minmax, GL_AMD_texture_texture4, GL_AMD_vertex_shader_layer, 
    GL_ANGLE_texture_compression_dxt3, GL_ANGLE_texture_compression_dxt5, GL_ARB_ES2_compatibility, 
    GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility, GL_ARB_arrays_of_arrays, GL_ARB_base_instance, 
    GL_ARB_buffer_storage, GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control, 
    GL_ARB_compute_shader, GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, 
    GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_cull_distance, GL_ARB_debug_output, 
    GL_ARB_depth_clamp, GL_ARB_derivative_control, GL_ARB_direct_state_access, GL_ARB_draw_buffers, 
    GL_ARB_draw_elements_base_vertex, GL_ARB_draw_indirect, GL_ARB_draw_instanced, 
    GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location, 
    GL_ARB_fragment_layer_viewport, GL_ARB_fragment_shader, GL_ARB_framebuffer_no_attachments, 
    GL_ARB_framebuffer_sRGB, GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv, 
    GL_ARB_gpu_shader_fp64, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, 
    GL_ARB_instanced_arrays, GL_ARB_internalformat_query, GL_ARB_internalformat_query2, 
    GL_ARB_map_buffer_alignment, GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect, 
    GL_ARB_parallel_shader_compile, GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object, 
    GL_ARB_polygon_offset_clamp, GL_ARB_program_interface_query, GL_ARB_provoking_vertex, 
    GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness, GL_ARB_sample_shading, 
    GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture, GL_ARB_separate_shader_objects, 
    GL_ARB_shader_atomic_counters, GL_ARB_shader_bit_encoding, GL_ARB_shader_clock, 
    GL_ARB_shader_group_vote, GL_ARB_shader_image_load_store, GL_ARB_shader_image_size, 
    GL_ARB_shader_precision, GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine, 
    GL_ARB_shader_texture_lod, GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_420pack, 
    GL_ARB_shading_language_packing, GL_ARB_spirv_extensions, GL_ARB_stencil_texturing, GL_ARB_sync, 
    GL_ARB_texture_barrier, GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32, 
    GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc, GL_ARB_texture_cube_map_array, 
    GL_ARB_texture_float, GL_ARB_texture_gather, GL_ARB_texture_mirror_clamp_to_edge, 
    GL_ARB_texture_non_power_of_two, GL_ARB_texture_query_levels, GL_ARB_texture_query_lod, 
    GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui, GL_ARB_texture_stencil8, GL_ARB_texture_storage, 
    GL_ARB_texture_swizzle, GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2, 
    GL_ARB_transform_feedback_instanced, GL_ARB_transform_feedback_overflow_query, 
    GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit, 
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_shader, GL_ARB_vertex_type_10f_11f_11f_rev, 
    GL_ARB_viewport_array, GL_ATI_blend_equation_separate, GL_ATI_texture_float, 
    GL_EXT_EGL_sync, GL_EXT_abgr, GL_EXT_blend_equation_separate, GL_EXT_debug_label, 
    GL_EXT_draw_buffers2, GL_EXT_draw_instanced, GL_EXT_framebuffer_blit, 
    GL_EXT_framebuffer_multisample_blit_scaled, GL_EXT_framebuffer_object, GL_EXT_framebuffer_sRGB, 
    GL_EXT_memory_object_fd, GL_EXT_packed_depth_stencil, GL_EXT_packed_float, 
    GL_EXT_polygon_offset_clamp, GL_EXT_provoking_vertex, GL_EXT_semaphore, GL_EXT_semaphore_fd, 
    GL_EXT_shader_integer_mix, GL_EXT_shader_samples_identical, GL_EXT_texture_array, 
    GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_sRGB, GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod, 
    GL_EXT_texture_snorm, GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_transform_feedback, 
    GL_EXT_vertex_attrib_64bit, GL_IBM_multimode_draw_arrays, GL_INTEL_blackhole_render, 
    GL_KHR_blend_equation_advanced, GL_KHR_context_flush_control, GL_KHR_debug, GL_KHR_no_error, 
    GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness, GL_KHR_texture_compression_astc_ldr, 
    GL_MESA_framebuffer_flip_y, GL_MESA_pack_invert, GL_MESA_shader_integer_functions, 
    GL_NV_alpha_to_coverage_dither_control, GL_NV_compute_shader_derivatives, GL_NV_conditional_render, 
    GL_NV_depth_clamp, GL_NV_packed_depth_stencil, GL_NV_texture_barrier, GL_OES_EGL_image, GL_S3_s3tc