Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 881621

Summary: x11-wm/herbstluftwm-0.9.5 fails tests
Product: Gentoo Linux Reporter: Agostino Sarubbo <ago>
Component: Current packagesAssignee: Florian Schmaus <flow>
Status: CONFIRMED ---    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log.xz

Description Agostino Sarubbo gentoo-dev 2022-11-17 07:02:40 UTC
https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/

Issue: x11-wm/herbstluftwm-0.9.5 fails tests (LTO-SYSTEM).
Discovered on: amd64 (internal ref: lto_tinderbox)

NOTE:
(LTO-SYSTEM) in the summary means that bug was found on a machine that runs lto but this bug MAY or MAY NOT BE related to lto.

This machine uses lto with CFLAGS=-flto -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing

Here is a bit of explanation:

-Werror=lto-type-mismatch:
User to find possible runtime issues in packages. It likely means the package is unsafe to build & use with LTO.
For projects using the same identifier but with different types across different files, they must be fixed to be consistent across the codebase.

-Werror=odr:
Used to find possible runtime issues in packages. These bugs are a problem anyway but may be even worse when combined with LTO. C++ code must comply with the One Definition Rule (ODR) - see https://en.cppreference.com/w/cpp/language/definition#One_Definition_Rule.

-Werror=strict-aliasing:
Used to find possible runtime issues in packages. These bugs are a problem anyway but may be even worse when combined with LTO.

Workarounds:
- If upstream is friendly and still active, file a bug upstream. For emulators, codecs, games, or multimedia packages, it may be worth just applying a workaround instead, as upstreams sometimes aren't receptive to these bugs (VALID FOR ALL).
- Use the new 'filter-lto' from flag-o-matic.eclass as it's likely to be unsafe with LTO (VALID FOR lto-type-mismatch - odr).
- Fix it yourself if interested, of course (VALID FOR ALL).
- Append-flags -fno-strict-aliasing (VALID FOR strict-aliasing).
- Use memcpy() but a union is sometimes suitable too (VALID FOR strict-aliasing).
- -fstrict-aliasing is implied by -O2, so this must be addressed in some form (VALID FOR strict-aliasing).

See also: https://marc.info/?l=gentoo-dev&m=165639574126280&w=2
Comment 1 Agostino Sarubbo gentoo-dev 2022-11-17 07:02:44 UTC
Created attachment 833153 [details]
build.log.xz

build log and emerge --info (compressed because it exceeds attachment limit, use 'xzless' to read it)
Comment 2 Agostino Sarubbo gentoo-dev 2022-11-17 07:02:46 UTC
Error(s) that match a know pattern:


E       AssertionError: assert {'Mod2+Mod5+', 'Mod2+Mod3+', 'Mod2+Mod1+', 'Mod2+Mod4+'} == {'Mod2+Mod1+', 'Mod2+Mod3+', 'Mod2+Mod5+', 'Mod2+Mode_switch ', 'Mod2+Mod4+'}
E   ModuleNotFoundError: No module named 'tkinter'
ERROR tests/test_clients.py::test_client_with_pid - ModuleNotFoundError: No m...
ERROR tests/test_clients.py::test_client_without_pid - ModuleNotFoundError: N...
ERROR tests/test_clients.py::test_client_wm_class - ModuleNotFoundError: No m...
ERROR tests/test_clients.py::test_client_wm_class_none - ModuleNotFoundError:...
ERROR tests/test_clients.py::test_decorated_off_vs_x11 - ModuleNotFoundError:...
ERROR tests/test_clients.py::test_urgent_after_start - ModuleNotFoundError: N...
ERROR tests/test_ewmh.py::test_cancel_drag - ModuleNotFoundError: No module n...
ERROR tests/test_ewmh.py::test_close_window - ModuleNotFoundError: No module ...
ERROR tests/test_ewmh.py::test_ewmh_focus_client - ModuleNotFoundError: No mo...
ERROR tests/test_ewmh.py::test_ewmh_make_client_urgent - ModuleNotFoundError:...
ERROR tests/test_ewmh.py::test_ewmh_move_client_to_tag - ModuleNotFoundError:...
ERROR tests/test_ewmh.py::test_initiate_drag[10-True] - ModuleNotFoundError: ...
ERROR tests/test_ewmh.py::test_initiate_drag[3-False] - ModuleNotFoundError: ...
ERROR tests/test_ewmh.py::test_initiate_drag[5-False] - ModuleNotFoundError: ...
ERROR tests/test_ewmh.py::test_initiate_drag[6-False] - ModuleNotFoundError: ...
ERROR tests/test_ewmh.py::test_initiate_drag[8-True] - ModuleNotFoundError: N...
ERROR tests/test_ewmh.py::test_initiate_drag[9-False] - ModuleNotFoundError: ...
ERROR tests/test_ewmh.py::test_minimize_via_xlib - ModuleNotFoundError: No mo...
ERROR tests/test_ewmh.py::test_net_supported - ModuleNotFoundError: No module...
ERROR tests/test_ewmh.py::test_net_supporting_wm_check - ModuleNotFoundError:...
ERROR tests/test_ewmh.py::test_net_wmname - ModuleNotFoundError: No module na...
ERROR tests/test_ewmh.py::test_unminimize_via_xlib - ModuleNotFoundError: No ...
ERROR tests/test_ewmh.py::test_wm_state_type - ModuleNotFoundError: No module...
ERROR tests/test_monitor.py::test_hide_covered_windows - ModuleNotFoundError:...
ERROR tests/test_mousebind.py::test_drag_move[0] - ModuleNotFoundError: No mo...
ERROR tests/test_mousebind.py::test_drag_move[10] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[11] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[12] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[13] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[14] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[15] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[16] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[17] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[18] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[19] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[1] - ModuleNotFoundError: No mo...
ERROR tests/test_mousebind.py::test_drag_move[20] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[21] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[22] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[23] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[24] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[25] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[26] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[27] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[28] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[29] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[2] - ModuleNotFoundError: No mo...
ERROR tests/test_mousebind.py::test_drag_move[30] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[31] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[32] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[33] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[34] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[35] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[36] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[37] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[38] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[39] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[3] - ModuleNotFoundError: No mo...
ERROR tests/test_mousebind.py::test_drag_move[40] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[41] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[42] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[43] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[44] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[45] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[46] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[47] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[48] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[49] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[4] - ModuleNotFoundError: No mo...
ERROR tests/test_mousebind.py::test_drag_move[50] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[51] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[52] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[53] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[54] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[55] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[56] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[57] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[58] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[59] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[5] - ModuleNotFoundError: No mo...
ERROR tests/test_mousebind.py::test_drag_move[60] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[61] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[62] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[63] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[64] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[65] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[66] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[67] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[68] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[69] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[6] - ModuleNotFoundError: No mo...
ERROR tests/test_mousebind.py::test_drag_move[70] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[71] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[72] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[73] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[74] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[75] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[76] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[77] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[78] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[79] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[7] - ModuleNotFoundError: No mo...
ERROR tests/test_mousebind.py::test_drag_move[80] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[81] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[82] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[83] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[84] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[85] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[86] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[87] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[88] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[89] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[8] - ModuleNotFoundError: No mo...
ERROR tests/test_mousebind.py::test_drag_move[90] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[91] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[92] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[93] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[94] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[95] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[96] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[97] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[98] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[99] - ModuleNotFoundError: No m...
ERROR tests/test_mousebind.py::test_drag_move[9] - ModuleNotFoundError: No mo...
ERROR tests/test_panels.py::test_panel_object - ModuleNotFoundError: No modul...
ERROR tests/test_rules.py::test_fixedsize - ModuleNotFoundError: No module na...
ERROR tests/test_rules.py::test_unmanage[off] - ModuleNotFoundError: No modul...
ERROR tests/test_rules.py::test_unmanage[on] - ModuleNotFoundError: No module...
ERROR tests/test_rules.py::test_wm_class_too_late - ModuleNotFoundError: No m...
ERROR tests/test_tags.py::test_urgent_count - ModuleNotFoundError: No module ...
ERROR tests/test_x11.py::test_window_focus[0] - ModuleNotFoundError: No modul...
ERROR tests/test_x11.py::test_window_focus[1] - ModuleNotFoundError: No modul...
ERROR tests/test_x11.py::test_window_focus[2] - ModuleNotFoundError: No modul...
FAILED tests/test_doc.py::test_attribute_doc_in_json[Panel-create_panel] - Mo...
FAILED tests/test_doc.py::test_attributes_and_children_are_documented[Panel-create_panel]
FAILED tests/test_doc.py::test_class_doc[Panel-create_panel] - ModuleNotFound...
FAILED tests/test_doc.py::test_documented_attribute_type[Panel-create_panel]
FAILED tests/test_doc.py::test_documented_attributes_writable[Panel-create_panel]
FAILED tests/test_doc.py::test_documented_children_exist[Panel-create_panel]
FAILED tests/test_doc.py::test_help_on_attribute_vs_json[Panel-create_panel]
FAILED tests/test_doc.py::test_help_on_children_vs_json[Panel-create_panel]
FAILED tests/test_keybind.py::test_complete_keybind_offers_additional_mods_without_duplication
FAILED tests/test_meta_commands.py::test_foreach_invalid_flag - assert None
tests/test_herbstluftwm.py::test_wmexec_failure[args0-No such file or directory] PASSED [ 610/2352]
tests/test_herbstluftwm.py::test_wmexec_failure[args1-Permission denied] PASSED [ 611/2352]
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-03-15 06:59:49 UTC
Per above. Not LTO.