modin: dfsql tests failing on Windows/MacOS after the last modin update
System information
- OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows, MacOS
- Modin version (
modin.__version__
): 0.10.1 - Python version: 3.7, 3.8
- Code we can use to reproduce:
Describe the problem
We have been getting hanging unit-tests in Github actions since upgrading to latest modin. I haven’t been able to find what the problem is exactly, but tests just hang forever.
I am creating this issue in case the problem is modin-related.
Source code / logs
Adding timeouts to tests revealed such logs on Windows:
(pid=6528) Windows fatal exception: access violation
(pid=6528)
(pid=420) Windows fatal exception: access violation
(pid=420)
(pid=5080) Windows fatal exception: access violation
(pid=5080)
(pid=3592) Windows fatal exception: access violation
(pid=3592)
(pid=6112) Windows fatal exception: access violation
(pid=6112)
(pid=5660) Windows fatal exception: access violation
(pid=5660)
(pid=6404) Windows fatal exception: access violation
(pid=6404)
(pid=3924) Windows fatal exception: access violation
(pid=3924)
(pid=3684) Windows fatal exception: access violation
(pid=3684)
It might be related to ray saving logs, as in this issue. Weird that the issue is old, but these messages didn’t appear earlier.
On Windows + python 3.7 (but not 3.8) this Segfault happens, which seems to be ray/modin related:
Thread 0x00001b24 (most recent call first):
File "c:\hostedtoolcache\windows\python\3.7.9\x64\lib\site-packages\ray\worker.py", line 1637 in wait
File "c:\hostedtoolcache\windows\python\3.7.9\x64\lib\site-packages\ray\_private\client_mode_hook.py", line 62 in wrapper
File "c:\hostedtoolcache\windows\python\3.7.9\x64\lib\site-packages\modin\engines\ray\generic\io.py", line 198 in to_csv
File "c:\hostedtoolcache\windows\python\3.7.9\x64\lib\site-packages\modin\data_management\factories\factories.py", line 398 in _to_csv
File "c:\hostedtoolcache\windows\python\3.7.9\x64\lib\site-packages\modin\data_management\factories\dispatcher.py", line 267 in to_csv
File "c:\hostedtoolcache\windows\python\3.7.9\x64\lib\site-packages\modin\pandas\base.py", line 2513 in to_csv
File "d:\a\dfsql\dfsql\dfsql\__init__.py", line 25 in sql_query
File "d:\a\dfsql\dfsql\dfsql\extensions.py", line 66 in __call__
File "D:\a\dfsql\dfsql\tests\test_extensions.py", line 47 in test_df_sql_nested_select_in
...
D:\a\_temp\1ac47c42-bfc7-4fcd-b689-944e647c7102.sh: line 1: 1841 Segmentation fault
The full logs are available here: https://github.com/mindsdb/dfsql/pull/19/checks?check_run_id=3112462155
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 27 (9 by maintainers)
I was able to reproduce hanging behavior locally (Reproducibility is not 100%).
Environment:
Simplified reproducer (that should be added to
TestCsv
class):Logs:
@rkooo567 did this clarify anything?
Finally the issue turned out to be Modin related. Ray hanged when I was trying to write a Modin DataFrame to disk while using Ray. It seems there was some kind of a deadlock, but I am still not sure.
For now I resolved it by using Pandas to write to disk, after which the issue was gone: https://github.com/mindsdb/dfsql/pull/19/files#diff-287da181ac34dcb8710924d3be04f46fac4c8b26c7de303766af97d571d1b969R26
Still, it’s wroth investigating why that was happening.