updated today and now getting this log output
Traceback (most recent call last):
File “/code/run.py”, line 15, in
from opendm.utils import double_quote, get_processing_results_paths
File “/code/opendm/utils.py”, line 3, in
from opendm.photo import find_largest_photo_dim
File “/code/opendm/photo.py”, line 18, in
from opensfm.sensors import sensor_data
File “/code/SuperBuild/install/bin/opensfm/opensfm/sensors.py”, line 4, in
from opensfm import io
File “/code/SuperBuild/install/bin/opensfm/opensfm/io.py”, line 14, in
import rasterio
File “/usr/local/lib/python3.9/dist-packages/rasterio/init.py”, line 22, in
from rasterio._base import gdal_version
File “rasterio/_base.pyx”, line 1, in init rasterio._base
File “rasterio/_shim.pyx”, line 1, in init rasterio._shim
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
1 Like
tried the default setting on a dataset that used to process just fine.
1 Like
I am receiving the same fault. For a relative newbie, how do I back down to the previous version?
1 Like
Sorry for the trouble you both.
Could you please check/fetch latest updates and try again?
Thanks for the reply Saijin,
unfortunately the same result. ran ./webodm.sh update with the below message.
From GitHub - OpenDroneMap/WebODM: User-friendly, commercial-grade software for processing aerial imagery. 🛩
- branch master → FETCH_HEAD
Already up to date.
docker-compose -f docker-compose.yml -f docker-compose.nodeodm.yml pull
Pulling broker … done
Pulling node-odm … done
Pulling db … done
Pulling worker … done
Pulling webapp … done
Done! You can now start WebODM by running ./webodm.sh start
tried running a small 20 image dataset just as test and get the same error.
Traceback (most recent call last):
File “/code/run.py”, line 15, in
from opendm.utils import double_quote, get_processing_results_paths
File “/code/opendm/utils.py”, line 3, in
from opendm.photo import find_largest_photo_dim
File “/code/opendm/photo.py”, line 18, in
from opensfm.sensors import sensor_data
File “/code/SuperBuild/install/bin/opensfm/opensfm/sensors.py”, line 4, in
from opensfm import io
File “/code/SuperBuild/install/bin/opensfm/opensfm/io.py”, line 14, in
import rasterio
File “/usr/local/lib/python3.9/dist-packages/rasterio/init.py”, line 22, in
from rasterio._base import gdal_version
File “rasterio/_base.pyx”, line 1, in init rasterio._base
File “rasterio/_shim.pyx”, line 1, in init rasterio._shim
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
I have completely removed and purged docker on this particular linux machine and reinstalled, then reinstalled ODM. everything seems normal until I process a dataset and get the above error just after the dataset is uploaded to the node.
thanks for the help!
1 Like
Yeah, I’m getting the same result locally. It looks like something broke during a recent update. I would try again in a few hours.
Thanks, Ill give it a shot tomorrow. Cheers and happy new year!
1 Like
It seems updating requirements did not fix it. I removed webodm container and re cloned it, but having same issue. Is there something different that I would need to do?
1 Like
Yep - I too am still having the seme issues.
Any assistance would be gratefully received…
1 Like
The described process looks like it fail, instruction to install previous version while dev team fix this?
1 Like
The problem is the install script is pulling the latest version of numpy I believe. Even if you downgrade the docker container it still pulls the latest numpy
1 Like
I see, there was an update to Numpy Dec 31.
“NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. The Python versions supported by this release are 3.8-3.10”
possible breaking change?
1 Like
Looks like possibly that, or an interaction/edge case with rasterio.
At the moment, I don’t have an easy solution other than manually editing the various docker compose files to pull a specific tagged image instead of the latest image, or possibly to suggest that folks continue wait out a fix that should be coming shortly.
Actually login in to the worker container and listing python modules it reports numpy 1.21.1 (the one defined in the install script); the package did not got updated it seems…
[email protected]:/webodm# pip list
Package Version
acme 1.12.0
affine 2.3.0
amqp 2.5.2
appdirs 1.4.0
APScheduler 3.2.0
attrs 21.2.0
billiard 3.6.3.0
boto3 1.14.14
botocore 1.17.63
celery 4.4.0
certbot 1.12.0
certifi 2020.6.20
chardet 4.0.0
click 8.0.3
click-plugins 1.1.1
cligj 0.7.2
ConfigArgParse 1.2.3
configobj 5.0.6
coreapi 2.0.9
cryptography 3.3.2
distro 1.5.0
Django 2.1.15
django-appconf 1.0.2
django-codemirror2 0.2
django-colorfield 0.1.15
django-compressor 2.2
django-cors-headers 3.0.2
django-filter 2.0.0
django-guardian 1.4.9
django-imagekit 4.0.1
django-libsass 0.7
django-webpack-loader 0.6.0
djangorestframework 3.9.1
djangorestframework-jwt 1.9.0
docutils 0.15.2
drf-nested-routers 0.11.1
funcsigs 1.0.2
futures 3.1.1
GDAL 3.2.2
geojson 2.3.0
gunicorn 19.7.1
idna 2.10
itypes 1.1.0
jmespath 0.10.0
josepy 1.2.0
kombu 4.6.7
libsass 0.19.4
Markdown 3.3.4
morecantile 2.1.4
numexpr 2.8.1
numpy 1.21.1
olefile 0.44
openapi-codec 1.1.7
packaging 16.8
parsedatetime 2.6
piexif 1.0.13
pilkit 2.0
Pillow 8.3.2
pip 21.3.1
pip-autoremove 0.9.0
psycopg2 2.8.6
psycopg2-binary 2.8.6
pydantic 1.8.2
PyJWT 1.5.3
pyodm 1.5.9
pyOpenSSL 20.0.1
pyparsing 2.4.7
pyRFC3339 1.1
pystac 1.2.0
python-dateutil 2.8.2
pytz 2020.1
rasterio 1.2.9
rcssmin 1.0.6
redis 3.2.0
requests 2.25.1
requests-toolbelt 0.9.1
rfc3987 1.3.7
rio-cogeo 2.3.1
rio-color 1.0.4
rio-mucho 1.0.0
rio-tiler 2.1.2
rjsmin 1.0.12
s3transfer 0.3.7
setuptools 52.0.0
simplejson 3.10.0
six 1.11.0
snuggs 1.4.7
strict-rfc3339 0.7
typing_extensions 4.0.1
tzlocal 1.3
uritemplate 3.0.0
urllib3 1.25.11
vine 1.3.0
webcolors 1.5
wheel 0.34.2
zope.component 4.3.0
zope.event 4.4
zope.hookable 5.0.1
zope.interface 5.2.0
[email protected]:/webodm#
1 Like
Heres the fix I came up with
docker exec your_docker_container_idhere python3 -m pip install --upgrade --force-reinstall numpy
3 Likes
@Bryce_Brooks, the proposed temporal fix work using the ID or name of the nodeodm
Thank you.
1 Like
Thanks,
Fixed my problem exactly.
1 Like