[BUG] pds-ds failure with latest polars 1.41.x / nightly (26.08)
- Dominant language
- C++
- Stars
- 9.8k
- Forks
- 1.1k
- Avg merge
- 3d 6m
- Merged PRs (30d)
- 278
Description
PDS-DS Q38 / Q87 both fail with latest polars 1.41.X and nightly cudf-polars (26.08) -- both pass with polars 1.40.1:
```
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/site-packages/cudf_polars/engine/spmd.py", line 112, in evaluate_pipeline_spmd_mode
| df, metadata = evaluate_on_rank(
| ~~~~~~~~~~~~~~~~^
| context,
| ^^^^^^^^
| ...<4 lines>...
| query_id=query_id,
| ^^^^^^^^^^^^^^^^^^
| )
| ^
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/site-packages/cudf_polars/engine/core.py", line 699, in evaluate_on_rank
| return execute_ir_on_rank(
| ctx,
| ...<7 lines>...
| query_id=query_id,
| )
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/site-packages/cudf_polars/engine/core.py", line 473, in execute_ir_on_rank
| run_actor_network(ctx, actors=nodes)
| ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
| File "rapidsmpf/streaming/core/actor.pyx", line 351, in rapidsmpf.streaming.core.actor.run_actor_network
| File "rapidsmpf/streaming/core/actor.pyx", line 352, in rapidsmpf.streaming.core.actor.run_actor_network
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/concurrent/futures/_base.py", line 450, in result
| return self.__get_result()
| ~~~~~~~~~~~~~~~~~^^
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/concurrent/futures/_base.py", line 395, in __get_result
| raise self._exception
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/concurrent/futures/thread.py", line 86, in run
| result = ctx.run(self.task)
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/concurrent/futures/thread.py", line 73, in run
| return fn(*args, **kwargs)
| File "rapidsmpf/streaming/core/actor.pyx", line 240, in rapidsmpf.streaming.core.actor.sync_wait
| File "rapidsmpf/streaming/core/actor.pyx", line 241, in rapidsmpf.streaming.core.actor.sync_wait
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/asyncio/runners.py", line 127, in run
| return self._loop.run_until_complete(task)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/asyncio/base_events.py", line 719, in run_until_complete
| return future.result()
| ~~~~~~~~~~~~~^^
| File "rapidsmpf/streaming/core/actor.pyx", line 171, in run_py_actors
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/asyncio/taskgroups.py", line 72, in __aexit__
| return await self._aexit(et, exc)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/asyncio/taskgroups.py", line 174, in _aexit
| raise BaseExceptionGroup(
| ...<2 lines>...
| ) from None
| ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "rapidsmpf/streaming/core/actor.pyx", line 156, in py_actor
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/site-packages/cudf_polars/streaming/actor_graph/nodes.py", line 215, in default_node_multi
| df = await ir_context.to_thread(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ...<4 lines>...
| )
| ^
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/site-packages/cudf_polars/dsl/ir.py", line 166, in to_thread
| return await loop.run_in_executor(self.py_executor, func_call)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/concurrent/futures/thread.py", line 86, in run
| result = ctx.run(self.task)
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/concurrent/futures/thread.py", line 73, in run
| return fn(*args, **kwargs)
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/site-packages/cudf_polars/dsl/tracing.py", line 194, in wrapper
| result = func(cls, *args, **kwargs)
| File "/opt/conda/envs/rapidsmpf/lib/python3.14/site-packages/cudf_polars/dsl/ir.py", line 2495, in do_evaluate
| columns = plc.join.cross_join(
| ~~~~~~~~~~~~~~~~~~~^
| left.table, right.table, stream=stream
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
| ).columns()
| ^
| File "pylibcudf/join.pyx", line 298, in pylibcudf.join.cross_join
| cpdef Table cross_join(
| ^^^^^^^^^^^
| File "pylibcudf/join.pyx", line 328, in pylibcudf.join.cross_join
| result = cpp_join.cross_join(
| ^^^
| RuntimeError: CUDF failure at: /tmp/conda-bld-output/bld/rattler-build_libcudf/work/cpp/src/join/cross_join.cu:36: Left table is empty
+------------------------------------
```
Contributor guide
Assessment
This issue has not been assessed yet.