uvicorn error when trying to load a tif
dzanaga opened this issue · comments
I tried to start a server to visualize a COG file:
$ rio viz cogs/italy/map/33TVE_map_cog_expert_v3_italy.tif --server-only
The following errors were found:
- The offset of the main IFD should be < 300. It is 2915552 instead
- The offset of the IFD for overview of index 0 is 4362, whereas it should be greater than the one of the main image, which is at byte 2915552
create temporaty COG
Reading input: cogs/italy/map/33TVE_map_cog_expert_v3_italy.tif
[####################################] 100%
Adding overviews...
Updating dataset tags...
Writing output to: /tmp/tmpx757d6l4.tif
INFO: Started server process [31767]
INFO:uvicorn.error:Started server process [31767]
INFO: Waiting for application startup.
INFO:uvicorn.error:Waiting for application startup.
INFO: Application startup complete.
INFO:uvicorn.error:Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8080 (Press CTRL+C to quit)
INFO:uvicorn.error:Uvicorn running on http://127.0.0.1:8080 (Press CTRL+C to quit)
INFO: 127.0.0.1:45942 - "GET / HTTP/1.1" 404 Not Found
INFO: 127.0.0.1:45942 - "GET /favicon.ico HTTP/1.1" 404 Not Found
INFO: 127.0.0.1:45942 - "GET /favicon.ico HTTP/1.1" 404 Not Found
When I load the page I see:
{"detail":"Not Found"}
I used rio-cogeo
to generate the COGs, strange that it's fixing the overviews...
Anyways, this is the environement I am using:
# packages in environment at /home/dzanaga/miniconda3/envs/eo22:
#
# Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 1_gnu conda-forge
aenum 2.2.5 pyhd3deb0d_0 conda-forge
affine 2.3.0 py_0 conda-forge
argon2-cffi 20.1.0 pypi_0 pypi
astroid 2.4.2 pypi_0 pypi
async-generator 1.10 pypi_0 pypi
attrs 20.3.0 pyhd3deb0d_0 conda-forge
autopep8 1.5.4 pypi_0 pypi
backcall 0.2.0 pypi_0 pypi
bleach 3.2.1 pypi_0 pypi
blinker 1.4 py_1 conda-forge
blosc 1.20.1 h9c3ff4c_0 conda-forge
boost-cpp 1.74.0 h9359b55_0 conda-forge
boto3 1.16.25 pyhd8ed1ab_0 conda-forge
botocore 1.19.31 pyhd8ed1ab_0 conda-forge
braceexpand 0.1.6 pypi_0 pypi
brotli 1.0.9 he1b5a44_3 conda-forge
brotlipy 0.7.0 py37hb5d75c8_1001 conda-forge
brunsli 0.1 h9c3ff4c_0 conda-forge
bzip2 1.0.8 h7f98852_4 conda-forge
c-ares 1.17.1 h36c2ea0_0 conda-forge
ca-certificates 2020.12.5 ha878542_0 conda-forge
cached-property 1.5.2 pypi_0 pypi
cachetools 4.1.1 pypi_0 pypi
cairo 1.16.0 h9f066cc_1006 conda-forge
catboost 0.24.3 py37h89c1867_0 conda-forge
certifi 2020.12.5 py37h89c1867_0 conda-forge
cffi 1.14.4 py37h11fe52a_0 conda-forge
cfitsio 3.470 hb418390_7 conda-forge
cftime 1.3.0 py37ha21ca33_0 conda-forge
chardet 3.0.4 py37he5f6b98_1008 conda-forge
charls 2.1.0 h9c3ff4c_2 conda-forge
click 7.1.2 pyh9f0ad1d_0 conda-forge
click-plugins 1.1.1 py_0 conda-forge
cligj 0.7.1 pyhd8ed1ab_0 conda-forge
cloudpickle 1.6.0 py_0 conda-forge
combo 0.1.1 pypi_0 pypi
cryptography 3.2.1 py37hc72a4ac_0 conda-forge
curl 7.71.1 he644dc0_8 conda-forge
cycler 0.10.0 py_2 conda-forge
cython 0.28 pypi_0 pypi
cytoolz 0.11.0 py37h4abf009_1 conda-forge
dask-core 2.30.0 py_0 conda-forge
dbus 1.13.6 hfdff14a_1 conda-forge
decorator 4.4.2 py_0 conda-forge
defusedxml 0.6.0 pypi_0 pypi
deprecated 1.2.10 pypi_0 pypi
descartes 1.1.0 pypi_0 pypi
docker 4.4.0 pypi_0 pypi
elasticsearch 7.10.0 pypi_0 pypi
entrypoints 0.3 pypi_0 pypi
expat 2.2.9 he1b5a44_2 conda-forge
fastapi 0.62.0 pypi_0 pypi
fiona 1.8.18 py37h527b4ca_0 conda-forge
flake8 3.8.4 pypi_0 pypi
fontconfig 2.13.1 h7e3eb15_1002 conda-forge
freetype 2.10.4 h7ca028e_0 conda-forge
freexl 1.0.5 h516909a_1002 conda-forge
gdal 3.1.4 py37h2b22b9e_0 conda-forge
geographiclib 1.50 pypi_0 pypi
geojson 2.5.0 pypi_0 pypi
geomet 0.2.1.post1 pypi_0 pypi
geopandas 0.8.1 py_0 conda-forge
geopy 2.0.0 pypi_0 pypi
geos 3.8.1 he1b5a44_0 conda-forge
geotiff 1.6.0 h5d11630_3 conda-forge
gettext 0.19.8.1 hf34092f_1004 conda-forge
giflib 5.2.1 h36c2ea0_2 conda-forge
glib 2.66.3 h58526e2_0 conda-forge
google-api-core 1.23.0 pypi_0 pypi
google-api-python-client 1.12.8 pypi_0 pypi
google-auth 1.23.0 pypi_0 pypi
google-auth-httplib2 0.0.4 pypi_0 pypi
googleapis-common-protos 1.52.0 pypi_0 pypi
gst-plugins-base 1.14.5 h0935bb2_2 conda-forge
gstreamer 1.14.5 h36ae1b5_2 conda-forge
h11 0.11.0 pypi_0 pypi
h5netcdf 0.8.1 pypi_0 pypi
h5py 3.1.0 pypi_0 pypi
hdf4 4.2.13 h10796ff_1004 conda-forge
hdf5 1.10.6 nompi_h6a2412b_1112 conda-forge
html2text 2020.1.16 pypi_0 pypi
httplib2 0.18.1 pypi_0 pypi
icu 67.1 he1b5a44_0 conda-forge
idna 2.10 pyh9f0ad1d_0 conda-forge
imagecodecs 2020.5.30 py37hcee9d57_4 conda-forge
imageio 2.9.0 py_0 conda-forge
imbalanced-learn 0.7.0 py_1 conda-forge
importlib-metadata 3.1.1 pypi_0 pypi
importlib-resources 3.3.0 pypi_0 pypi
iniconfig 1.1.1 pypi_0 pypi
ipdb 0.13.4 pypi_0 pypi
ipykernel 5.3.4 pypi_0 pypi
ipympl 0.5.8 pypi_0 pypi
ipython 7.19.0 pypi_0 pypi
ipython-genutils 0.2.0 pypi_0 pypi
ipywidgets 7.5.1 pypi_0 pypi
isort 5.6.4 pypi_0 pypi
jedi 0.17.2 pypi_0 pypi
jinja2 2.11.2 pypi_0 pypi
jmespath 0.10.0 pyh9f0ad1d_0 conda-forge
joblib 0.17.0 py_0 conda-forge
jpeg 9d h36c2ea0_0 conda-forge
json-c 0.13.1 hbfbb72e_1002 conda-forge
jsonschema 3.2.0 pypi_0 pypi
jupyter-client 6.1.7 pypi_0 pypi
jupyter-core 4.7.0 pypi_0 pypi
jupyterlab-pygments 0.1.2 pypi_0 pypi
jxrlib 1.1 h7f98852_2 conda-forge
kafka-python 2.0.2 pypi_0 pypi
kealib 1.4.14 h0042707_0 conda-forge
kiwisolver 1.3.1 py37hc928c03_0 conda-forge
krb5 1.17.2 h926e7f8_0 conda-forge
lazy-object-proxy 1.4.3 pypi_0 pypi
lcms2 2.11 hcbb858e_1 conda-forge
ld_impl_linux-64 2.35.1 hed1e6ac_0 conda-forge
lerc 2.2 h9c3ff4c_0 conda-forge
libaec 1.0.4 h9c3ff4c_1 conda-forge
libblas 3.9.0 3_openblas conda-forge
libcblas 3.9.0 3_openblas conda-forge
libclang 10.0.1 default_hde54327_1 conda-forge
libcurl 7.71.1 hcdd3856_8 conda-forge
libdap4 3.20.6 h1d1bd15_1 conda-forge
libedit 3.1.20191231 he28a2e2_2 conda-forge
libev 4.33 h516909a_1 conda-forge
libevent 2.1.10 hcdb4288_3 conda-forge
libffi 3.2.1 he1b5a44_1007 conda-forge
libgcc-ng 9.3.0 h5dbcf3e_17 conda-forge
libgdal 3.1.4 h670eac6_0 conda-forge
libgfortran-ng 9.3.0 he4bcb1c_17 conda-forge
libgfortran5 9.3.0 he4bcb1c_17 conda-forge
libglib 2.66.3 hbe7bbb4_0 conda-forge
libgomp 9.3.0 h5dbcf3e_17 conda-forge
libiconv 1.16 h516909a_0 conda-forge
libkml 1.3.0 h74f7ee3_1012 conda-forge
liblapack 3.9.0 3_openblas conda-forge
libllvm10 10.0.1 he513fc3_3 conda-forge
libllvm8 8.0.1 hc9558a2_0 conda-forge
libnetcdf 4.7.4 nompi_hefab0ff_106 conda-forge
libnghttp2 1.41.0 h8cfc5f6_2 conda-forge
libopenblas 0.3.12 pthreads_h4812303_1 conda-forge
libpng 1.6.37 h21135ba_2 conda-forge
libpq 12.3 h255efa7_3 conda-forge
libspatialindex 1.9.3 he1b5a44_3 conda-forge
libspatialite 5.0.0 h4dde289_0 conda-forge
libssh2 1.9.0 hab1572f_5 conda-forge
libstdcxx-ng 9.3.0 h2ae2ef3_17 conda-forge
libtiff 4.1.0 h4f3a223_6 conda-forge
libuuid 2.32.1 h7f98852_1000 conda-forge
libwebp-base 1.1.0 h36c2ea0_3 conda-forge
libxcb 1.13 h14c3975_1002 conda-forge
libxkbcommon 0.10.0 he1b5a44_0 conda-forge
libxml2 2.9.10 h68273f3_2 conda-forge
libzopfli 1.0.3 h9c3ff4c_0 conda-forge
llvmlite 0.31.0 py37h5202443_1 conda-forge
loguru 0.5.3 pypi_0 pypi
lz4-c 1.9.2 he1b5a44_3 conda-forge
markupsafe 1.1.1 pypi_0 pypi
matplotlib 3.3.3 py37h89c1867_0 conda-forge
matplotlib-base 3.3.3 py37h4f6019d_0 conda-forge
mccabe 0.6.1 pypi_0 pypi
mercantile 1.1.6 pypi_0 pypi
mistune 0.8.4 pypi_0 pypi
morecantile 2.0.1 pypi_0 pypi
munch 2.5.0 py_0 conda-forge
mysql-common 8.0.21 2 conda-forge
mysql-libs 8.0.21 hf3661c5_2 conda-forge
nbclient 0.5.1 pypi_0 pypi
nbconvert 6.0.7 pypi_0 pypi
nbformat 5.0.8 pypi_0 pypi
ncurses 6.2 h58526e2_4 conda-forge
nest-asyncio 1.4.3 pypi_0 pypi
netcdf4 1.5.4 nompi_py37hcbfd489_103 conda-forge
networkx 2.5 py_0 conda-forge
notebook 6.1.5 pypi_0 pypi
notifiers 1.2.1 pypi_0 pypi
nspr 4.29 he1b5a44_1 conda-forge
nss 3.59 h2c00c37_0 conda-forge
numba 0.48.0 py37hb3f55d8_0 conda-forge
numexpr 2.7.1 pypi_0 pypi
numpy 1.19.4 py37h7e9df27_1 conda-forge
oauth2client 4.1.3 pypi_0 pypi
oauthlib 3.0.1 py_0 conda-forge
olefile 0.46 pyh9f0ad1d_1 conda-forge
openeo 0.4.8 pypi_0 pypi
openjpeg 2.3.1 hf7af979_3 conda-forge
openssl 1.1.1h h516909a_0 conda-forge
packaging 20.7 pypi_0 pypi
pandas 1.1.5 py37hdc94413_0 conda-forge
pandocfilters 1.4.3 pypi_0 pypi
parso 0.7.1 pypi_0 pypi
patsy 0.5.1 py_0 conda-forge
pcre 8.44 he1b5a44_0 conda-forge
pexpect 4.8.0 pypi_0 pypi
pickleshare 0.7.5 pypi_0 pypi
pillow 8.0.1 py37h63a5d19_0 conda-forge
pip 20.3.2 pypi_0 pypi
pixman 0.40.0 h36c2ea0_0 conda-forge
pluggy 0.13.1 pypi_0 pypi
poppler 0.89.0 h4190859_1 conda-forge
poppler-data 0.4.10 0 conda-forge
postgresql 12.3 hc2f5b80_3 conda-forge
proj 7.1.1 h966b41f_3 conda-forge
prometheus-client 0.9.0 pypi_0 pypi
prompt-toolkit 3.0.8 pypi_0 pypi
protobuf 3.14.0 pypi_0 pypi
psutil 5.7.3 pypi_0 pypi
psycopg2-binary 2.8.6 pypi_0 pypi
pthread-stubs 0.4 h36c2ea0_1001 conda-forge
ptyprocess 0.6.0 pypi_0 pypi
py 1.9.0 pypi_0 pypi
py4j 0.10.7 py_1 conda-forge
pyasn1-modules 0.2.8 pypi_0 pypi
pycodestyle 2.6.0 pypi_0 pypi
pycparser 2.20 pyh9f0ad1d_2 conda-forge
pydantic 1.7.3 pypi_0 pypi
pydocstyle 5.1.1 pypi_0 pypi
pydrive 1.3.1 pypi_0 pypi
pyflakes 2.2.0 pypi_0 pypi
pygments 2.7.3 pypi_0 pypi
pyjwt 1.7.1 py_0 conda-forge
pylint 2.6.0 pypi_0 pypi
pyod 0.8.4 pypi_0 pypi
pyopenssl 20.0.0 pyhd8ed1ab_0 conda-forge
pyparsing 2.4.7 pyh9f0ad1d_0 conda-forge
pyproj 2.6.1.post1 py37h6415a23_3 conda-forge
pyqt 5.12.3 py37h8685d9f_4 conda-forge
pyqt5-sip 4.19.18 pypi_0 pypi
pyqtchart 5.12 pypi_0 pypi
pyqtwebengine 5.12.1 pypi_0 pypi
pyrsistent 0.17.3 pypi_0 pypi
pysocks 1.7.1 py37he5f6b98_2 conda-forge
pyspark 2.4.4 py_0 conda-forge
pytest 6.1.2 pypi_0 pypi
python 3.7.8 h8bdb77d_2_cpython conda-forge
python-dateutil 2.8.1 py_0 conda-forge
python-jsonrpc-server 0.4.0 pypi_0 pypi
python-language-server 0.36.1 pypi_0 pypi
python_abi 3.7 1_cp37m conda-forge
pytz 2020.4 pyhd8ed1ab_0 conda-forge
pywavelets 1.1.1 py37h902c9e0_3 conda-forge
pyyaml 5.3.1 py37hb5d75c8_1 conda-forge
pyzmq 20.0.0 pypi_0 pypi
qt 5.12.9 h1f2b2cb_0 conda-forge
rasterio 1.1.8 py37h527b4ca_0 conda-forge
readline 8.0 he28a2e2_2 conda-forge
requests 2.25.0 pyhd3deb0d_0 conda-forge
requests-mock 1.8.0 pypi_0 pypi
requests-oauthlib 1.3.0 pyh9f0ad1d_0 conda-forge
rfc3987 1.3.8 pypi_0 pypi
richdem 0.3.4 pypi_0 pypi
rio-cogeo 2.0.1 pypi_0 pypi
rio-color 1.0.0 pypi_0 pypi
rio-mucho 1.0.0 pypi_0 pypi
rio-tiler 2.0.0rc3 pypi_0 pypi
rio-tiler-mvt 0.0.1.dev1 pypi_0 pypi
rio-viz 0.4.2 pypi_0 pypi
rope 0.18.0 pypi_0 pypi
rsa 4.6 pypi_0 pypi
rtree 0.9.4 py37h0b55af0_2 conda-forge
s3transfer 0.3.2 py37_0 conda-forge
satio 1.0.8.20201210.4 pypi_0 pypi
scikit-image 0.17.2 py37hdc94413_4 conda-forge
scikit-learn 0.23.2 py37hddcf8d6_3 conda-forge
scipy 1.5.3 py37h14a347d_0 conda-forge
seaborn 0.11.0 ha770c72_1 conda-forge
seaborn-base 0.11.0 pyhd8ed1ab_1 conda-forge
send2trash 1.5.0 pypi_0 pypi
sentinelhub 3.1.0 py_0 conda-forge
sentinelsat 0.14 pypi_0 pypi
setuptools 49.6.0 py37he5f6b98_2 conda-forge
shapely 1.7.1 py37hedb1597_1 conda-forge
six 1.15.0 pyh9f0ad1d_0 conda-forge
snappy 1.1.8 he1b5a44_3 conda-forge
snowballstemmer 2.0.0 pypi_0 pypi
snuggs 1.4.7 py_0 conda-forge
sqlalchemy 1.3.20 pypi_0 pypi
sqlite 3.34.0 h74cdb3f_0 conda-forge
starlette 0.13.6 pypi_0 pypi
statsmodels 0.12.1 py37ha21ca33_1 conda-forge
suod 0.0.4 pypi_0 pypi
supermercado 0.2.0 pypi_0 pypi
terminado 0.9.1 pypi_0 pypi
testpath 0.4.4 pypi_0 pypi
threadpoolctl 2.1.0 pyh5ca1d4c_0 conda-forge
tifffile 2020.12.4 pyhd8ed1ab_0 conda-forge
tiledb 2.1.3 h17508cd_0 conda-forge
tk 8.6.10 hed695b0_1 conda-forge
toml 0.10.2 pypi_0 pypi
toolz 0.11.1 py_0 conda-forge
tornado 6.1 py37h4abf009_0 conda-forge
tqdm 4.54.1 pypi_0 pypi
traitlets 5.0.5 pypi_0 pypi
typed-ast 1.4.1 pypi_0 pypi
typing-extensions 3.7.4.3 pypi_0 pypi
tzcode 2020a h516909a_0 conda-forge
ujson 4.0.1 pypi_0 pypi
uritemplate 3.0.1 pypi_0 pypi
urllib3 1.25.11 py_0 conda-forge
utm 0.6.0 pyh9f0ad1d_0 conda-forge
uvicorn 0.13.1 pypi_0 pypi
vtzero 0.0.1b1 pypi_0 pypi
wcwidth 0.2.5 pypi_0 pypi
webencodings 0.5.1 pypi_0 pypi
websocket-client 0.57.0 pypi_0 pypi
wheel 0.36.1 pyhd3deb0d_0 conda-forge
widgetsnbextension 3.5.1 pypi_0 pypi
wrapt 1.12.1 pypi_0 pypi
xarray 0.16.1 py_0 conda-forge
xerces-c 3.2.3 hfe33f54_1 conda-forge
xorg-kbproto 1.0.7 h14c3975_1002 conda-forge
xorg-libice 1.0.10 h516909a_0 conda-forge
xorg-libsm 1.2.3 h84519dc_1000 conda-forge
xorg-libx11 1.6.12 h516909a_0 conda-forge
xorg-libxau 1.0.9 h14c3975_0 conda-forge
xorg-libxdmcp 1.1.3 h516909a_0 conda-forge
xorg-libxext 1.3.4 h516909a_0 conda-forge
xorg-libxrender 0.9.10 h516909a_1002 conda-forge
xorg-renderproto 0.11.1 h14c3975_1002 conda-forge
xorg-xextproto 7.3.0 h14c3975_1002 conda-forge
xorg-xproto 7.0.31 h7f98852_1007 conda-forge
xz 5.2.5 h516909a_1 conda-forge
yaml 0.2.5 h516909a_0 conda-forge
yapf 0.30.0 pypi_0 pypi
zfp 0.5.5 h9c3ff4c_4 conda-forge
zipp 3.4.0 pypi_0 pypi
zlib 1.2.11 h516909a_1010 conda-forge
zstd 1.4.5 h6597ccf_2 conda-forge
Am I doing something wrong?
I also tried with other files, but it didn't work either...
there is no endpoint for /
but you can see the documentation over http://127.0.0.1:8080/docs
! I'll update the Readme and the log. 🙏
sorry @dzanaga I miss understood the issue. I'm not sure why uvicorn is acting weird.
I've updated my uvicorn to match yours and I'm also getting this
INFO: Started server process [44374]
INFO:uvicorn.error:Started server process [44374]
INFO: Waiting for application startup.
INFO:uvicorn.error:Waiting for application startup.
INFO: Application startup complete.
INFO:uvicorn.error:Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8080 (Press CTRL+C to quit)
INFO:uvicorn.error:Uvicorn running on http://127.0.0.1:8080 (Press CTRL+C to quit)
but I'm able to see the docs over http://127.0.0.1:8080/docs
I'm pretty sure there is no error here, just uvicorn logging some stuff using logger.error
instead of info or debug.
checking uvicorn: https://github.com/encode/uvicorn/blob/90dbb6e09bbca488edbc9c50fef63cd3067b7cdc/uvicorn/workers.py#L21
they are using uvicorn.error
as the logger name...
ref: encode/uvicorn#562
ok got it thanks!
indeed if I go to localhost:8080/index.html
I get to the viewer which is what I was expecting! I thought '/' would redirect there automatically
I had this issue somehow when the server is supposed to close down it just hides and that's why you can still access the API even though it should be closed. This helped me find the process it was on and close it down properly. https://superuser.com/a/1566872/1683769
I'm also getting this uvicorn error, only for me I can't get to the doc page either. To test connectivity between browser machine and the rio viz host I ran python built in webserver on the same port and it responds fine, as long as I use http and not https. Python server will complain 8080 is in use if I try both at the same time (verifying that uvicorn is still running and hasn't just died and gone away).
The host is a fresh Ubuntu 20.4 with rasterio and rio-viz installed via pip.
(base) geoadmin@geonix:~/imagery-data$ rio viz test.tif
Viewer started at http://127.0.0.1:8080/index.html
INFO: Started server process [7730]
INFO:uvicorn.error:Started server process [7730]
INFO: Waiting for application startup.
INFO:uvicorn.error:Waiting for application startup.
INFO: Application startup complete.
INFO:uvicorn.error:Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8080 (Press CTRL+C to quit)
INFO:uvicorn.error:Uvicorn running on http://127.0.0.1:8080 (Press CTRL+C to quit)
^CINFO: Shutting down
INFO:uvicorn.error:Shutting down
INFO: Waiting for application shutdown.
INFO:uvicorn.error:Waiting for application shutdown.
INFO: Application shutdown complete.
INFO:uvicorn.error:Application shutdown complete.
INFO: Finished server process [7730]
INFO:uvicorn.error:Finished server process [7730]
(base) geoadmin@geonix:~/imagery-data$ python3 -m http.server 8080
Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...
199.247.217.109 - - [14/Apr/2022 16:32:30] code 404, message File not found
199.247.217.109 - - [14/Apr/2022 16:32:30] "GET /index.html HTTP/1.1" 404 -
199.247.217.109 - - [14/Apr/2022 16:32:31] code 404, message File not found
199.247.217.109 - - [14/Apr/2022 16:32:31] "GET /favicon.ico HTTP/1.1" 404 -
^C
Keyboard interrupt received, exiting.