neptune-client: BUG: TypeError: stat: path should be string, bytes, os.PathLike or integer, not _io.BytesIO

Describe the bug

When the run starts (catboost + optuna), after the first round of optimization, the below error is shown. No further sync happens after this error.

This error also occurs when I try to sync the run afterwards (neptune sync --object ...).

Unexpected error occurred in Neptune background thread: Killing Neptune asynchronous thread. All data is safe on disk and can be later synced manually using `neptune sync` command.
Exception in thread NeptuneAsyncOpProcessor:
Traceback (most recent call last):
  File "/home/username/miniconda3/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/home/username/miniconda3/lib/python3.8/site-packages/neptune/new/internal/threading/daemon.py", line 53, in run
    self.work()
  File "/home/username/miniconda3/lib/python3.8/site-packages/neptune/new/internal/operation_processors/async_operation_processor.py", line 214, in work
    self.process_batch(batch, version)
  File "/home/username/miniconda3/lib/python3.8/site-packages/neptune/new/internal/threading/daemon.py", line 77, in wrapper
    result = func(self_, *args, **kwargs)
  File "/home/username/miniconda3/lib/python3.8/site-packages/neptune/new/internal/operation_processors/async_operation_processor.py", line 227, in process_batch
    processed_count, errors = self._processor._backend.execute_operations(
  File "/home/username/miniconda3/lib/python3.8/site-packages/neptune/new/internal/backends/hosted_neptune_backend.py", line 481, in execute_operations
    self._execute_upload_operations_with_400_retry(
  File "/home/username/miniconda3/lib/python3.8/site-packages/neptune/new/internal/backends/hosted_neptune_backend.py", line 580, in _execute_upload_operations_with_400_retry
    return self._execute_upload_operations(
  File "/home/username/miniconda3/lib/python3.8/site-packages/neptune/new/internal/backends/hosted_neptune_backend.py", line 546, in _execute_upload_operations
    upload_errors = upload_file_attribute(
  File "/home/username/miniconda3/lib/python3.8/site-packages/neptune/new/internal/backends/hosted_file_operations.py", line 108, in upload_file_attribute
    _multichunk_upload_with_retry(
  File "/home/username/miniconda3/lib/python3.8/site-packages/neptune/new/internal/backends/hosted_file_operations.py", line 319, in _multichunk_upload_with_retry
    return _multichunk_upload(
  File "/home/username/miniconda3/lib/python3.8/site-packages/neptune/new/internal/backends/hosted_file_operations.py", line 369, in _multichunk_upload
    for idx, chunk in enumerate(chunker.generate()):
  File "/home/username/miniconda3/lib/python3.8/site-packages/neptune/internal/storage/datastream.py", line 66, in generate
    last_change = os.stat(self._filename).st_mtime
TypeError: stat: path should be string, bytes, os.PathLike or integer, not _io.BytesIO

Reproduction

It happens for all my recent runs.

Expected behavior

  • No error
  • syncing to the app.neptune.ai

Environment

The output of pip list:

Package                           Version
--------------------------------- -----------
aiohttp                           3.8.1
aiohttp-cors                      0.7.0
aioredis                          1.3.1
aiosignal                         1.2.0
alembic                           1.7.7
altair                            4.2.0
altgraph                          0.17.2
argon2-cffi                       21.3.0
argon2-cffi-bindings              21.2.0
astor                             0.8.1
asttokens                         2.0.5
async-generator                   1.10
async-timeout                     4.0.2
attrs                             21.4.0
autoflake                         1.4
autopage                          0.5.0
autopep8                          1.6.0
backcall                          0.2.0
backports.functools-lru-cache     1.6.4
backports.lzma                    0.0.14
beautifulsoup4                    4.11.1
biopython                         1.79
bleach                            5.0.0
blessings                         1.7
blinker                           1.4
bokeh                             2.4.2
boto3                             1.21.43
botocore                          1.24.43
bravado                           11.0.3
bravado-core                      5.17.0
brotlipy                          0.7.0
cachetools                        5.0.0
catboost                          1.0.5
category-encoders                 2.4.0
certifi                           2021.10.8
cffi                              1.15.0
chardet                           4.0.0
charset-normalizer                2.0.12
ciso8601                          2.2.0
click                             8.1.2
cliff                             3.10.1
cloudpickle                       2.0.0
cmaes                             0.8.2
cmd2                              2.4.0
colorama                          0.4.4
colorful                          0.5.4
colorlog                          6.6.0
colour                            0.1.5
comet-ml                          3.28.2
conda                             4.12.0
conda-pack                        0.7.0
conda-package-handling            1.8.1
configobj                         5.0.6
contextlib2                       21.6.0
cryptography                      36.0.2
csb                               1.2.5
cycler                            0.11.0
cytoolz                           0.11.2
dask                              2022.4.1
dataclasses                       0.8
debugpy                           1.6.0
decorator                         5.1.1
defusedxml                        0.7.1
Deprecated                        1.2.13
distributed                       2022.4.1
dtreeviz                          1.3.5
dulwich                           0.20.35
emcee                             3.1.1
entrypoints                       0.4
everett                           3.0.0
executing                         0.8.3
fastjsonschema                    2.15.3
filelock                          3.6.0
fitparse                          1.2.0
Flask                             2.0.3
flit_core                         3.7.1
fonttools                         4.32.0
frozenlist                        1.3.0
fsspec                            2022.3.0
future                            0.18.2
garmin-ical-export                1.0.4
gitdb                             4.0.9
GitPython                         3.1.27
google-api-core                   2.5.0
google-auth                       2.6.5
googleapis-common-protos          1.56.0
gplearn                           0.4.1
gpustat                           0.6.0
graphviz                          0.20
greenlet                          1.1.2
GridDataFormats                   0.7.0
grpcio                            1.45.0
h5py                              3.6.0
HeapDict                          1.0.1
hiredis                           2.0.0
hyperopt                          0.2.7
idna                              3.3
imbalanced-learn                  0.9.0
importlib-metadata                4.11.3
importlib-resources               5.7.1
iniconfig                         1.1.1
ipykernel                         6.13.0
ipython                           8.2.0
ipython-genutils                  0.2.0
ipywidgets                        7.7.0
iso3166                           2.0.2
itsdangerous                      2.1.0
jedi                              0.18.1
Jinja2                            3.1.1
jmespath                          1.0.0
joblib                            1.1.0
json-tricks                       3.15.5
jsonref                           0.2
jsonschema                        4.4.0
jupyter                           1.0.0
jupyter-client                    7.2.2
jupyter-console                   6.4.3
jupyter-contrib-core              0.3.3
jupyter-contrib-nbextensions      0.5.1
jupyter-core                      4.9.2
jupyter-highlight-selected-word   0.2.0
jupyter-latex-envs                1.4.6
jupyter-nbextensions-configurator 0.4.1
jupyterlab-pygments               0.2.2
kaleido                           0.2.1
keras                             2.8.0
kiwisolver                        1.4.2
libmambapy                        0.22.1
lightgbm                          3.3.2
llvmlite                          0.36.0
locket                            0.2.0
lux-api                           0.5.1
lux-widget                        0.1.11
lxml                              4.8.0
lz4                               4.0.0
macholib                          1.15.2
Mako                              1.2.0
mamba                             0.22.1
Markdown                          3.3.6
MarkupSafe                        2.1.1
matplotlib                        3.5.1
matplotlib-inline                 0.1.3
mistune                           0.8.4
mljar-supervised                  0.11.2
modin                             0.13.2
MolVS                             0.1.1
monotonic                         1.5
mpi4py                            3.1.3
mrcfile                           1.3.0
msgpack                           1.0.3
multidict                         6.0.2
munkres                           1.1.4
mypy-extensions                   0.4.3
nb-conda                          2.2.1
nb-conda-kernels                  2.3.1
nbclient                          0.6.0
nbconvert                         6.5.0
nbformat                          5.3.0
neptune-client                    0.16.1
neptune-optuna                    0.9.13
nest-asyncio                      1.5.5
networkx                          2.7
nni                               2.6.1
notebook                          6.4.11
numba                             0.53.1
numpy                             1.22.3
nvidia-ml-py3                     7.352.0
oauthlib                          3.2.0
olefile                           0.46
opencensus                        0.8.0
opencensus-context                0.1.2
optuna                            2.10.0
packaging                         21.3
paho-mqtt                         1.6.1
pandas                            1.4.0
pandocfilters                     1.5.0
parso                             0.8.3
partd                             1.2.0
pathlib2                          2.3.7.post1
patsy                             0.5.2
pbr                               5.8.1
pexpect                           4.8.0
pickleshare                       0.7.5
Pillow                            9.1.0
pip                               22.0.4
plotly                            5.7.0
pluggy                            1.0.0
Pmw                               2.0.1
prettytable                       3.2.0
prometheus-client                 0.14.1
prompt-toolkit                    3.0.29
protobuf                          3.19.4
psutil                            5.9.0
ptyprocess                        0.7.0
pure-eval                         0.2.2
py                                1.11.0
py4j                              0.10.9.3
pyaml                             21.10.1
pyarrow                           6.0.1
pyasn1                            0.4.8
pyasn1-modules                    0.2.7
pycairo                           1.21.0
pycodestyle                       2.8.0
pycosat                           0.6.3
pycparser                         2.21
pycryptodome                      3.14.1
pyflakes                          2.4.0
Pygments                          2.11.2
pyinstaller                       4.9
pyinstaller-hooks-contrib         2022.2
PyJWT                             2.3.0
pymongo                           4.0.1
pyOpenSSL                         22.0.0
pyparsing                         3.0.8
pyperclip                         1.8.2
PyPrind                           2.11.3
Pypubsub                          4.0.3
PyQt5                             5.15.6
PyQt5-Qt5                         5.15.2
PyQt5-sip                         12.9.1
PyQtChart                         5.15.5
PyQtChart-Qt5                     5.15.2
PyQtWebEngine                     5.15.5
PyQtWebEngine-Qt5                 5.15.2
pyrsistent                        0.18.1
pyserial                          3.5
PySocks                           1.7.1
pytest                            7.1.1
python-dateutil                   2.8.2
PythonWebHDFS                     0.2.3
pytz                              2022.1
pyu2f                             0.1.5
PyYAML                            6.0
pyzmq                             22.3.0
qed                               1.0.1
qtconsole                         5.3.0
QtPy                              2.0.1
ray                               1.10.0
redis                             4.2.2
reportlab                         3.6.7
requests                          2.27.1
requests-oauthlib                 1.3.1
requests-toolbelt                 0.9.1
responses                         0.18.0
rsa                               4.8
ruamel-yaml-conda                 0.15.80
s3transfer                        0.5.2
schema                            0.7.5
schwimmbad                        0.3.2
scikit-learn                      1.0.2
scikit-optimize                   0.9.0
scikit-plot                       0.3.7
scipy                             1.8.0
seaborn                           0.11.2
semantic-version                  2.9.0
Send2Trash                        1.8.0
service-identity                  21.1.0
setproctitle                      1.2.2
setuptools                        62.1.0
sh                                1.13.1
shap                              0.40.0
simplejson                        3.17.6
six                               1.16.0
slicer                            0.0.7
smart-open                        5.2.1
smilite                           2.3.0
smmap                             3.0.5
smogn                             0.1.2
sortedcontainers                  2.4.0
soupsieve                         2.3.1
SQLAlchemy                        1.4.35
stack-data                        0.2.0
statsmodels                       0.13.2
stevedore                         3.5.0
swagger-spec-validator            2.7.4
tabulate                          0.8.9
tblib                             1.7.0
tenacity                          8.0.1
terminado                         0.13.3
testpath                          0.6.0
threadpoolctl                     3.1.0
tinycss2                          1.1.1
toml                              0.10.2
tomli                             2.0.1
toolz                             0.11.2
torch                             1.10.2
torchvision                       0.11.3
tornado                           6.1
tqdm                              4.64.0
traitlets                         5.1.1
typeguard                         2.13.3
typing_extensions                 4.2.0
unicodedata2                      14.0.0
UpSetPlot                         0.6.0
urllib3                           1.26.9
vobject                           0.9.6.1
wcwidth                           0.2.5
webencodings                      0.5.1
websocket-client                  1.3.2
websockets                        10.2
Werkzeug                          2.1.1
wheel                             0.37.1
widgetsnbextension                3.6.0
wordcloud                         1.8.1
wrapt                             1.14.0
wurlitzer                         3.0.2
wxPython                          4.1.1
xgboost                           1.5.2
yapf                              0.32.0
yarl                              1.7.2
zict                              2.1.0
zipp                              3.8.0

The operating system you’re using: Ubuntu 20.04.4 LTS The output of python --version: Python 3.8.13

Further info

This error doesn’t occur with the same script and data, the same neptune-client and neptune-optuna versions but run on another system (ICM topola, Linux hpc 3.10.0-1160.59.1.el7.x86_64 #1 SMP Wed Feb 23 16:47:03 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux and Python 3.9.12).

pip list (here everything works fine):

Package                       Version
----------------------------- ---------
aiohttp                       3.8.1
aiohttp-cors                  0.7.0
aioredis                      1.3.1
aiosignal                     1.2.0
alembic                       1.7.7
async-timeout                 4.0.2
attrs                         21.4.0
autopage                      0.5.0
backports.functools-lru-cache 1.6.4
blessings                     1.7
blinker                       1.4
bokeh                         2.4.2
boto3                         1.21.44
botocore                      1.24.44
bravado                       11.0.3
bravado-core                  5.17.0
brotlipy                      0.7.0
cachetools                    5.0.0
catboost                      1.0.5
category-encoders             2.4.0
certifi                       2021.10.8
cffi                          1.15.0
charset-normalizer            2.0.12
click                         8.1.2
cliff                         3.10.1
cloudpickle                   2.0.0
cmaes                         0.8.2
cmd2                          2.4.0
colorama                      0.4.4
colorful                      0.5.4
colorlog                      6.6.0
colour                        0.1.5
comet-ml                      3.28.2
conda                         4.12.0
conda-package-handling        1.8.1
configobj                     5.0.6
cryptography                  36.0.2
cycler                        0.11.0
cytoolz                       0.11.2
dask                          2022.4.1
dataclasses                   0.8
Deprecated                    1.2.13
dill                          0.3.4
distributed                   2022.4.1
dtreeviz                      1.3.5
dulwich                       0.20.35
everett                       3.0.0
filelock                      3.6.0
fonttools                     4.32.0
frozenlist                    1.3.0
fsspec                        2022.3.0
future                        0.18.2
gitdb                         4.0.9
GitPython                     3.1.27
google-api-core               2.5.0
google-auth                   2.6.5
googleapis-common-protos      1.56.0
gpustat                       0.6.0
graphviz                      0.20
greenlet                      1.1.2
grpcio                        1.45.0
HeapDict                      1.0.1
hiredis                       2.0.0
idna                          3.3
importlib-metadata            4.11.3
importlib-resources           5.7.1
iniconfig                     1.1.1
Jinja2                        3.1.1
jmespath                      1.0.0
joblib                        1.1.0
jsonref                       0.2
jsonschema                    4.4.0
kaleido                       0.2.1
kiwisolver                    1.4.2
libmambapy                    0.22.1
lightgbm                      3.3.2
llvmlite                      0.38.0
locket                        0.2.0
lz4                           4.0.0
Mako                          1.2.0
mamba                         0.22.1
Markdown                      3.3.6
MarkupSafe                    2.1.1
matplotlib                    3.5.1
mljar-supervised              0.11.2
modin                         0.13.2
monotonic                     1.5
msgpack                       1.0.3
multidict                     6.0.2
munkres                       1.1.4
neptune-client                0.16.1
neptune-optuna                0.9.13
numba                         0.53.1
numpy                         1.22.3
nvidia-ml-py3                 7.352.0
oauthlib                      3.2.0
opencensus                    0.9.0
opencensus-context            0.1.2
optuna                        2.10.0
packaging                     21.3
pandarallel                   1.5.5
pandas                        1.4.0
partd                         1.2.0
patsy                         0.5.2
pbr                           5.8.1
Pillow                        9.1.0
pip                           22.0.4
plotly                        5.7.0
pluggy                        1.0.0
prettytable                   3.2.0
prometheus-client             0.14.1
protobuf                      3.19.4
psutil                        5.9.0
py                            1.11.0
pyarrow                       7.0.0
pyasn1                        0.4.8
pyasn1-modules                0.2.7
pycosat                       0.6.3
pycparser                     2.21
PyJWT                         2.3.0
pyOpenSSL                     22.0.0
pyparsing                     3.0.8
pyperclip                     1.8.2
pyrsistent                    0.18.1
PySocks                       1.7.1
pytest                        7.1.1
python-dateutil               2.8.2
pytz                          2022.1
pyu2f                         0.1.5
PyYAML                        6.0
ray                           1.10.0
redis                         4.2.2
requests                      2.27.1
requests-oauthlib             1.3.1
requests-toolbelt             0.9.1
rsa                           4.8
ruamel-yaml-conda             0.15.80
s3transfer                    0.5.2
scikit-learn                  1.0.2
scikit-plot                   0.3.7
scipy                         1.8.0
seaborn                       0.11.2
semantic-version              2.9.0
setproctitle                  1.2.2
setuptools                    62.1.0
shap                          0.40.0
simplejson                    3.17.6
six                           1.16.0
slicer                        0.0.7
smart-open                    5.2.1
smmap                         3.0.5
sortedcontainers              2.4.0
SQLAlchemy                    1.4.35
statsmodels                   0.13.2
stevedore                     3.5.0
swagger-spec-validator        2.7.4
tabulate                      0.8.9
tblib                         1.7.0
tenacity                      8.0.1
threadpoolctl                 3.1.0
tomli                         2.0.1
toolz                         0.11.2
tornado                       6.1
tqdm                          4.64.0
typing_extensions             4.2.0
unicodedata2                  14.0.0
urllib3                       1.26.9
wcwidth                       0.2.5
websocket-client              1.3.2
wheel                         0.37.1
wordcloud                     1.8.1
wrapt                         1.14.0
wurlitzer                     3.0.2
xgboost                       1.5.2
yarl                          1.7.2
zict                          2.1.0
zipp                          3.8.0

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 25 (16 by maintainers)

Most upvoted comments

Hi Guys!

I just heard from the devs that the fix is on production and your issue should disappear now! 🎉 All you need to do is to update to the latest version of the neptune-client v0.16.4

pip install -U neptune-client

Please check if it works on your side and let me know if it does or not,

Looking forward to hearing from you!

Most welcome @mocklee!

I’m glad it’s working,

I have passed your feedback about supporting larger files from streams as a feature request to the product team and they will take it from there.

I am not sure of the size threshold before it fails with TypeError.

Currently, the limit is 32MB. But I noticed that for streams without the extension mentioned the error message is not very clear (TypeError), I have let the devs know about this issue with the error message and they will work on it.

For now, just make sure you check the size of the stream before logging and if it’s too big and you still want to log it you can alternatively upload it as a file after writing it to disk.

run["csv_file"].upload("./metadata.csv")

Docs: https://docs.neptune.ai/you-should-know/what-can-you-log-and-display#files