Opened 3 years ago

Last modified 3 years ago

#2377 assigned defect

rasql - segfault with avg_cells and decode() 2D file with multiple bands

Reported by: Bang Pham Huu Owned by: Dimitar Misev
Priority: major Milestone: 10.0
Component: server Version: 9.8
Keywords: Cc: Vlad Merticariu, Peter Baumann
Complexity: Trivial

Description

Use this test file in system test: systemtest/testcases_services/test_all_wcst_import/testdata/wcs_multiple_null_values_9_bands/20170101000000.tif

which has 9 bands

Request: 'select avg_cells(1 + decode(<[0:0] 1c>, "GDAL", "{\"filePaths\":[\"/home/test/rasdaman/systemtest/testcases_services/test_all_wcst_import/testdata/wcs_multiple_null_values_9_bands/20170101000000.tif\"]}"))'... parsing... checking semantics... evaluating... [ERROR] - 2020-10-30 10:40:24,786, server/rasserver_main.cc:117: Interrupted by signal SIGSEGV (Invalid memory access at address 0)... stacktrace:
 [1] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x61ca74]
 [2] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x6027b8]
 [3] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x51cee7]
 [4] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x51f013]
 [5] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x51f2d3]
 [6] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x4af438]
 [7] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x4aff04]
 [8] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x485c9c]
 [9] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x46cc1d]
[10] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x44b400]
[11] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x423e66]
[12] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x758736]
[13] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x7088a6]
[14] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x718374]
[15] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x7217d1]
[16] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x85d31e]
[17] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x85f78b]
[18] /home/rasdaman/rasdaman_community/install/bin/rasserver() [0x85f89c]
[19] /lib64/libstdc++.so.6(+0xb5070) [0x7f03c9e8b070]
[20] /lib64/libpthread.so.0(+0x7dd5) [0x7f03ca2e8dd5]
[21] ??:0 in clone+0x6d [0x7f03c4c4702d]

[ERROR] - 2020-10-30 10:40:24,829, server/rasserver_main.cc:120: Shutting down... rasserver terminated.

Change History (5)

comment:1 by Dimitar Misev, 3 years ago

does this work on any other collection though?

comment:2 by Bang Pham Huu, 3 years ago

It works on file with 1 band, like mr:

rasql -q 'select avg_cells(1 + decode(<[0:0] 1c>, "GDAL", "{\"filePaths\":[\"/home/test/rasdaman/systemtest/testcases_services/test_all_wcst_import/testdata/wcps_mr/mr_1.png\"]}"))' --out string
rasql: rasdaman query tool v1.0, rasdaman 10.0.0.
Opening database RASBASE at 127.0.0.1:7001... ok.
Executing retrieval query... ok.
Query result collection has 1 element(s):
  Result element 1: 41.03

comment:3 by Bang Pham Huu, 3 years ago

Summary: rasql - segfault with decode() 2D file with multiple bandsrasql - segfault with avg_cells and decode() 2D file with multiple bands

The real problem is in avg_cells() not from decode().

Without avg_cells(), it can decode fine from a file with multiple bands:

rasql -q 'select decode(<[0:0] 1c>, "GDAL", "{\"filePaths\":[\"/home/test/rasdaman/systemtest/testcases_services/test_all_wcst_import/testdata/wcs_multiple_null_values_9_bands/20170101000000.tif\"]}")'
rasql: rasdaman query tool v1.0, rasdaman 10.0.0.
Opening database RASBASE at 127.0.0.1:7001... ok.
Executing retrieval query... ok.
rasql done.

comment:4 by Dimitar Misev, 3 years ago

Complexity: MediumTrivial
Priority: majorminor

Could be a good student task.

comment:5 by Bang Pham Huu, 3 years ago

Priority: minormajor

There are more issues similar to this problem and need to be fixed soon for WCPS's decode.

Note: See TracTickets for help on using tickets.