-
-
Notifications
You must be signed in to change notification settings - Fork 18.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Passing an empty list to read_csv causes segmentation fault #45957
Comments
the problem is in this files the issue is in readers.py[1213] --> if not isinstance(f, list): suggesions--> |
NOTE: before #45389 the ValueError was raised in ---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
/tmp/ipykernel_27570/1861184160.py in <module>
----> 1 pd.read_csv([])
~/miniconda3/envs/pandas-1.3.5/lib/python3.10/site-packages/pandas/util/_decorators.py in wrapper(*args, **kwargs)
309 stacklevel=stacklevel,
310 )
--> 311 return func(*args, **kwargs)
312
313 return wrapper
~/miniconda3/envs/pandas-1.3.5/lib/python3.10/site-packages/pandas/io/parsers/readers.py in read_csv(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, encoding_errors, dialect, error_bad_lines, warn_bad_lines, on_bad_lines, delim_whitespace, low_memory, memory_map, float_precision, storage_options)
584 kwds.update(kwds_defaults)
585
--> 586 return _read(filepath_or_buffer, kwds)
587
588
~/miniconda3/envs/pandas-1.3.5/lib/python3.10/site-packages/pandas/io/parsers/readers.py in _read(filepath_or_buffer, kwds)
480
481 # Create the parser.
--> 482 parser = TextFileReader(filepath_or_buffer, **kwds)
483
484 if chunksize or iterator:
~/miniconda3/envs/pandas-1.3.5/lib/python3.10/site-packages/pandas/io/parsers/readers.py in __init__(self, f, engine, **kwds)
809 self.options["has_index_names"] = kwds["has_index_names"]
810
--> 811 self._engine = self._make_engine(self.engine)
812
813 def close(self):
~/miniconda3/envs/pandas-1.3.5/lib/python3.10/site-packages/pandas/io/parsers/readers.py in _make_engine(self, engine)
1038 )
1039 # error: Too many arguments for "ParserBase"
-> 1040 return mapping[engine](self.f, **self.options) # type: ignore[call-arg]
1041
1042 def _failover_to_python(self):
~/miniconda3/envs/pandas-1.3.5/lib/python3.10/site-packages/pandas/io/parsers/c_parser_wrapper.py in __init__(self, src, **kwds)
49
50 # open handles
---> 51 self._open_handles(src, kwds)
52 assert self.handles is not None
53
~/miniconda3/envs/pandas-1.3.5/lib/python3.10/site-packages/pandas/io/parsers/base_parser.py in _open_handles(self, src, kwds)
220 Let the readers open IOHandles after they are done with their potential raises.
221 """
--> 222 self.handles = get_handle(
223 src,
224 "r",
~/miniconda3/envs/pandas-1.3.5/lib/python3.10/site-packages/pandas/io/common.py in get_handle(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)
607
608 # open URLs
--> 609 ioargs = _get_filepath_or_buffer(
610 path_or_buf,
611 encoding=encoding,
~/miniconda3/envs/pandas-1.3.5/lib/python3.10/site-packages/pandas/io/common.py in _get_filepath_or_buffer(filepath_or_buffer, encoding, compression, mode, storage_options)
394 if not is_file_like(filepath_or_buffer):
395 msg = f"Invalid file path or buffer object type: {type(filepath_or_buffer)}"
--> 396 raise ValueError(msg)
397
398 return IOArgs(
ValueError: Invalid file path or buffer object type: <class 'list'> |
To reproduce the issue
Create a virtual environment with python 3.8.9 (same behaviour in 3.9.1 also). Install pandas using
pip install pandas
. Runpd.read_csv([])
after importing pandas.Expected behaviour
Throw and error and exit gracefully. Currently, the python process is crashing.
Versions
OS: MacOS Big Sur 11.6
Python version 3.9.1
Output of
pip freeze
:Running
pd.show_versions()
throws the following error, probably related to #44980The text was updated successfully, but these errors were encountered: