Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

In under certain conditions Mapserver segfault error geos_ts_c.cpp #7021

Open
oldbay opened this issue Feb 8, 2024 · 2 comments
Open

In under certain conditions Mapserver segfault error geos_ts_c.cpp #7021

oldbay opened this issue Feb 8, 2024 · 2 comments

Comments

@oldbay
Copy link

oldbay commented Feb 8, 2024

Expected behavior and actual behavior.

The combination of spatil geometry, style of class in map and bbox in WMS request - leads to the libgeos segmentation error.

For example:

I expected the following request to work

MAP
    NAME "L35-Buharest"

    SIZE 1280 1024
    MAXSIZE 4096
    UNITS meters
    IMAGETYPE PNG

    EXTENT 23.988324407563 43.9896343648429 30.0085066855375 48.0108676152587

    IMAGECOLOR 255 255 255

    WEB
        METADATA
            wms_srs "EPSG:3857 EPSG:4326"
            wms_enable_request "*"
        END
    END

    PROJECTION
      "init=epsg:4326"
    END


LAYER
     NAME "bad"

     CONNECTIONTYPE ogr
     CONNECTION "geodata_bug.geojson"
     DATA "geodata"
     
     STATUS       ON
     TYPE LINE   
     
CLASS
    STYLE
        COLOR 252 83 252
       OFFSET 12 -999
    END
END  
END


LAYER
     NAME "good"

     CONNECTIONTYPE ogr
     CONNECTION "geodata_bug.geojson"
     DATA "geodata"
     
     STATUS       ON
     TYPE LINE   
     
CLASS
    STYLE
        COLOR 252 83 252
        OFFSET 11 -999
    END
END  
END

END

for data in attach file, for this WMS request(LAYERS=bad):

http://localhost:3007/?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX=3032662.425975159276,5637758.341410524212,3340530.939469947945,5864962.737246668898&CRS=EPSG:3857&WIDTH=1103&HEIGHT=814&LAYERS=bad&FORMAT=image/png

and it returns an error message instead :

geos_ts_c.cpp:3742: int GEOSCoordSeq_getOrdinate_r(GEOSContextHandle_t, const geos::geom::CoordinateSequence*, unsigned int, unsigned int, double*): Assertion `0 != cs' failed.

Вut for this WMS request(LAYERS=good):

http://localhost:3007/?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX=3032662.425975159276,5637758.341410524212,3340530.939469947945,5864962.737246668898&CRS=EPSG:3857&WIDTH=1103&HEIGHT=814&LAYERS=good&FORMAT=image/png

error not returns.

The difference between the layers in variable STYLE OFFSET 12 -999 and 11 -999

Steps to reproduce the problem.

For example:

run web server port from script(in attach file):

python3 mapfile_web.py bug_json.map

and run WMS request:

http://localhost:3007/?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX=3032662.425975159276,5637758.341410524212,3340530.939469947945,5864962.737246668898&CRS=EPSG:3857&WIDTH=1103&HEIGHT=814&LAYERS=bad&FORMAT=image/png

Attach simple

example_web.zip

Operating system

For example: Debian 11 64 bit

MapServer version and installation method

For example: the 7.6.2 version from official repository

@oldbay oldbay changed the title In under certain conditions Mapserver segfault error geos_ts_c.cpp:3742: int GEOSCoordSeq_getOrdinate_r(GEOSContextHandle_t, const geos::geom::CoordinateSequence*, unsigned int, unsigned int, double*): Assertion `0 != cs' failed In under certain conditions Mapserver segfault error geos_ts_c.cpp Feb 8, 2024
@sdlime
Copy link
Member

sdlime commented Feb 8, 2024

Can you test w/supported versions? Either 7.6.5 or 8.0.2.

@oldbay
Copy link
Author

oldbay commented Feb 8, 2024

Can you test w/supported versions? Either 7.6.5 or 8.0.2.

There is a analytic on the replay of this error.

Reproduction conditions of error:

  • mapserver & python3-mapscript v7.6.4, v7.6.5 (manual package), geos v3.5.1 (repository package) - OS linux debian 9
  • mapserver & python3-mapscript v7.6.2 (repository package), geos v3.9.0 (repository package) - OS linux debian 11

The error does not cause segfault in mapserver v7.0.4,(repository package) geos v3.5.1 (repository package) - OS linux debian 9:
error message don't segafoult - all WMS query (rendering passed):
OWSDispatch Error: msGEOSError(): GEOS library error. (message repeated 1 times)

P.S:
v7.6.5 - error reproduction
v8.0.2 - have not yet tried to build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants