Opened 9 years ago
Closed 7 years ago
#25961 closed Cleanup/optimization (fixed)
remove handling of thread-non-safe GEOS functions
Reported by: | Sergey Fedoseev | Owned by: | Sergey Fedoseev |
---|---|---|---|
Component: | GIS | Version: | dev |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
All supported GEOS versions provide thread-safe API that means that handling of GEOS functions could be simplified.
Change History (11)
comment:1 by , 9 years ago
Has patch: | set |
---|---|
Owner: | changed from | to
Status: | new → assigned |
comment:2 by , 9 years ago
Triage Stage: | Unreviewed → Accepted |
---|
comment:4 by , 9 years ago
Replying to claudep:
Feel free to go ahead, this is going above my head :-)
Actually changes in my PR are quite trivial (maybe I did too much in a single commit):
GEOSFunc
from django/contrib/gis/geos/prototypes/threadsafe.py is simplified because we know that GEOS always have thread-safe APIGEOSFunc
is merged withGEOSFuncFactory
from django/contrib/gis/geos/libgeos.py- the rest stuff from django/contrib/gis/geos/prototypes/threadsafe.py is moved in django/contrib/gis/geos/libgeos.py
comment:5 by , 9 years ago
Triage Stage: | Accepted → Ready for checkin |
---|
comment:7 by , 9 years ago
Has patch: | unset |
---|---|
Resolution: | fixed |
Severity: | Normal → Release blocker |
Status: | closed → new |
Triage Stage: | Ready for checkin → Accepted |
We've seen occasional segmentation faults in the GIS tests on Jenkins after this commit. apollo13 and knbk have been investigating (IRC discussion and on a pull request which seems to reproduce the segfault more regularly than on master.
comment:8 by , 9 years ago
As this change is cleanup only I think it should be reverted until I or someone else will have a good understanding why it's broken and how to fix it.
comment:9 by , 9 years ago
Severity: | Release blocker → Normal |
---|
The error seems to come from GEOSContextHandle.__del__()
. Will revert for now.
comment:10 by , 9 years ago
In 59ef6559a31c175c1f52668ef0ffe9b8d87aa5a5:
Reverted #25961 -- Removed handling of thread-non-safe GEOS functions.
This reverts commit [312fc1a] as it seems
to cause segmentation faults as described in the ticket.
PR -- https://github.com/django/django/pull/5849