Opened 4 years ago
Last modified 4 years ago
#2332 closed defect
rasql - segfault if width is 0 in project() — at Version 1
Reported by: | Bang Pham Huu | Owned by: | ocampos |
---|---|---|---|
Priority: | major | Milestone: | 10.0 |
Component: | rasserver | Version: | 9.8 |
Keywords: | Cc: | Dimitar Misev, Vlad Merticariu, Peter Baumann | |
Complexity: | Easy |
Description (last modified by )
Import the test coverage by wcst_import from the attached file and run this query:
rasql -q 'SELECT ENCODE( project(c0[0:247,0:380], "804850.0,5809400.0,807330.0,5813210.0", "EPSG:32632", "13.4912109375,52.36083984375,13.502197265625,52.371826171875", "EPSG:4326", 0, 0, near, 0.125) , "png") FROM utm32_4_utms_10m_part4_cropped AS c0' --out file
the error
Interrupted by signal SIGSEGV (Invalid memory access at address 0)... stacktrace: [1] ??:? in QtProject::reprojectTile(Tile*, int, r_Primitive_Type*)+0x821 [0x141d951] [2] ??:? in QtProject::evaluateMDD(QtMDD*)+0x3f1 [0x1421501] [3] ??:? in QtProject::compute(std::vector<QtData*, std::allocator<QtData*> >*)+0x39 [0x1421ca9] [4] ??:? in QtOperation::evaluateWithCache(std::vector<QtData*, std::allocator<QtData*> >*)+0x17b [0x1434fdb] [5] ??:? in QtOperation::evaluate(std::vector<QtData*, std::allocator<QtData*> >*)+0x18f [0x142db1f] [6] ??:? in QtConversion::compute(std::vector<QtData*, std::allocator<QtData*> >*)+0x163 [0x1462003] [7] ??:? in QtOperation::evaluateWithCache(std::vector<QtData*, std::allocator<QtData*> >*)+0x17b [0x1434fdb] [8] ??:? in QtOperation::evaluate(std::vector<QtData*, std::allocator<QtData*> >*)+0x18f [0x142db1f] [9] ??:? in QtOperationIterator::next()+0x187 [0x142f207] [10] ??:? in QueryTree::evaluateRetrieval()+0x335 [0x1415ed5] [11] ??:? in ServerComm::executeQuery(unsigned long, char const*, ExecuteQueryRes&, bool, bool)+0x1108 [0x13f4558] [12] ??:? in RasServerEntry::compat_executeQueryRpc(char const*, ExecuteQueryRes&, bool, bool)+0x1b [0x13c299b] [13] ??:? in RasnetServerComm::ExecuteQuery(grpc::ServerContext*, rasnet::service::ExecuteQueryReq const*, rasnet::service::ExecuteQueryRepl*)+0x6d [0x17f75ad] [14] ??:? in std::_Function_handler<grpc::Status (rasnet::service::ClientRassrvrService::Service*, grpc::ServerContext*, rasnet::service::ExecuteQueryReq const*, rasnet::service::ExecuteQueryRepl*), std::_Mem_fn<grpc::Status (rasnet::service::ClientRassrvrService::Service::*)(grpc::ServerContext*, rasnet::service::ExecuteQueryReq const*, rasnet::service::ExecuteQueryRepl*)> >::_M_invoke(std::_Any_data const&, rasnet::service::ClientRassrvrService::Service*, grpc::ServerContext*, rasnet::service::ExecuteQueryReq const*, rasnet::service::ExecuteQueryRepl*)+0x36 [0x1705e76] [15] ??:? in grpc::Status grpc::internal::CatchingFunctionHandler<grpc::internal::RpcMethodHandler<rasnet::service::ClientRassrvrService::Service, rasnet::service::ExecuteQueryReq, rasnet::service::ExecuteQueryRepl>::RunHandler(grpc::internal::MethodHandler::HandlerParameter const&)::{lambda()#1}>(grpc::internal::RpcMethodHandler<rasnet::service::ClientRassrvrService::Service, rasnet::service::ExecuteQueryReq, rasnet::service::ExecuteQueryRepl>::RunHandler(grpc::internal::MethodHandler::HandlerParameter const&)::{lambda()#1}&&)+0x34 [0x171d534] [16] ??:? in grpc::internal::RpcMethodHandler<rasnet::service::ClientRassrvrService::Service, rasnet::service::ExecuteQueryReq, rasnet::service::ExecuteQueryRepl>::RunHandler(grpc::internal::MethodHandler::HandlerParameter const&)+0x4d1 [0x17280b1] [17] ??:? in grpc::Server::SyncRequestThreadManager::DoWork(void*, bool)+0x16e [0x26671ee] [18] ??:? in grpc::ThreadManager::MainWorkLoop()+0x11b [0x266965b] [19] ??:? in grpc::ThreadManager::WorkerThread::Run()+0xc [0x266976c] [20] /lib64/libstdc++.so.6(+0xb5070) [0x7f0debcbd070] [21] /lib64/libpthread.so.0(+0x7dd5) [0x7f0df0648dd5] [22] ??:0 in clone+0x6d [0x7f0dea2f602d] [ERROR] - 2020-07-13 09:29:35,514, Shutting down... rasserver terminated.
The problem was due to width/height are set to 0 by the rasql query with project() document:
0, 0, near, 0.125
It should show this error instead of segfault
Reason: Projection output must have width > 0.
Change History (2)
by , 4 years ago
comment:1 by , 4 years ago
Cc: | added |
---|---|
Complexity: | Medium → Easy |
Component: | undecided → rasserver |
Description: | modified (diff) |
Owner: | set to |
Status: | new → assigned |
Note:
See TracTickets
for help on using tickets.