Opened 13 years ago
Closed 13 years ago
#1961 closed defect (fixed)
MgServer crashes by previewing a layer from a Raster data connection without CS specified
Reported by: | wuma | Owned by: | wuma |
---|---|---|---|
Priority: | high | Milestone: | 2.4 |
Component: | Server | Version: | 2.1.0 |
Severity: | major | Keywords: | |
Cc: | mars.wu@… | External ID: | 1451912 |
Description
It's reported by Autodesk QA: steps:
- Copy some raster data e.g. ECW, PNG, JPG, tif to linux OS, you can also use attached one.
- Create alias in site administrator.
- In studio, connect to the linux server.
- New data connection, select Raster provider, add the file attached, save the data connection.
Note: test connection is correct.
- Right click the data connection and choose New Layer function.
- CLick Refresh button to preview the layer.
Result: If the connected raster file is in format: ecw, png, jpg, tif, server will crash. If the format is bmp or cal, exception may happen, but server is not down. Haven't tried other formats yet. Preview layers generated through Load Procedure works well for all formats.
Expectation: Preview layers which are based on new connection correctly.
Regression: Y, fine in Reeses, but not sure in Jedi Workaround: Y, load procedure
Attachments (1)
Change History (5)
by , 13 years ago
Attachment: | segmentation_fault_linux.patch added |
---|
comment:1 by , 13 years ago
comment:4 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
Following line is executed in StylizeLayers() function:
layerCs
will beNULL
if there is no CS or CS override specified for the feature source. ThenNULL
pointer exception will happen in above line. On Windows, there is a macroMG_CATCH_AND_RELEASE()
to catch this exception and simply continue the logic.However, on Linux,
NULL
pointer will lead to Segmentation Fault, which cannot be caught bycatch (...)
and will crash the application directly. So the pointer has to be verified before calling any methods of the pointer to avoid Segmentation Fault crash on Linux