heavyai / heavydb

HeavyDB (formerly OmniSciDB)
https://heavy.ai
Apache License 2.0
2.93k stars 445 forks source link

[Crash Bug] Create Table With ( special <property> = value ) cause Crash #794

Open qwebug opened 1 year ago

qwebug commented 1 year ago

Describe:

HeavyDB will crash when create tables with special property and values including PARTITIONS=0, SORT_COLUMN=1, VACUUM=1, STORAGE_TYPE=1, after SET EXECUTOR_DEVICE='GPU'.

SQL:

ALTER SESSION SET EXECUTOR_DEVICE='GPU';
CREATE TABLE t0(c0 INT) WITH (PARTITIONS=0);
CREATE TABLE t0(c0 INT) WITH (SORT_COLUMN=1);
CREATE TABLE t0(c0 INT) WITH (VACUUM=1);
CREATE TABLE t0(c0 INT) WITH (STORAGE_TYPE=1);

Result:

2023-08-31T08:20:55.953030 F 1188 17 3 ParserNode.h:2252 Check failed: val
Stack trace:
Parser::CreateTableStmt::executeDryRun
Parser::CreateTableStmt::execute
DdlCommandExecutor::execute
DBHandler::executeDdl
DBHandler::sql_execute_impl
DBHandler::sql_execute_local
DBHandler::sql_execute
HeavyProcessor::process_sql_execute
HeavyProcessor::dispatchCall
TrackingProcessor::process
apache::thrift::server::TConnectedClient::run
apache::thrift::server::TThreadedServer::TConnectedClientRunner::run
apache::thrift::concurrency::Thread::threadMain
void std::__invoke_impl
std::__invoke_result
void std::thread::_Invoker
std::thread::_Invoker
std::thread::_State_impl
clone
/opt/heavyai/scripts/innerstartheavy: line 180:  1188 Aborted                 (core dumped) ./bin/heavydb $MAPD_DATA $RO --port $MAPD_TCP_PORT --http-port $MAPD_HTTP_PORT --calcite-port $MAPD_CALCITE_PORT $CONFIG $VERBOSE $*
Failed to write to log, write storage/log/heavy_web_server.84a687ddbe10.root.log.ALL.20230831-075704.1189: file already closed
startheavy 1177 exited

Environment:

Docker Deployment

https://hub.docker.com/layers/heavyai/heavyai-ee-cuda/latest/images/sha256-5af3ad3a00cbc5ce09c299b8b81cda96521a27373dbb1e59209c02358cfd9b1f?context=explore

Docker DIGEST: sha256:5af3ad3a00cbc5ce09c299b8b81cda96521a27373dbb1e59209c02358cfd9b1f

HeavyDB Version: 7.1.0-20230821-eae9ec17da

HeavyDB license: Free Edition

cdessanti commented 12 months ago

Hello @qwebug,

I apologize for the delayed response, and I want to express my gratitude for bringing this issue to our attention. The system is exiting because a check is performed on those parameters, and a numeric value is not expected, resulting in an abort.

I will proceed to open an issue with the engineering team to investigate and rectify this problem.

Thank you once again for your diligence.

Best regards, Candido.

qwebug commented 3 months ago

This problem came up at HeavyDB Version: 7.1.0-20230821-eae9ec17da (Docker: https://hub.docker.com/layers/heavyai/heavyai-ee-cuda/v7.1.0/images/sha256-5af3ad3a00cbc5ce09c299b8b81cda96521a27373dbb1e59209c02358cfd9b1f?context=explore ) . And it has been fixed at HeavyDB Version: 7.2.6 (Docker: https://hub.docker.com/layers/heavyai/heavyai-ee-cuda/v7.2.6/images/sha256-d67d20fc9cf50437169cecce8a0180200418ba732ce25f2a05094eac776560be?context=explore), after my verification. Thanks to the developers for their contributions.