Shapely: segmentation fault from LineString.interpolate()

Created on 30 Oct 2018  ·  5Comments  ·  Source: Toblerity/Shapely

@snorfalorpagus, here you go:

Expected behavior and actual behavior.

Should throw a traceback or warning when attempting to interpolate a point along a LINESTRING EMPTY object, but instead crashes the kernel.

Steps to reproduce the problem

  • gist in notebook that results in a dead kernel (and see .png end of issue report)
  • this code chunk (below) results in a segmentation fault:
# python shapely_interpolate_segmentation_fault.py
import faulthandler
faulthandler.enable()
from shapely.geometry import Point, LineString
test_line = LineString(((0,0), (1,1), (2,1)))
print(test_line)
empty_line = test_line.parallel_offset(10., side='right')
print(empty_line)
empty_line.interpolate(.5, normalized=True)
$ python shapely_interpolate_segmentation_fault.py
LINESTRING (0 0, 1 1, 2 1)
LINESTRING EMPTY
Fatal Python error: Segmentation fault

Current thread 0x000000010ce7f5c0 (most recent call first):
  File "/Users/user/miniconda3/envs/py3_at1866/lib/python3.6/site-packages/shapely/linref.py", line 22 in __call__
  File "/Users/user/miniconda3/envs/py3_at1866/lib/python3.6/site-packages/shapely/geometry/base.py", line 777 in interpolate
  File "/Users/user/miniconda3/envs/py3_at1866/lib/python3.6/site-packages/shapely/impl.py", line 37 in wrapper
  File "shapely_interpolate_segmentation_fault.py", line 9 in <module>
Segmentation fault: 11

Operating system

  • Mac OS X 10.14

Shapely version and provenance

  • 1.6b4 installed from conda

dead_kernel

bug

Most helpful comment

All 5 comments

@kannes I think the excepNull decorator is the right thing to use. Do you want to submit a PR?

@snorfalorpagus @kannes I can submit the PR. Would it simply be adding the exceptNull decorator to interpolate?

+ a simple unit test

OK. I will try to get it submitted today.

Sent with GitHawk

Was this page helpful?
0 / 5 - 0 ratings

Related issues

mromanie picture mromanie  ·  3Comments

romainfontaine picture romainfontaine  ·  5Comments

LostFan123 picture LostFan123  ·  5Comments

benediktbrandt picture benediktbrandt  ·  3Comments

pvalsecc picture pvalsecc  ·  4Comments