Bug#1143755: golang-github-charmbracelet-x: FTBFS: FAIL: TestWcStringWidth

Santiago Vila <[email protected]> Thu, 06 Aug 2026 00:10:23 +0000
Newsgroups gmane.linux.debian.devel.bugs.rc
Message-ID <E1wrlgl-00HT9k-2W__34874.8043573991$1785975116$gmane$org@paradis.debian.org>
Package: src:golang-github-charmbracelet-x
Version: 0.0~git20251028.0cf22f8+ds-4
Severity: serious
Tags: ftbfs forky sid

Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the last part of the build log (probably the most
relevant part, but not necessarily). If required, the full build log
is available here:

https://people.debian.org/~sanvila/build-logs/202608/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you cannot reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:golang-github-charmbracelet-x, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --builddirectory=_build --buildsystem=golang
dh: warning: Implicitly activating single-binary dh addon for backwards compatibility.  In compat 14+,
dh: warning: this fallback will *not* happen automatically via dh_auto_install will instead use a
dh: warning: different default for --destdir unless the single-binary add-on is active,
dh: warning: which can cause the source to produce an empty binary package
dh: warning: 
dh: warning: To keep the existing behaviour (compat 13), please activate the single-binary addon explicitly.
dh: warning: This can be done by adding "dh-sequence-single-binary" to Build-Depends or passing
dh: warning: --with=single-binary to dh.
dh: warning: 
dh: warning: If you have solved this issue differently (e.g., by passing --destdir explicitly to
dh: warning: dh_auto_install or not using dh_auto_install at all) and want to silence this warning
dh: warning: without activating the addon, you can do that by passing --without=single-binary to dh
dh: warning: to explicitly acknowledge the change.

[... snipped ...]

    --- PASS: FuzzParseSequence/seed#1320 (0.00s)
    --- PASS: FuzzParseSequence/seed#1321 (0.00s)
    --- PASS: FuzzParseSequence/seed#1322 (0.00s)
    --- PASS: FuzzParseSequence/seed#1323 (0.00s)
PASS
ok  	github.com/charmbracelet/x/input	0.067s
=== RUN   TestReader
--- PASS: TestReader (0.00s)
=== RUN   TestFrom
--- PASS: TestFrom (0.00s)
=== RUN   TestErrReader
--- PASS: TestErrReader (0.00s)
=== RUN   TestIsValid
=== RUN   TestIsValid/empty_string
=== RUN   TestIsValid/empty_bytes
=== RUN   TestIsValid/valid_json_string
=== RUN   TestIsValid/valid_json_bytes
=== RUN   TestIsValid/invalid_json_string
=== RUN   TestIsValid/invalid_json_bytes
--- PASS: TestIsValid (0.00s)
    --- PASS: TestIsValid/empty_string (0.00s)
    --- PASS: TestIsValid/empty_bytes (0.00s)
    --- PASS: TestIsValid/valid_json_string (0.00s)
    --- PASS: TestIsValid/valid_json_bytes (0.00s)
    --- PASS: TestIsValid/invalid_json_string (0.00s)
    --- PASS: TestIsValid/invalid_json_bytes (0.00s)
PASS
ok  	github.com/charmbracelet/x/json	0.003s
=== RUN   TestRender
    mosaic_test.go:12: Skip failing test for now, the provided image seems to be corrupt.
--- SKIP: TestRender (0.00s)
PASS
ok  	github.com/charmbracelet/x/mosaic	0.024s
?   	github.com/charmbracelet/x/powernap/pkg/config	[no test files]
?   	github.com/charmbracelet/x/powernap/pkg/lsp	[no test files]
?   	github.com/charmbracelet/x/powernap/pkg/lsp/protocol	[no test files]
?   	github.com/charmbracelet/x/powernap/pkg/registry	[no test files]
?   	github.com/charmbracelet/x/powernap/pkg/transport	[no test files]
=== RUN   TestIsTerminalTempFile
--- PASS: TestIsTerminalTempFile (0.00s)
=== RUN   TestIsTerminalTerm
--- PASS: TestIsTerminalTerm (0.00s)
PASS
ok  	github.com/charmbracelet/x/term	0.002s
=== RUN   TestTermios
--- PASS: TestTermios (0.00s)
PASS
ok  	github.com/charmbracelet/x/termios	0.002s
=== RUN   TestTerminal
=== RUN   TestTerminal/CBT_Left_Beyond_First_Column
    emulator_test.go:16: unhandled sequence: CSI "?W"
