Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fvwm3 segfaults on xterm with short lifetime #785

Closed
farblos opened this issue Dec 25, 2022 · 3 comments · Fixed by #786
Closed

Fvwm3 segfaults on xterm with short lifetime #785

farblos opened this issue Dec 25, 2022 · 3 comments · Fixed by #786
Labels
type:bug Something's broken!

Comments

@farblos
Copy link
Contributor

farblos commented Dec 25, 2022

Upfront Information

  • Fvwm3 version (run: fvwm3 --version)
fvwm3 1.0.5 (released)
with support for:  ReadLine, XPM, PNG, SVG, Shape, XShm, SM, Bidi text, XRandR, XRender, XCursor, XFT, NLS

fvwm3 comes with NO WARRANTY, to the extent permitted by law. You may
redistribute copies of fvwm under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.
  • Linux distribution or BSD name/version
[~]$ cat /etc/debian_version 
bookworm/sid
  • Platform (run: uname -sp)
[~]$ uname -sp
Linux unknown

Expected Behaviour

Executing xterm -e true does not crash Fvwm3.

Actual Behaviour

Executing xterm -e true crashes Fvwm3 rather frequently (4 out of 5 times).

Enabling logging

fvwm logging goes to the journal on my system. The relevant excerpt is:

Dec 25 18:40:29 sappc1 xsession[5682]: [1671990029.739298] setup_window_placement: Expanding screen from 'null' -> ''
Dec 25 18:40:29 sappc1 kernel: fvwm3[5679]: segfault at 19ffffffff ip 00007f3cbeb93cda sp 00007ffc7bfb9f80 error 4 in libc.so.6[7f3cbeb21000+155000]
Dec 25 18:40:29 sappc1 kernel: Code: ac 2e 10 00 e8 b7 63 fe ff 0f 1f 80 00 00 00 00 48 85 ff 0f 84 bf 00 00 00 55 48 8d 77 f0 53 48 83 ec 18 48 8b 1d 06 91 13 00 <48> 8b 47 f8 64 8b 2b a8 02 75 5b 48 8b 15 8c 90 13 00 64 48 83 3a
Dec 25 18:40:29 sappc1 lightdm[5675]: pam_unix(lightdm-autologin:session): session closed for user jschmidt
Dec 25 18:40:29 sappc1 systemd-logind[913]: Session 21 logged out. Waiting for processes to exit.

Steps to Reproduce

Execute below test case with following minimal .fvwm/config:

DestroyFunc StartFunction
AddToFunc StartFunction
+ I Module FvwmMFL
+ I Exec exec xterm -name testwindow

In the test window, execute xterm -e true until Fvwm3 crashes.

Does Fvwm3 crash?

Yes:

(gdb) bt
#0  0x00007f5a6766fcda in free () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f5a68504b69 in XFree (data=<optimized out>) at ../../src/XlibInt.c:1633
#2  0x000055dfb18b487a in AddWindow (ret_initial_map_command=ret_initial_map_command@entry=0x7ffe5322aee8, exc=<optimized out>, ReuseWin=ReuseWin@entry=0x0, win_opts=win_opts@entry=0x7ffe5322aef0) at ./fvwm/add_window.c:2609
#3  0x000055dfb1899c1d in HandleMapRequestKeepRaised (ea=0x7ffe5322af60, KeepRaised=0, ReuseWin=0x0, win_opts=0x7ffe5322aef0) at ./fvwm/events.c:3111
#4  0x000055dfb189be9b in dispatch_event (e=e@entry=0x7ffe5322afd0) at ./fvwm/events.c:4244
#5  0x000055dfb189bfb4 in HandleEvents () at ./fvwm/events.c:4290
#6  0x000055dfb1876610 in main (argc=<optimized out>, argv=<optimized out>) at ./fvwm/fvwm3.c:2523

Full:

#0  0x00007f5a6766fcda in free () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x00007f5a68504b69 in XFree (data=<optimized out>) at ../../src/XlibInt.c:1633
No locals.
#2  0x000055dfb18b487a in AddWindow (ret_initial_map_command=ret_initial_map_command@entry=0x7ffe5322aee8, exc=<optimized out>, ReuseWin=ReuseWin@entry=0x0, win_opts=win_opts@entry=0x7ffe5322aef0) at ./fvwm/add_window.c:2609
        nchildren = 21983
        parent = 94419258340720
        children = 0x1a00000007
        rc = 0
        fw = 0x55dfb25d7e80
        tmp = 0x55dfb25d7e80
        valuemask = 6144
        attributes = {background_pixmap = 0, background_pixel = 1769526526596, border_pixmap = 6292066, border_pixel = 12500670, bit_gravity = 0, win_gravity = 0, backing_store = 0, backing_planes = 0, backing_pixel = 16, save_under = 0, event_mask = 14811184, do_not_propagate_mask = 12, override_redirect = 64, colormap = 9, cursor = 6291469}
        wattr = {x = 658, y = 0, width = 644, height = 412, border_width = 1, depth = 24, visual = 0x55dfb25b6570, root = 1959, class = 1, bit_gravity = 1, win_gravity = 1, backing_store = 0, backing_planes = 4294967295, backing_pixel = 0, save_under = 0, colormap = 32, map_installed = 1, map_state = 0, all_event_masks = 6422579, your_event_mask = 0, do_not_propagate_mask = 0, override_redirect = 0, screen = 0x55dfb25a89e0}
        style = {next = 0x0, prev = 0x0, id = {name = 0x0, window_id = 0, flags = {has_name = 0, has_window_id = 0}}, icon_name = 0x0, mini_icon_name = 0x0, decor_name = 0x0, min_icon_width = 0 '\000', max_icon_width = 0 '\000', min_icon_height = 0 '\000', max_icon_height = 0 '\000', icon_resize_type = 0, icon_background_padding = 0 '\000', icon_background_relief = 0 '\000', icon_title_relief = 0 '\000', icon_font = 0x0, window_font = 0x0, fore_color_name = 0x55dfb25ce970 "lightgrey", back_color_name = 0x55dfb25cea10 "dimgrey", fore_color_name_hi = 0x55dfb25cec90 "black", back_color_name_hi = 0x55dfb25d18d0 "grey", colorset = 0, colorset_hi = 0, border_colorset = 0, border_colorset_hi = 0, icon_title_colorset = 0, icon_title_colorset_hi = 0, icon_background_colorset = 0, border_width = 0, handle_width = 0, layer = 0, start_desk = 0, start_page_x = 0, start_page_y = 0, start_screen = 0x0, min_window_width = 0, min_window_height = 0, max_window_width = 0, max_window_height = 0, min_window_width_is_c = false, min_window_height_is_c = false, max_window_width_is_c = false, max_window_height_is_c = false, shade_anim_steps = 0, snap_attraction = {proximity = 0, mode = 0, types = SNAP_NONE}, snap_grid_x = 0, snap_grid_y = 0, edge_delay_ms_move = 0, edge_delay_ms_resize = 0, edge_resistance_move = 0, edge_resistance_screen_move = 0, icon_boxes = 0x0, norm_placement_penalty = 0, pl_penalty = {normal = 1, ontop = 5, icon = 10, sticky = 1, below = 0.0500000007, strut = 50}, pl_percent_penalty = {p99 = 12, p95 = 6, p85 = 4, p75 = 1}, pl_position_string = 0x0, initial_map_command_string = 0x0, title_format_string = 0x0, icon_title_format_string = 0x0, flags = {common = {is_sticky_across_pages = 0, is_sticky_across_desks = 0, has_icon_font = 0, has_no_border = 0, has_window_font = 0, title_dir = 0, user_states = 0, s = {do_circulate_skip = 0, do_circulate_skip_icon = 0, do_circulate_skip_shaded = 0, do_ewmh_donate_icon = 0, do_ewmh_donate_mini_icon = 0, do_ewmh_ignore_state_hints = 0, do_ewmh_ignore_strut_hints = 0, do_ewmh_mini_icon_override = 0, do_ewmh_use_stacking_hints = 0, do_ewmh_ignore_window_type = 0, do_iconify_window_groups = 0, do_ignore_icon_boxes = 0, do_ignore_restack = 0, do_use_window_group_hint = 0, do_lower_transient = 1, do_not_show_on_map = 0, do_raise_transient = 1, do_resize_opaque = 0, do_shrink_windowshade = 0, do_stack_transient_parent = 1, do_window_list_skip = 0, ewmh_maximize_mode = 2, has_depressable_border = 0, has_mwm_border = 0, has_mwm_buttons = 0, has_mwm_override = 0, has_no_icon_title = 0, has_override_size = 0, has_stippled_title = 0, has_stippled_icon_title = 0, has_no_sticky_stippled_title = 0, has_no_sticky_stippled_icon_title = 0, icon_override = 0, is_bottom_title_rotated = 0, is_fixed = 0, is_fixed_ppos = 0, is_uniconifiable = 0, is_unmaximizable = 0, is_unclosable = 0, is_maximize_fixed_size_disallowed = 0, is_icon_sticky_across_pages = 0, is_icon_sticky_across_desks = 0, is_icon_suppressed = 0, is_left_title_rotated_cw = 0, is_lenient = 0, is_size_fixed = 0, is_psize_fixed = 0, is_right_title_rotated_cw = 1, is_top_title_rotated = 0, use_icon_position_hint = 1, use_indexed_window_name = 0, use_indexed_icon_name = 0, windowshade_laziness = 0, use_title_decor_rotation = 1, focus_policy = {do_raise_focused_click = {client = 0, decor = 0, icon = 0}, do_raise_unfocused_click = {client = 0, decor = 0, icon = 0}, do_focus_click = {client = 0, decor = 0, icon = 0}, do_focus_enter = 1, do_unfocus_leave = 1, do_focus_by_program = 1, do_focus_by_function = 1, do_warp_pointer_on_focus_func = 1, is_lenient = 0, use_mouse_buttons = 7, use_modifiers = 0, do_pass_focus_click = 1, do_pass_raise_click = 1, do_ignore_focus_click_motion = 0, do_ignore_raise_click_motion = 0, do_allow_func_focus_click = 0, do_allow_func_raise_click = 0, do_open_grabs_focus = 0, do_open_grabs_focus_transient = 1, do_override_grab_focus = 0, do_close_releases_focus = 0, do_close_releases_focus_transient = 1, do_override_release_focus = 0, do_sort_windowlist_by = 0}}}, do_decorate_transient = 0, placement_mode = 5, ewmh_placement_mode = 2, ws_cr_motion_method = 0, do_save_under = 0, do_start_iconic = 0, do_start_lowered = 0, do_start_shaded = 0, start_shaded_dir = 0, has_border_width = 0, has_color_back = 1, has_color_fore = 1, has_color_back_hi = 1, has_color_fore_hi = 1, has_decor = 0, has_edge_delay_ms_move = 0, has_edge_delay_ms_resize = 0, has_edge_resistance_move = 0, has_edge_resistance_screen_move = 0, has_handle_width = 0, has_icon = 0, has_icon_boxes = 0, has_icon_size_limits = 0, has_min_window_size = 0, has_max_window_size = 0, has_icon_background_padding = 0, has_icon_background_relief = 0, has_icon_title_relief = 0, has_window_shade_steps = 0, has_mini_icon = 0, has_mwm_decor = 0, has_mwm_functions = 0, has_no_handles = 0, has_no_title = 0, has_ol_decor = 0, has_snap_grid = 0, has_snap_attraction = 0, is_button_disabled = 0, is_unmanaged = 0, use_backing_store = 0, use_parent_relative = 0, use_colorset = 0, use_colorset_hi = 0, use_border_colorset = 0, use_border_colorset_hi = 0, use_icon_title_colorset = 0, use_icon_title_colorset_hi = 0, use_icon_background_colorset = 0, use_layer = 0, use_no_pposition = 0, use_no_usposition = 0, use_no_transient_pposition = 0, use_no_transient_usposition = 0, use_start_on_desk = 0, use_start_on_page_for_transient = 0, use_start_on_screen = 0, manual_placement_honors_starts_on_page = 0, um_placement_honors_starts_on_page = 0, capture_honors_starts_on_page = 1, recapture_honors_starts_on_page = 0, has_placement_penalty = 0, has_placement_percentage_penalty = 0, has_placement_position_string = 0, has_initial_map_command_string = 0, has_title_format_string = 0, has_icon_title_format_string = 0, initial_placement_done = 1}, flag_default = {common = {is_sticky_across_pages = 0, is_sticky_across_desks = 0, has_icon_font = 0, has_no_border = 0, has_window_font = 0, title_dir = 0, user_states = 0, s = {do_circulate_skip = 0, do_circulate_skip_icon = 0, do_circulate_skip_shaded = 0, do_ewmh_donate_icon = 0, do_ewmh_donate_mini_icon = 0, do_ewmh_ignore_state_hints = 0, do_ewmh_ignore_strut_hints = 0, do_ewmh_mini_icon_override = 0, do_ewmh_use_stacking_hints = 0, do_ewmh_ignore_window_type = 0, do_iconify_window_groups = 0, do_ignore_icon_boxes = 0, do_ignore_restack = 0, do_use_window_group_hint = 0, do_lower_transient = 0, do_not_show_on_map = 0, do_raise_transient = 0, do_resize_opaque = 0, do_shrink_windowshade = 0, do_stack_transient_parent = 0, do_window_list_skip = 0, ewmh_maximize_mode = 0, has_depressable_border = 0, has_mwm_border = 0, has_mwm_buttons = 0, has_mwm_override = 0, has_no_icon_title = 0, has_override_size = 0, has_stippled_title = 0, has_stippled_icon_title = 0, has_no_sticky_stippled_title = 0, has_no_sticky_stippled_icon_title = 0, icon_override = 0, is_bottom_title_rotated = 0, is_fixed = 0, is_fixed_ppos = 0, is_uniconifiable = 0, is_unmaximizable = 0, is_unclosable = 0, is_maximize_fixed_size_disallowed = 0, is_icon_sticky_across_pages = 0, is_icon_sticky_across_desks = 0, is_icon_suppressed = 0, is_left_title_rotated_cw = 0, is_lenient = 0, is_size_fixed = 0, is_psize_fixed = 0, is_right_title_rotated_cw = 0, is_top_title_rotated = 0, use_icon_position_hint = 0, use_indexed_window_name = 0, use_indexed_icon_name = 0, windowshade_laziness = 0, use_title_decor_rotation = 0, focus_policy = {do_raise_focused_click = {client = 1, decor = 1, icon = 0}, do_raise_unfocused_click = {client = 1, decor = 1, icon = 0}, do_focus_click = {client = 0, decor = 0, icon = 0}, do_focus_enter = 0, do_unfocus_leave = 0, do_focus_by_program = 1, do_focus_by_function = 0, do_warp_pointer_on_focus_func = 1, is_lenient = 0, use_mouse_buttons = 0, use_modifiers = 0, do_pass_focus_click = 1, do_pass_raise_click = 1, do_ignore_focus_click_motion = 0, do_ignore_raise_click_motion = 0, do_allow_func_focus_click = 1, do_allow_func_raise_click = 1, do_open_grabs_focus = 1, do_open_grabs_focus_transient = 0, do_override_grab_focus = 0, do_close_releases_focus = 1, do_close_releases_focus_transient = 0, do_override_release_focus = 0, do_sort_windowlist_by = 1}}}, do_decorate_transient = 0, placement_mode = 0, ewmh_placement_mode = 0, ws_cr_motion_method = 0, do_save_under = 0, do_start_iconic = 0, do_start_lowered = 0, do_start_shaded = 0, start_shaded_dir = 0, has_border_width = 0, has_color_back = 0, has_color_fore = 0, has_color_back_hi = 0, has_color_fore_hi = 0, has_decor = 0, has_edge_delay_ms_move = 0, has_edge_delay_ms_resize = 0, has_edge_resistance_move = 0, has_edge_resistance_screen_move = 0, has_handle_width = 0, has_icon = 0, has_icon_boxes = 0, has_icon_size_limits = 0, has_min_window_size = 0, has_max_window_size = 0, has_icon_background_padding = 0, has_icon_background_relief = 0, has_icon_title_relief = 0, has_window_shade_steps = 0, has_mini_icon = 0, has_mwm_decor = 0, has_mwm_functions = 0, has_no_handles = 0, has_no_title = 0, has_ol_decor = 0, has_snap_grid = 0, has_snap_attraction = 0, is_button_disabled = 0, is_unmanaged = 0, use_backing_store = 0, use_parent_relative = 0, use_colorset = 0, use_colorset_hi = 0, use_border_colorset = 0, use_border_colorset_hi = 0, use_icon_title_colorset = 0, use_icon_title_colorset_hi = 0, use_icon_background_colorset = 0, use_layer = 0, use_no_pposition = 0, use_no_usposition = 0, use_no_transient_pposition = 0, use_no_transient_usposition = 0, use_start_on_desk = 0, use_start_on_page_for_transient = 0, use_start_on_screen = 0, manual_placement_honors_starts_on_page = 0, um_placement_honors_starts_on_page = 0, capture_honors_starts_on_page = 0, recapture_honors_starts_on_page = 0, has_placement_penalty = 0, has_placement_percentage_penalty = 0, has_placement_position_string = 0, has_initial_map_command_string = 0, has_title_format_string = 0, has_icon_title_format_string = 0, initial_placement_done = 0}, flag_mask = {common = {is_sticky_across_pages = 0, is_sticky_across_desks = 0, has_icon_font = 0, has_no_border = 0, has_window_font = 0, title_dir = 0, user_states = 0, s = {do_circulate_skip = 0, do_circulate_skip_icon = 0, do_circulate_skip_shaded = 0, do_ewmh_donate_icon = 0, do_ewmh_donate_mini_icon = 0, do_ewmh_ignore_state_hints = 0, do_ewmh_ignore_strut_hints = 0, do_ewmh_mini_icon_override = 0, do_ewmh_use_stacking_hints = 0, do_ewmh_ignore_window_type = 0, do_iconify_window_groups = 0, do_ignore_icon_boxes = 0, do_ignore_restack = 0, do_use_window_group_hint = 0, do_lower_transient = 1, do_not_show_on_map = 0, do_raise_transient = 1, do_resize_opaque = 0, do_shrink_windowshade = 0, do_stack_transient_parent = 1, do_window_list_skip = 0, ewmh_maximize_mode = 3, has_depressable_border = 0, has_mwm_border = 0, has_mwm_buttons = 0, has_mwm_override = 0, has_no_icon_title = 0, has_override_size = 0, has_stippled_title = 0, has_stippled_icon_title = 0, has_no_sticky_stippled_title = 0, has_no_sticky_stippled_icon_title = 0, icon_override = 0, is_bottom_title_rotated = 0, is_fixed = 0, is_fixed_ppos = 0, is_uniconifiable = 0, is_unmaximizable = 0, is_unclosable = 0, is_maximize_fixed_size_disallowed = 0, is_icon_sticky_across_pages = 0, is_icon_sticky_across_desks = 0, is_icon_suppressed = 0, is_left_title_rotated_cw = 0, is_lenient = 0, is_size_fixed = 0, is_psize_fixed = 0, is_right_title_rotated_cw = 1, is_top_title_rotated = 0, use_icon_position_hint = 1, use_indexed_window_name = 0, use_indexed_icon_name = 0, windowshade_laziness = 0, use_title_decor_rotation = 1, focus_policy = {do_raise_focused_click = {client = 0, decor = 0, icon = 0}, do_raise_unfocused_click = {client = 0, decor = 0, icon = 0}, do_focus_click = {client = 1, decor = 1, icon = 1}, do_focus_enter = 1, do_unfocus_leave = 1, do_focus_by_program = 0, do_focus_by_function = 1, do_warp_pointer_on_focus_func = 0, is_lenient = 0, use_mouse_buttons = 0, use_modifiers = 0, do_pass_focus_click = 0, do_pass_raise_click = 0, do_ignore_focus_click_motion = 0, do_ignore_raise_click_motion = 0, do_allow_func_focus_click = 0, do_allow_func_raise_click = 0, do_open_grabs_focus = 0, do_open_grabs_focus_transient = 0, do_override_grab_focus = 0, do_close_releases_focus = 0, do_close_releases_focus_transient = 0, do_override_release_focus = 0, do_sort_windowlist_by = 0}}}, do_decorate_transient = 0, placement_mode = 15, ewmh_placement_mode = 3, ws_cr_motion_method = 0, do_save_under = 0, do_start_iconic = 0, do_start_lowered = 0, do_start_shaded = 0, start_shaded_dir = 0, has_border_width = 0, has_color_back = 1, has_color_fore = 1, has_color_back_hi = 1, has_color_fore_hi = 1, has_decor = 0, has_edge_delay_ms_move = 0, has_edge_delay_ms_resize = 0, has_edge_resistance_move = 0, has_edge_resistance_screen_move = 0, has_handle_width = 0, has_icon = 0, has_icon_boxes = 0, has_icon_size_limits = 0, has_min_window_size = 0, has_max_window_size = 0, has_icon_background_padding = 0, has_icon_background_relief = 0, has_icon_title_relief = 0, has_window_shade_steps = 0, has_mini_icon = 0, has_mwm_decor = 0, has_mwm_functions = 0, has_no_handles = 0, has_no_title = 1, has_ol_decor = 0, has_snap_grid = 0, has_snap_attraction = 0, is_button_disabled = 0, is_unmanaged = 0, use_backing_store = 0, use_parent_relative = 0, use_colorset = 1, use_colorset_hi = 1, use_border_colorset = 0, use_border_colorset_hi = 0, use_icon_title_colorset = 0, use_icon_title_colorset_hi = 0, use_icon_background_colorset = 0, use_layer = 0, use_no_pposition = 0, use_no_usposition = 0, use_no_transient_pposition = 0, use_no_transient_usposition = 0, use_start_on_desk = 0, use_start_on_page_for_transient = 0, use_start_on_screen = 0, manual_placement_honors_starts_on_page = 0, um_placement_honors_starts_on_page = 0, capture_honors_starts_on_page = 0, recapture_honors_starts_on_page = 0, has_placement_penalty = 0, has_placement_percentage_penalty = 0, has_placement_position_string = 0, has_initial_map_command_string = 0, has_title_format_string = 0, has_icon_title_format_string = 0, initial_placement_done = 0}, change_mask = {common = {is_sticky_across_pages = 0, is_sticky_across_desks = 0, has_icon_font = 0, has_no_border = 0, has_window_font = 0, title_dir = 0, user_states = 0, s = {do_circulate_skip = 0, do_circulate_skip_icon = 0, do_circulate_skip_shaded = 0, do_ewmh_donate_icon = 0, do_ewmh_donate_mini_icon = 0, do_ewmh_ignore_state_hints = 0, do_ewmh_ignore_strut_hints = 0, do_ewmh_mini_icon_override = 0, do_ewmh_use_stacking_hints = 0, do_ewmh_ignore_window_type = 0, do_iconify_window_groups = 0, do_ignore_icon_boxes = 0, do_ignore_restack = 0, do_use_window_group_hint = 0, do_lower_transient = 0, do_not_show_on_map = 0, do_raise_transient = 0, do_resize_opaque = 0, do_shrink_windowshade = 0, do_stack_transient_parent = 0, do_window_list_skip = 0, ewmh_maximize_mode = 0, has_depressable_border = 0, has_mwm_border = 0, has_mwm_buttons = 0, has_mwm_override = 0, has_no_icon_title = 0, has_override_size = 0, has_stippled_title = 0, has_stippled_icon_title = 0, has_no_sticky_stippled_title = 0, has_no_sticky_stippled_icon_title = 0, icon_override = 0, is_bottom_title_rotated = 0, is_fixed = 0, is_fixed_ppos = 0, is_uniconifiable = 0, is_unmaximizable = 0, is_unclosable = 0, is_maximize_fixed_size_disallowed = 0, is_icon_sticky_across_pages = 0, is_icon_sticky_across_desks = 0, is_icon_suppressed = 0, is_left_title_rotated_cw = 0, is_lenient = 0, is_size_fixed = 0, is_psize_fixed = 0, is_right_title_rotated_cw = 0, is_top_title_rotated = 0, use_icon_position_hint = 0, use_indexed_window_name = 0, use_indexed_icon_name = 0, windowshade_laziness = 0, use_title_decor_rotation = 0, focus_policy = {do_raise_focused_click = {client = 0, decor = 0, icon = 0}, do_raise_unfocused_click = {client = 0, decor = 0, icon = 0}, do_focus_click = {client = 0, decor = 0, icon = 0}, do_focus_enter = 0, do_unfocus_leave = 0, do_focus_by_program = 0, do_focus_by_function = 0, do_warp_pointer_on_focus_func = 0, is_lenient = 0, use_mouse_buttons = 0, use_modifiers = 0, do_pass_focus_click = 0, do_pass_raise_click = 0, do_ignore_focus_click_motion = 0, do_ignore_raise_click_motion = 0, do_allow_func_focus_click = 0, do_allow_func_raise_click = 0, do_open_grabs_focus = 0, do_open_grabs_focus_transient = 0, do_override_grab_focus = 0, do_close_releases_focus = 0, do_close_releases_focus_transient = 0, do_override_release_focus = 0, do_sort_windowlist_by = 0}}}, do_decorate_transient = 0, placement_mode = 0, ewmh_placement_mode = 0, ws_cr_motion_method = 0, do_save_under = 0, do_start_iconic = 0, do_start_lowered = 0, do_start_shaded = 0, start_shaded_dir = 0, has_border_width = 0, has_color_back = 0, has_color_fore = 0, has_color_back_hi = 0, has_color_fore_hi = 0, has_decor = 0, has_edge_delay_ms_move = 0, has_edge_delay_ms_resize = 0, has_edge_resistance_move = 0, has_edge_resistance_screen_move = 0, has_handle_width = 0, has_icon = 0, has_icon_boxes = 0, has_icon_size_limits = 0, has_min_window_size = 0, has_max_window_size = 0, has_icon_background_padding = 0, has_icon_background_relief = 0, has_icon_title_relief = 0, has_window_shade_steps = 0, has_mini_icon = 0, has_mwm_decor = 0, has_mwm_functions = 0, has_no_handles = 0, has_no_title = 0, has_ol_decor = 0, has_snap_grid = 0, has_snap_attraction = 0, is_button_disabled = 0, is_unmanaged = 0, use_backing_store = 0, use_parent_relative = 0, use_colorset = 0, use_colorset_hi = 0, use_border_colorset = 0, use_border_colorset_hi = 0, use_icon_title_colorset = 0, use_icon_title_colorset_hi = 0, use_icon_background_colorset = 0, use_layer = 0, use_no_pposition = 0, use_no_usposition = 0, use_no_transient_pposition = 0, use_no_transient_usposition = 0, use_start_on_desk = 0, use_start_on_page_for_transient = 0, use_start_on_screen = 0, manual_placement_honors_starts_on_page = 0, um_placement_honors_starts_on_page = 0, capture_honors_starts_on_page = 0, recapture_honors_starts_on_page = 0, has_placement_penalty = 0, has_placement_percentage_penalty = 0, has_placement_position_string = 0, has_initial_map_command_string = 0, has_title_format_string = 0, has_icon_title_format_string = 0, initial_placement_done = 0}, has_style_changed = 0, has_title_format_string = 0, has_icon_title_format_string = 0}
        sflags = 0x7ffe5322a7a8
        buttons = 1023
        used_sm = <optimized out>
        do_resize_too = <optimized out>
        b = {top_left = {width = 7, height = 26}, bottom_right = {width = 7, height = 7}, total_size = {width = 14, height = 33}}
        mr_args = <optimized out>
        state_args = {shade_dir = 0, do_shade = 0, used_title_dir_for_shading = 0, do_max = 0}
        w = 10485774
        exc2 = <optimized out>
        ecc = {type = 0, x = {etrigger = 0x0, elast = 0x7ffe5322a660}, w = {fw = 0x0, w = 140728898420762, wcontext = 140728898420736}, m = {module = 0x1ab25dc6d0}}
        mon = <optimized out>
        __func__ = "AddWindow"
#3  0x000055dfb1899c1d in HandleMapRequestKeepRaised (ea=0x7ffe5322af60, KeepRaised=0, ReuseWin=0x0, win_opts=0x7ffe5322aef0) at ./fvwm/events.c:3111
        is_on_this_page = 0
        is_new_window = 0
        tmp = <optimized out>
        sf = <optimized out>
        win_opts_bak = {initial_state = 0, flags = {do_override_ppos = 0, is_iconified_by_parent = 0, is_menu = 0, use_initial_icon_xy = 0}, initial_icon_x = 0, initial_icon_y = 0, default_icon_x = 0, default_icon_y = 0}
        ew = 10485774
        fw = 0x0
        initial_map_command = 0x0
        m = 0x0
        __func__ = "HandleMapRequestKeepRaised"
#4  0x000055dfb189be9b in dispatch_event (e=e@entry=0x7ffe5322afd0) at ./fvwm/events.c:4244
        ea = {exc = 0x55dfb25dc040}
        ecc = {type = EXCT_EVENT, x = {etrigger = 0x7ffe5322afd0, elast = 0x0}, w = {fw = 0x0, w = 10485774, wcontext = 8}, m = {module = 0x7ffe5322afd0}}
        dummyw = 0
        w = <optimized out>
        fw = 0x0
        event_group = 0x55dfb25c12b0
        sce = <optimized out>
