ClickHouse / ClickHouse/clickhouse-odbc
new driver crash on SQLCancel
- Dominant language
- C
- Stars
- 285
- Forks
- 105
- Avg merge
- 3h 56m
- Merged PRs (30d)
- 3
Description
tail(timestamp): Fri May 14 2021 17:43:07 GMT+0000 (Coordinated Universal Time)
tail(_missing_symbol): 1
tail(_tx): 74fc4
tail(callstack):
[0] /usr/lib64/libclickhouseodbc.so + 0xd8c0b
[1] /usr/lib64/libclickhouseodbc.so + 0xe50c3
[2] /usr/lib64/libclickhouseodbc.so + 0x11b324
[3] /usr/lib64/libclickhouseodbc.so + 0x123bb0
[4] /opt/mstr/MicroStrategy/lib/libodbc.so + 0xf5ac9
[5] /opt/mstr/MicroStrategy/lib/libodbc.so + 0xaf9ba
[6] /opt/mstr/MicroStrategy/lib/libM8DbOd35.so.11.3.0100.1416!MDb::Odbc35::Odbc::SQLCancel(MDb::Error&, MDb::DATABASE_TYPE, MDb::ODBCDriverVendor, void*, void*, void*, wchar_t const*, wchar_t const*, wchar_t const*) [/var/lib/jenkins/Projects/microstrategy/Tech/Server/Common/Database/Odbc35/PrivateSource/Odbc.cpp : 198 + 0x9]
[7] /opt/mstr/MicroStrategy/lib/libM8DbOd35.so.11.3.0100.1416!MDb::Odbc35::OdbcResult::Cancel() [/var/lib/jenkins/Projects/microstrategy/Tech/Server/Common/Database/Odbc35/PrivateSource/OdbcResult.cpp : 1553 + 0x28]
[8] /opt/mstr/MicroStrategy/lib/libM8DbOd35.so.11.3.0100.1416!_fini + 0x44b0
[9] /opt/mstr/MicroStrategy/lib/libM8DbOd35.so.11.3.0100.1416!_fini + 0x44b0
[10] /opt/mstr/MicroStrategy/lib/libM8DbOd35.so.11.3.0100.1416!_fini + 0x44b0
[11] /opt/mstr/MicroStrategy/lib/libM8DbOd35.so.11.3.0100.1416!MDb::Odbc35::OdbcResult::Cancel() [/var/lib/jenkins/Projects/microstrategy/Tech/Server/Common/Database/Odbc35/PrivateSource/OdbcResult.cpp : 1551 + 0x5]
[12] /opt/mstr/MicroStrategy/lib/libM8Synch4.so.11.3.0100.1416!MSynch::EventImpl::Reset() [/var/lib/jenkins/Projects/microstrategy/Tech/Server/Common/Synch/Synch/PrivateSource/../ProtectedSource/InprocessRecursiveMutex.h : 113 + 0xc]
[13] /opt/mstr/MicroStrategy/lib/libM8PrcCo2.so.11.3.0100.1416!MMultiProcess::MultithreadedExecutor::Run() [/var/lib/jenkins/Projects/microstrategy/Tech/Server/Common/MultiProcess/ProcessCommunicator/PrivateSource/MultithreadedExecutor.cpp : 323 + 0x6]
[14] 0x9dedd0
[15] /opt/mstr/MicroStrategy/lib/libM8Synch4.so.11.3.0100.1416!MSynch::ThreadImpl::ThreadFunction(void*) [/var/lib/jenkins/Projects/microstrategy/Tech/Server/Common/Synch/Synch/PrivateSource/ThreadImpl.cpp : 185 + 0x3]
[16] /usr/lib64/libpthread-2.17.so + 0x7ea5
[17] /usr/lib64/libc-2.17.so + 0xfe8cd
Contributor guide
Research direction
Start with the SQLCancel call and the libclickhouseodbc.so frames in the supplied call stack, especially the transition from OdbcResult::Cancel to the driver. Reproduce the crash through the ClickHouse ODBC driver and determine the failing cancellation path. Done means SQLCancel no longer crashes in the reported integration, with the behavior verified by a regression test if the project has one.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, sql
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100