=== RUN   TestTerminal/CBT_Left_Starting_After_Tab_Stop
    emulator_test.go:16: unhandled sequence: CSI "?W"
=== RUN   TestTerminal/CBT_Left_Starting_on_Tabstop
    emulator_test.go:16: unhandled sequence: CSI "?W"
=== RUN   TestTerminal/CBT_Left_Margin_with_Origin_Mode
    emulator_test.go:16: unhandled sequence: CSI "?W"
    emulator_test.go:16: setting mode ansi.DECMode(6) to 1
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/CHT_Right_Beyond_Last_Column
    emulator_test.go:16: unhandled sequence: CSI "?W"
=== RUN   TestTerminal/CHT_Right_From_Before_Tabstop
    emulator_test.go:16: unhandled sequence: CSI "?W"
=== RUN   TestTerminal/CHT_Right_Margin
    emulator_test.go:16: unhandled sequence: CSI "?W"
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/CR_Pending_Wrap_is_Unset
=== RUN   TestTerminal/CR_Left_Margin
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/CR_Left_of_Left_Margin
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/CR_Left_Margin_with_Origin_Mode
    emulator_test.go:16: setting mode ansi.DECMode(6) to 1
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/CUB_Pending_Wrap_is_Unset
=== RUN   TestTerminal/CUB_Leftmost_Boundary_with_Reverse_Wrap_Disabled
    emulator_test.go:16: setting mode ansi.DECMode(45) to 2
=== RUN   TestTerminal/CUB_Reverse_Wrap
    emulator_test.go:16: setting mode ansi.DECMode(7) to 1
    emulator_test.go:16: setting mode ansi.DECMode(45) to 1
=== RUN   TestTerminal/CUD_Cursor_Down
=== RUN   TestTerminal/CUD_Cursor_Down_Above_Bottom_Margin
=== RUN   TestTerminal/CUD_Cursor_Down_Below_Bottom_Margin
=== RUN   TestTerminal/CUP_Normal_Usage
=== RUN   TestTerminal/CUP_Off_the_Screen
=== RUN   TestTerminal/CUP_Relative_to_Origin
    emulator_test.go:16: setting mode ansi.DECMode(6) to 1
=== RUN   TestTerminal/CUP_Relative_to_Origin_with_Margins
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
    emulator_test.go:16: setting mode ansi.DECMode(6) to 1
=== RUN   TestTerminal/CUP_Limits_with_Scroll_Region_and_Origin_Mode
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
    emulator_test.go:16: setting mode ansi.DECMode(6) to 1
=== RUN   TestTerminal/CUP_Pending_Wrap_is_Unset
=== RUN   TestTerminal/CUF_Pending_Wrap_is_Unset
=== RUN   TestTerminal/CUF_Rightmost_Boundary
=== RUN   TestTerminal/CUF_Left_of_Right_Margin
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/CUF_Right_of_Right_Margin
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/CUU_Normal_Usage
=== RUN   TestTerminal/CUU_Below_Top_Margin
=== RUN   TestTerminal/CUU_Above_Top_Margin
=== RUN   TestTerminal/DL_Simple_Delete_Line
=== RUN   TestTerminal/DL_Cursor_Outside_Scroll_Region
=== RUN   TestTerminal/DL_With_Top/Bottom_Scroll_Regions
=== RUN   TestTerminal/DL_With_Left/Right_Scroll_Regions
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/IL_Simple_Insert_Line
=== RUN   TestTerminal/IL_Cursor_Outside_Scroll_Region
=== RUN   TestTerminal/IL_With_Top/Bottom_Scroll_Regions
=== RUN   TestTerminal/IL_With_Left/Right_Scroll_Regions
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/DCH_Simple_Delete_Character
=== RUN   TestTerminal/DCH_with_SGR_State
=== RUN   TestTerminal/DCH_Outside_Left/Right_Scroll_Region
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/DCH_Inside_Left/Right_Scroll_Region
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/DECSTBM_Full_Screen_Scroll_Up
=== RUN   TestTerminal/DECSTBM_Top_Only_Scroll_Up
=== RUN   TestTerminal/DECSTBM_Top_and_Bottom_Scroll_Up
=== RUN   TestTerminal/DECSTBM_Top_Equal_Bottom_Scroll_Up
    emulator_test.go:16: unhandled sequence: CSI "2;2r"
=== RUN   TestTerminal/DECSLRM_Full_Screen
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/DECSLRM_Left_Only
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/DECSLRM_Left_And_Right
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/DECSLRM_Left_Equal_to_Right
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
    emulator_test.go:16: unhandled sequence: CSI "2;2s"
=== RUN   TestTerminal/ECH_Simple_Operation
=== RUN   TestTerminal/ECH_Erasing_Beyond_Edge_of_Screen
=== RUN   TestTerminal/ECH_Reset_Pending_Wrap_State
=== RUN   TestTerminal/ECH_with_SGR_State
=== RUN   TestTerminal/ECH_Left/Right_Scroll_Region_Ignored
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/EL_Simple_Erase_Right
=== RUN   TestTerminal/EL_Erase_Right_Resets_Pending_Wrap
=== RUN   TestTerminal/EL_Erase_Right_with_SGR_State
=== RUN   TestTerminal/EL_Erase_Right_with_Left/Right_Margins
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/EL_Simple_Erase_Left
=== RUN   TestTerminal/EL_Erase_Left_with_SGR_State
=== RUN   TestTerminal/EL_Simple_Erase_Complete_Line
=== RUN   TestTerminal/EL_Erase_Complete_with_SGR_State
=== RUN   TestTerminal/IND_No_Scroll_Region_Top_of_Screen
=== RUN   TestTerminal/IND_Bottom_of_Primary_Screen
=== RUN   TestTerminal/IND_Inside_Scroll_Region
=== RUN   TestTerminal/IND_Bottom_of_Scroll_Region
=== RUN   TestTerminal/IND_Bottom_of_Primary_Screen_with_Scroll_Region
=== RUN   TestTerminal/IND_Outside_of_Left/Right_Scroll_Region
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/IND_Inside_of_Left/Right_Scroll_Region
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/ED_Simple_Erase_Below
=== RUN   TestTerminal/ED_Erase_Below_with_SGR_State
=== RUN   TestTerminal/ED_Simple_Erase_Above
=== RUN   TestTerminal/ED_Simple_Erase_Complete
=== RUN   TestTerminal/RI_No_Scroll_Region_Top_of_Screen
=== RUN   TestTerminal/RI_No_Scroll_Region_Not_Top_of_Screen
=== RUN   TestTerminal/RI_Top/Bottom_Scroll_Region
=== RUN   TestTerminal/RI_Outside_of_Top/Bottom_Scroll_Region
=== RUN   TestTerminal/RI_Left/Right_Scroll_Region
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/RI_Outside_Left/Right_Scroll_Region
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/SD_Outside_of_Top/Bottom_Scroll_Region
=== RUN   TestTerminal/SU_Simple_Usage
=== RUN   TestTerminal/SU_Top/Bottom_Scroll_Region
=== RUN   TestTerminal/SU_Left/Right_Scroll_Regions
    emulator_test.go:16: setting mode ansi.DECMode(69) to 1
=== RUN   TestTerminal/SU_Preserves_Pending_Wrap
=== RUN   TestTerminal/SU_Scroll_Full_Top/Bottom_Scroll_Region
=== RUN   TestTerminal/TBC_Clear_Single_Tab_Stop
    emulator_test.go:16: unhandled sequence: CSI "?W"
=== RUN   TestTerminal/TBC_Clear_All_Tab_Stops
    emulator_test.go:16: unhandled sequence: CSI "?W"
--- PASS: TestTerminal (0.05s)
    --- PASS: TestTerminal/CBT_Left_Beyond_First_Column (0.00s)
    --- PASS: TestTerminal/CBT_Left_Starting_After_Tab_Stop (0.00s)
    --- PASS: TestTerminal/CBT_Left_Starting_on_Tabstop (0.00s)
    --- PASS: TestTerminal/CBT_Left_Margin_with_Origin_Mode (0.00s)
    --- PASS: TestTerminal/CHT_Right_Beyond_Last_Column (0.00s)
    --- PASS: TestTerminal/CHT_Right_From_Before_Tabstop (0.00s)
    --- PASS: TestTerminal/CHT_Right_Margin (0.00s)
    --- PASS: TestTerminal/CR_Pending_Wrap_is_Unset (0.00s)
    --- PASS: TestTerminal/CR_Left_Margin (0.00s)
    --- PASS: TestTerminal/CR_Left_of_Left_Margin (0.00s)
    --- PASS: TestTerminal/CR_Left_Margin_with_Origin_Mode (0.00s)
    --- PASS: TestTerminal/CUB_Pending_Wrap_is_Unset (0.00s)
    --- PASS: TestTerminal/CUB_Leftmost_Boundary_with_Reverse_Wrap_Disabled (0.00s)
    --- PASS: TestTerminal/CUB_Reverse_Wrap (0.00s)
    --- PASS: TestTerminal/CUD_Cursor_Down (0.00s)
    --- PASS: TestTerminal/CUD_Cursor_Down_Above_Bottom_Margin (0.00s)
    --- PASS: TestTerminal/CUD_Cursor_Down_Below_Bottom_Margin (0.00s)
    --- PASS: TestTerminal/CUP_Normal_Usage (0.00s)
    --- PASS: TestTerminal/CUP_Off_the_Screen (0.00s)
    --- PASS: TestTerminal/CUP_Relative_to_Origin (0.00s)
    --- PASS: TestTerminal/CUP_Relative_to_Origin_with_Margins (0.00s)
    --- PASS: TestTerminal/CUP_Limits_with_Scroll_Region_and_Origin_Mode (0.00s)
    --- PASS: TestTerminal/CUP_Pending_Wrap_is_Unset (0.00s)
    --- PASS: TestTerminal/CUF_Pending_Wrap_is_Unset (0.00s)
    --- PASS: TestTerminal/CUF_Rightmost_Boundary (0.00s)
    --- PASS: TestTerminal/CUF_Left_of_Right_Margin (0.00s)
    --- PASS: TestTerminal/CUF_Right_of_Right_Margin (0.00s)
    --- PASS: TestTerminal/CUU_Normal_Usage (0.00s)
    --- PASS: TestTerminal/CUU_Below_Top_Margin (0.00s)
    --- PASS: TestTerminal/CUU_Above_Top_Margin (0.00s)
    --- PASS: TestTerminal/DL_Simple_Delete_Line (0.00s)
    --- PASS: TestTerminal/DL_Cursor_Outside_Scroll_Region (0.00s)
    --- PASS: TestTerminal/DL_With_Top/Bottom_Scroll_Regions (0.00s)
    --- PASS: TestTerminal/DL_With_Left/Right_Scroll_Regions (0.00s)
    --- PASS: TestTerminal/IL_Simple_Insert_Line (0.00s)
    --- PASS: TestTerminal/IL_Cursor_Outside_Scroll_Region (0.00s)
    --- PASS: TestTerminal/IL_With_Top/Bottom_Scroll_Regions (0.00s)
    --- PASS: TestTerminal/IL_With_Left/Right_Scroll_Regions (0.00s)
    --- PASS: TestTerminal/DCH_Simple_Delete_Character (0.00s)
    --- PASS: TestTerminal/DCH_with_SGR_State (0.00s)
    --- PASS: TestTerminal/DCH_Outside_Left/Right_Scroll_Region (0.00s)
    --- PASS: TestTerminal/DCH_Inside_Left/Right_Scroll_Region (0.00s)
    --- PASS: TestTerminal/DECSTBM_Full_Screen_Scroll_Up (0.00s)
    --- PASS: TestTerminal/DECSTBM_Top_Only_Scroll_Up (0.00s)
    --- PASS: TestTerminal/DECSTBM_Top_and_Bottom_Scroll_Up (0.00s)
    --- PASS: TestTerminal/DECSTBM_Top_Equal_Bottom_Scroll_Up (0.00s)
    --- PASS: TestTerminal/DECSLRM_Full_Screen (0.00s)
    --- PASS: TestTerminal/DECSLRM_Left_Only (0.00s)
    --- PASS: TestTerminal/DECSLRM_Left_And_Right (0.00s)
    --- PASS: TestTerminal/DECSLRM_Left_Equal_to_Right (0.00s)
    --- PASS: TestTerminal/ECH_Simple_Operation (0.00s)
    --- PASS: TestTerminal/ECH_Erasing_Beyond_Edge_of_Screen (0.00s)
    --- PASS: TestTerminal/ECH_Reset_Pending_Wrap_State (0.00s)
    --- PASS: TestTerminal/ECH_with_SGR_State (0.00s)
    --- PASS: TestTerminal/ECH_Left/Right_Scroll_Region_Ignored (0.00s)
    --- PASS: TestTerminal/EL_Simple_Erase_Right (0.00s)
    --- PASS: TestTerminal/EL_Erase_Right_Resets_Pending_Wrap (0.00s)
    --- PASS: TestTerminal/EL_Erase_Right_with_SGR_State (0.00s)
    --- PASS: TestTerminal/EL_Erase_Right_with_Left/Right_Margins (0.00s)
    --- PASS: TestTerminal/EL_Simple_Erase_Left (0.00s)
    --- PASS: TestTerminal/EL_Erase_Left_with_SGR_State (0.00s)
    --- PASS: TestTerminal/EL_Simple_Erase_Complete_Line (0.00s)
    --- PASS: TestTerminal/EL_Erase_Complete_with_SGR_State (0.00s)
    --- PASS: TestTerminal/IND_No_Scroll_Region_Top_of_Screen (0.00s)
    --- PASS: TestTerminal/IND_Bottom_of_Primary_Screen (0.00s)
    --- PASS: TestTerminal/IND_Inside_Scroll_Region (0.00s)
    --- PASS: TestTerminal/IND_Bottom_of_Scroll_Region (0.00s)
    --- PASS: TestTerminal/IND_Bottom_of_Primary_Screen_with_Scroll_Region (0.00s)
    --- PASS: TestTerminal/IND_Outside_of_Left/Right_Scroll_Region (0.00s)
    --- PASS: TestTerminal/IND_Inside_of_Left/Right_Scroll_Region (0.00s)
    --- PASS: TestTerminal/ED_Simple_Erase_Below (0.00s)
    --- PASS: TestTerminal/ED_Erase_Below_with_SGR_State (0.00s)
    --- PASS: TestTerminal/ED_Simple_Erase_Above (0.00s)
    --- PASS: TestTerminal/ED_Simple_Erase_Complete (0.00s)
    --- PASS: TestTerminal/RI_No_Scroll_Region_Top_of_Screen (0.00s)
    --- PASS: TestTerminal/RI_No_Scroll_Region_Not_Top_of_Screen (0.00s)
    --- PASS: TestTerminal/RI_Top/Bottom_Scroll_Region (0.00s)
    --- PASS: TestTerminal/RI_Outside_of_Top/Bottom_Scroll_Region (0.00s)
    --- PASS: TestTerminal/RI_Left/Right_Scroll_Region (0.00s)
    --- PASS: TestTerminal/RI_Outside_Left/Right_Scroll_Region (0.00s)
    --- PASS: TestTerminal/SD_Outside_of_Top/Bottom_Scroll_Region (0.00s)
    --- PASS: TestTerminal/SU_Simple_Usage (0.00s)
    --- PASS: TestTerminal/SU_Top/Bottom_Scroll_Region (0.00s)
    --- PASS: TestTerminal/SU_Left/Right_Scroll_Regions (0.00s)
    --- PASS: TestTerminal/SU_Preserves_Pending_Wrap (0.00s)
    --- PASS: TestTerminal/SU_Scroll_Full_Top/Bottom_Scroll_Region (0.00s)
    --- PASS: TestTerminal/TBC_Clear_Single_Tab_Stop (0.00s)
    --- PASS: TestTerminal/TBC_Clear_All_Tab_Stops (0.00s)
PASS
ok  	github.com/charmbracelet/x/vt	0.072s
?   	github.com/charmbracelet/x/wcwidth	[no test files]
?   	github.com/charmbracelet/x/windows	[no test files]
?   	github.com/charmbracelet/x/xpty	[no test files]
FAIL
dh_auto_test: error: cd _build && go test -vet=off -v -p 2 g [too-long-redacted] let/x/xpty returned exit code 1
make: *** [debian/rules:13: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------