| Ticket Hash: | bbab46cf4dedd9703960a75429a171753a4339c5 | |||
| Title: | Strange Interaction Between Spatialite and Shapely | |||
| Status: | Closed | Type: | Incident | |
| Severity: | Critical | Priority: | Immediate | |
| Subsystem: | Resolution: | Unable_To_Reproduce | ||
| Last Modified: | 2020-08-02 15:17:39 | |||
| Version Found In: | 4.3.0a-12.fc31 | |||
| User Comments: | ||||
anonymous added on 2020-05-04 23:55:47:
## Expected behavior and actual behavior.
There is a strange interaction between loading spatialite 4.3.0 and shapely 1.7.0. I am not sure where exactly the error is happening so I am reporting the issue in both repositories.
The expected behavior is that one should be able to import shapely after loading spatialite without a segmentation faulth.
The actual behavior is that laoding shapely after loading spatialite produces a segmentation fault.
## Steps to reproduce the problem.
```
from sqlalchemy import create_engine
from sqlalchemy.event import listen
def load_spatialite(api_connection, connection_record):
api_connection.enable_load_extension(True)
api_connection.load_extension('mod_spatialite.so')
engine = create_engine('sqlite://')
listen(engine, 'connect', load_spatialite)
# from shapely import speedups # Remove comment to avoid segmentation fault
engine_connection = engine.connect()
from shapely import speedups
```
Running the above code produces the following segmentation fault:
```
python: ByteOrderValues.cpp:46: static int geos::io::ByteOrderValues::getInt(const unsigned char*, int): Assertion `byteOrder == ENDIAN_LITTLE' failed.
Aborted (core dumped)
```
Removing the comment prevents the segmentation fault.
## Operating system
Fedora 31
anonymous added on 2020-05-04 23:59:55: Here is the corresponding shapely issue: https://github.com/Toblerity/Shapely/issues/904 sandro added on 2020-08-02 15:17:39: as the error message says, there is a bad conflict on the GEOS library. that said, it's more or less like finding a needle in a haystack. my personal experience about Python is practically nothing, and I have no idea what Shapely could be; any kind of debugging is practically impossible. hint: try using a newer version of SpatiaLite (as e.g. the very recent 5.0.0). several things have changed in the meanwhile about the iniatialization of GEOS. | ||||