#5  0x000055dfb189bfb4 in HandleEvents () at ./fvwm/events.c:4290
        ev = {type = 20, xany = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959}, xkey = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, root = 10485774, subwindow = 18446744073709551615, time = 223338299476, x = 2, y = 0, x_root = 8388639, y_root = 0, state = 0, keycode = 4, same_screen = 12}, xbutton = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, root = 10485774, subwindow = 18446744073709551615, time = 223338299476, x = 2, y = 0, x_root = 8388639, y_root = 0, state = 0, button = 4, same_screen = 12}, xmotion = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, root = 10485774, subwindow = 18446744073709551615, time = 223338299476, x = 2, y = 0, x_root = 8388639, y_root = 0, state = 0, is_hint = 4 '\004', same_screen = 12}, xcrossing = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, root = 10485774, subwindow = 18446744073709551615, time = 223338299476, x = 2, y = 0, x_root = 8388639, y_root = 0, mode = 0, detail = 4, same_screen = 12, focus = 0, state = 0}, xfocus = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, mode = 10485774, detail = 0}, xexpose = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, x = 10485774, y = 0, width = -1, height = -1, count = 84}, xgraphicsexpose = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, drawable = 1959, x = 10485774, y = 0, width = -1, height = -1, count = 84, major_code = 52, minor_code = 2}, xnoexpose = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, drawable = 1959, major_code = 10485774, minor_code = 0}, xvisibility = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, state = 10485774}, xcreatewindow = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, parent = 1959, window = 10485774, x = -1, y = -1, width = 84, height = 52, border_width = 2, override_redirect = 0}, xdestroywindow = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, event = 1959, window = 10485774}, xunmap = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, event = 1959, window = 10485774, from_configure = -1}, xmap = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, event = 1959, window = 10485774, override_redirect = -1}, xmaprequest = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, parent = 1959, window = 10485774}, xreparent = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, event = 1959, window = 10485774, parent = 18446744073709551615, x = 84, y = 52, override_redirect = 2}, xconfigure = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, event = 1959, window = 10485774, x = -1, y = -1, width = 84, height = 52, border_width = 2, above = 8388639, override_redirect = 0}, xgravity = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, event = 1959, window = 10485774, x = -1, y = -1}, xresizerequest = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, width = 10485774, height = 0}, xconfigurerequest = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, parent = 1959, window = 10485774, x = -1, y = -1, width = 84, height = 52, border_width = 2, above = 8388639, detail = 0, value_mask = 12}, xcirculate = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, event = 1959, window = 10485774, place = -1}, xcirculaterequest = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, parent = 1959, window = 10485774, place = -1}, xproperty = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, atom = 10485774, time = 18446744073709551615, state = 84}, xselectionclear = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, selection = 10485774, time = 18446744073709551615}, xselectionrequest = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, owner = 1959, requestor = 10485774, selection = 18446744073709551615, target = 223338299476, property = 2, time = 8388639}, xselection = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, requestor = 1959, selection = 10485774, target = 18446744073709551615, property = 223338299476, time = 2}, xcolormap = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, colormap = 10485774, new = -1, state = -1}, xclient = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, message_type = 10485774, format = -1, data = {b = "T\000\000\000\064\000\000\000\002\000\000\000\000\000\000\000\037\000\200", s = {84, 0, 52, 0, 2, 0, 0, 0, 31, 128}, l = {223338299476, 2, 8388639, 17179869184, 12}}}, xmapping = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, request = 10485774, first_keycode = 0, count = -1}, xerror = {type = 20, display = 0xa82, resourceid = 0, serial = 94419258340720, error_code = 167 '\247', request_code = 7 '\a', minor_code = 0 '\000'}, xkeymap = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, window = 1959, key_vector = "\016\000\240\000\000\000\000\000\377\377\377\377\377\377\377\377T\000\000\000\064\000\000\000\002\000\000\000\000\000\000"}, xgeneric = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, extension = 1959, evtype = 0}, xcookie = {type = 20, serial = 2690, send_event = 0, display = 0x55dfb25a7570, extension = 1959, evtype = 0, cookie = 10485774, data = 0xffffffffffffffff}, pad = {288230376151711764, 2690, 0, 94419258340720, 1959, 10485774, -1, 223338299476, 2, 8388639, 17179869184, 12, 72057594037927936, 0, 0, 360287970206416896, 4899916395015307264, -4942020635640002809, -73187909594792001, -1, -1529316465461821955, -7779111786184085135, 6629298653603299328, 864691129226887168}}
#6  0x000055dfb1876610 in main (argc=<optimized out>, argv=<optimized out>) at ./fvwm/fvwm3.c:2523
        valuemask = 8202
        attributes = {background_pixmap = 0, background_pixel = 12500670, border_pixmap = 140026278677200, border_pixel = 0, bit_gravity = 1754686680, win_gravity = 32602, backing_store = 1754686720, backing_planes = 140730293203508, backing_pixel = 140026278506938, save_under = 30, event_mask = 2097155, do_not_propagate_mask = 140026278677200, override_redirect = 1, colormap = 32, cursor = 6291469}
        i = <optimized out>
        display_string = 0x55dfb25a9890 ""
        do_force_single_screen = <optimized out>
        single_screen_num = -1
        replace_wm = <optimized out>
        visualClass = <optimized out>
        visualId = -1
        colorLimitop = {color_limit = -1, strict = -1, allocate = -1, not_dynamic = -1, use_named_table = -1}
        exc = <optimized out>
        ecc = {type = EXCT_INIT, x = {etrigger = 0x7f5a675f8f80, elast = 0x7f5a00000000}, w = {fw = 0x7ffe5322b300, w = 140728898420736, wcontext = 8}, m = {module = 0x7f5a66e0c1e8}}
        m = <optimized out>
        __func__ = "main"
@farblos farblos added the type:bug Something's broken! label Dec 25, 2022
ThomasAdam added a commit that referenced this issue Dec 25, 2022
When identifying windows via XQueryTree(), ensure that both children and
nchildren are considered.

Fixes #785

Signed-off-by: Thomas Adam <thomas@fvwm.org>
ThomasAdam added a commit that referenced this issue Dec 25, 2022
When identifying windows via XQueryTree(), ensure that both children and
nchildren are considered.

Fixes #785

Signed-off-by: Thomas Adam <thomas@fvwm.org>
@ThomasAdam
Copy link
Member

@farblos

Thanks. Can you please check the ta/gh-985 with your same tests, and let me know how you get on with that?

@farblos
Copy link
Contributor Author

farblos commented Dec 25, 2022

@ThomasAdam Thanks for the quick fix.

And yes, your commit indeed fixes the issue.

Just one minor nitpick, not sure whether this worries you: When running the test case, Fvwm succeeds to draw the window placement frame (just to discard it when it gets placed) in approx. 1 of 5 tries, in all other cases nothing at all happens. So something races there ...

ThomasAdam added a commit that referenced this issue Dec 25, 2022
When identifying windows via XQueryTree(), ensure that both children and
nchildren are considered.

Fixes #785

Signed-off-by: Thomas Adam <thomas@fvwm.org>
@ThomasAdam
Copy link
Member

@farblos -- that will have always been the case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:bug Something's broken!
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants