Skip to content

[BUG] Window function tests fail with GPU/CPU string value mismatches in min aggregations in cuda13 #14096

@pxLi

Description

@pxLi

Describe the bug
Build: rapids_it-arm64-dev/585, rapids_integration-dev-github/1452

9 window function tests failed with string value comparison mismatches between GPU and CPU results. The failures occurred in test_rows_based_running_window_partitioned and test_multi_types_window_aggs_for_rows across different data types (Long-String, Double-String, Boolean-String, Timestamp-String, Decimal types). All failures show different string values at specific row positions when comparing GPU vs CPU execution results, indicating potential data ordering or aggregation issues in window functions.

Error logs:


[2026-01-07T15:53:40.566Z] =========================== short test summary info ============================

[2026-01-07T15:53:40.566Z] FAILED ../../src/main/python/window_function_test.py::test_rows_based_running_window_partitioned[Long-String-1000][DATAGEN_SEED=1767791095, TZ=UTC, IGNORE_ORDER({'local': True})] - AssertionError: GPU (Rt�Ø�ì)���C�ñ»ý�öù_�¶{xlÞB ¼�M) and CPU (�

[2026-01-07T15:53:40.566Z] í�c�±�z£³dB¼ÔW¯é;øÕ3Df��º'Ã) string values are different at [11, 'min_col']

[2026-01-07T15:53:40.566Z] FAILED ../../src/main/python/window_function_test.py::test_rows_based_running_window_partitioned[Long-String-1g][DATAGEN_SEED=1767791095, TZ=UTC, IGNORE_ORDER({'local': True})] - AssertionError: GPU (Rt�Ø�ì)���C�ñ»ý�öù_�¶{xlÞB ¼�M) and CPU (�

[2026-01-07T15:53:40.566Z] í�c�±�z£³dB¼ÔW¯é;øÕ3Df��º'Ã) string values are different at [11, 'min_col']

[2026-01-07T15:53:40.566Z] FAILED ../../src/main/python/window_function_test.py::test_multi_types_window_aggs_for_rows[partAndOrderBy:Long-String][DATAGEN_SEED=1767791095, TZ=UTC, IGNORE_ORDER({'local': True}), APPROXIMATE_FLOAT] - AssertionError: GPU (<�Mï7�|S®�í_±¯GÝ=��Ú4^?;mé�ŽR) and CPU (�¯,�W\T¨Ê�Bk*)tj��)Êf¹½Á�4

[2026-01-07T15:53:40.566Z] ¡~0) string values are different at [0, 'inc_min_c']

[2026-01-07T15:53:40.566Z] FAILED ../../src/main/python/window_function_test.py::test_multi_types_window_aggs_for_rows[partAndOrderBy:Double-String][DATAGEN_SEED=1767791095, TZ=UTC, INJECT_OOM, IGNORE_ORDER({'local': True}), APPROXIMATE_FLOAT] - AssertionError: GPU (#â£�C�l�ô+U±¾ÞDKzâ�×Ô�Xpªz�UÁñ) and CPU (�|&õ�h��5lµ|�,�Ó»íýöHû¶���çù�Þ) string values are different at [0, 'inc_min_c']

[2026-01-07T15:53:40.566Z] FAILED ../../src/main/python/window_function_test.py::test_multi_types_window_aggs_for_rows[partAndOrderBy:String-String][DATAGEN_SEED=1767791095, TZ=UTC, INJECT_OOM, IGNORE_ORDER({'local': True}), APPROXIMATE_FLOAT] - AssertionError: GPU (Cä-ã/óE�=�7ùç>ùð���:>4�-�Ó�
eª) and CPU (�¡A�Z�ÝS 2³®W�/C¨qÝ;ÃP�iÕ0	i�) string values are different at [0, 'inc_min_c']

[2026-01-07T15:53:40.566Z] FAILED ../../src/main/python/window_function_test.py::test_multi_types_window_aggs_for_rows[partAndOrderBy:Boolean-String][DATAGEN_SEED=1767791095, TZ=UTC, INJECT_OOM, IGNORE_ORDER({'local': True}), APPROXIMATE_FLOAT] - AssertionError: GPU (�ÇH�*JϦS�M£ÜS�a���²:Æ��§vÓb®1) and CPU (�

[2026-01-07T15:53:40.566Z] ühoaò/a�ÕTn��aÁ¿Kؼ<)Â) string values are different at [0, 'inc_min_c']

[2026-01-07T15:53:40.566Z] FAILED ../../src/main/python/window_function_test.py::test_multi_types_window_aggs_for_rows[partAndOrderBy:Timestamp-String][DATAGEN_SEED=1767791095, TZ=UTC, IGNORE_ORDER({'local': True}), APPROXIMATE_FLOAT] - AssertionError: GPU (�µ+.ZTÐÇ-á§Né¥Þ!Õc­�¥�äÈ2¬�é�a) and CPU (��°ßåz�~{·É�>8'3)Ë �îá¬�aJú@�X) string values are different at [0, 'inc_min_c']

[2026-01-07T15:53:40.566Z] FAILED ../../src/main/python/window_function_test.py::test_multi_types_window_aggs_for_rows[partAndOrderBy:Decimal(18,1)-String][DATAGEN_SEED=1767791095, TZ=UTC, IGNORE_ORDER({'local': True}), APPROXIMATE_FLOAT] - AssertionError: GPU (F�>��9�=6�8��Qôè�Ì­9Ç8�9y�Û[C) and CPU (�~{äÑ8®v"Z\)ã�0E�-çq­çÊ�XÕV��) string values are different at [0, 'inc_min_c']

[2026-01-07T15:53:40.566Z] FAILED ../../src/main/python/window_function_test.py::test_multi_types_window_aggs_for_rows[partAndOrderBy:Decimal(38,1)-String][DATAGEN_SEED=1767791095, TZ=UTC, INJECT_OOM, IGNORE_ORDER({'local': True}), APPROXIMATE_FLOAT] - AssertionError: GPU (2[±	!Êjo�Ìr¬@§æõ�õÍ

[2026-01-07T15:53:40.566Z] Ôó`�ÃÏ¢ÿ�Ú) and CPU (��´=�Û�åSO ØqB��Çá
×éé8¡�-°£9) string values are different at [0, 'inc_min_c']

Environment details
Spark Version: 3.5.6 and 3.5.0
CUDA Classifier: cuda13
CUDA Runtime: 13.1.0
Test Seed: DATAGEN_SEED=1767791088

Metadata

Metadata

Assignees

No one assigned

    Labels

    ? - Needs TriageNeed team to review and classifybot_watchSlack bot watched issue for LLM analyzerbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions