Had the similar problem after upgrade from 20.12.5.14

```
[ch-01] 2021.02.24 20:31:13.845342 [ 17553 ] <Fatal> BaseDaemon: ########################################
[ch-01] 2021.02.24 20:31:13.845469 [ 17553 ] <Fatal> BaseDaemon: (version 21.2.4.6 (official build), build id: 6E2E926515F53BCF094B3D6BD7E9EB65BC5BCE6B) (from thread 10568) (query_id: b03fb6ff-7fe1-400e-bb55-d71b0c611525) Received signal Segmentation fault (11)
[ch-01] 2021.02.24 20:31:13.845530 [ 17553 ] <Fatal> BaseDaemon: Address: 0x90 Access: read. Address not mapped to object.
[ch-01] 2021.02.24 20:31:13.845583 [ 17553 ] <Fatal> BaseDaemon: Stack trace: 0xf518654 0xf518379 0xf525f05 0xf526640 0xe6ad857 0xf63b0ac 0xf63b879 0xf63b14c 0xf63b879 0xf63b14c 0xf63b839 0xf63ed80 0xf6432b6 0x84f6e4f 0x84fa8e3 0x7f6e6c5c9ea5 0x7f6e6c2f28dd
[ch-01] 2021.02.24 20:31:13.845660 [ 17553 ] <Fatal> BaseDaemon: 2. ? @ 0xf518654 in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.845763 [ 17553 ] <Fatal> BaseDaemon: 3. DB::Connection::receivePacket(std::__1::function<void (Poco::Net::Socket&)>) @ 0xf518379 in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.845821 [ 17553 ] <Fatal> BaseDaemon: 4. DB::MultiplexedConnections::receivePacketUnlocked(std::__1::function<void (Poco::Net::Socket&)>) @ 0xf525f05 in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.845886 [ 17553 ] <Fatal> BaseDaemon: 5. DB::MultiplexedConnections::drain() @ 0xf526640 in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.845969 [ 17553 ] <Fatal> BaseDaemon: 6. DB::RemoteQueryExecutor::finish(std::__1::unique_ptr<DB::RemoteQueryExecutorReadContext, std::__1::default_delete<DB::RemoteQueryExecutorReadContext> >*) @ 0xe6ad857 in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.846067 [ 17553 ] <Fatal> BaseDaemon: 7. DB::PipelineExecutor::tryAddProcessorToStackIfUpdated(DB::ExecutingGraph::Edge&, std::__1::queue<DB::ExecutingGraph::Node*, std::__1::deque<DB::ExecutingGraph::Node*, std::__1::allocator<DB::ExecutingGraph::Node*> > >&, std::__1::queue<DB::ExecutingGraph::Node*, std::__1::deque<DB::ExecutingGraph::Node*, std::__1::allocator<DB::ExecutingGraph::Node*> > >&, unsigned long) @ 0xf63b0ac in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.846135 [ 17553 ] <Fatal> BaseDaemon: 8. DB::PipelineExecutor::prepareProcessor(unsigned long, unsigned long, std::__1::queue<DB::ExecutingGraph::Node*, std::__1::deque<DB::ExecutingGraph::Node*, std::__1::allocator<DB::ExecutingGraph::Node*> > >&, std::__1::queue<DB::ExecutingGraph::Node*, std::__1::deque<DB::ExecutingGraph::Node*, std::__1::allocator<DB::ExecutingGraph::Node*> > >&, std::__1::unique_lock<std::__1::mutex>) @ 0xf63b879 in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.846180 [ 17553 ] <Fatal> BaseDaemon: 9. DB::PipelineExecutor::tryAddProcessorToStackIfUpdated(DB::ExecutingGraph::Edge&, std::__1::queue<DB::ExecutingGraph::Node*, std::__1::deque<DB::ExecutingGraph::Node*, std::__1::allocator<DB::ExecutingGraph::Node*> > >&, std::__1::queue<DB::ExecutingGraph::Node*, std::__1::deque<DB::ExecutingGraph::Node*, std::__1::allocator<DB::ExecutingGraph::Node*> > >&, unsigned long) @ 0xf63b14c in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.846241 [ 17553 ] <Fatal> BaseDaemon: 10. DB::PipelineExecutor::prepareProcessor(unsigned long, unsigned long, std::__1::queue<DB::ExecutingGraph::Node*, std::__1::deque<DB::ExecutingGraph::Node*, std::__1::allocator<DB::ExecutingGraph::Node*> > >&, std::__1::queue<DB::ExecutingGraph::Node*, std::__1::deque<DB::ExecutingGraph::Node*, std::__1::allocator<DB::ExecutingGraph::Node*> > >&, std::__1::unique_lock<std::__1::mutex>) @ 0xf63b879 in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.846308 [ 17553 ] <Fatal> BaseDaemon: 11. DB::PipelineExecutor::tryAddProcessorToStackIfUpdated(DB::ExecutingGraph::Edge&, std::__1::queue<DB::ExecutingGraph::Node*, std::__1::deque<DB::ExecutingGraph::Node*, std::__1::allocator<DB::ExecutingGraph::Node*> > >&, std::__1::queue<DB::ExecutingGraph::Node*, std::__1::deque<DB::ExecutingGraph::Node*, std::__1::allocator<DB::ExecutingGraph::Node*> > >&, unsigned long) @ 0xf63b14c in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.846369 [ 17553 ] <Fatal> BaseDaemon: 12. DB::PipelineExecutor::prepareProcessor(unsigned long, unsigned long, std::__1::queue<DB::ExecutingGraph::Node*, std::__1::deque<DB::ExecutingGraph::Node*, std::__1::allocator<DB::ExecutingGraph::Node*> > >&, std::__1::queue<DB::ExecutingGraph::Node*, std::__1::deque<DB::ExecutingGraph::Node*, std::__1::allocator<DB::ExecutingGraph::Node*> > >&, std::__1::unique_lock<std::__1::mutex>) @ 0xf63b839 in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.846439 [ 17553 ] <Fatal> BaseDaemon: 13. DB::PipelineExecutor::executeStepImpl(unsigned long, unsigned long, std::__1::atomic<bool>*) @ 0xf63ed80 in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.846485 [ 17553 ] <Fatal> BaseDaemon: 14. ? @ 0xf6432b6 in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.846562 [ 17553 ] <Fatal> BaseDaemon: 15. ThreadPoolImpl<std::__1::thread>::worker(std::__1::__list_iterator<std::__1::thread, void*>) @ 0x84f6e4f in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.846622 [ 17553 ] <Fatal> BaseDaemon: 16. ? @ 0x84fa8e3 in /usr/bin/clickhouse
[ch-01] 2021.02.24 20:31:13.846708 [ 17553 ] <Fatal> BaseDaemon: 17. start_thread @ 0x7ea5 in /usr/lib64/libpthread-2.17.so
[ch-01] 2021.02.24 20:31:13.846796 [ 17553 ] <Fatal> BaseDaemon: 18. __clone @ 0xfe8dd in /usr/lib64/libc-2.17.so
[ch-01] 2021.02.24 20:31:14.053143 [ 17553 ] <Fatal> BaseDaemon: Checksum of the binary: 88E22F0584BA91872F2E9BE493E6985B, integrity check passed.
```

_Originally posted by @chyy in https://github.com/ClickHouse/ClickHouse/issues/8997#issuecomment-785538830_
}
namespace boost::program_options
{
    class options_description;
}
namespace DB
{
class IColumn;
/** List of settings: type, name, default value, description, flags
  *
  * This looks rather unconvenient. It is done that way to avoid repeating settings in different places.
  * Note: as an alternative, we could implement settings to be completely dynamic in form of map: String -> Field,
  *  but we are not going to do it, because settings is used everywhere as static struct fields.
  *
  * `flags` can be either 0 or IMPORTANT.
  * A setting is "IMPORTANT" if it affects the results of queries and can't be ignored by older versions.
  */
#define COMMON_SETTINGS(M) \
    M(UInt64, min_compress_block_size, 65536, "The actual size of the block to compress, if the uncompressed data less than max_compress_block_size is no less than this value and no less than the volume of data for one mark.", 0) \
    M(UInt64, max_compress_block_size, 1048576, "The maximum size of blocks of uncompressed data before compressing for writing to a table.", 0) \
    M(UInt64, max_block_size, DEFAULT_BLOCK_SIZE, "Maximum block size for reading", 0) \
    M(UInt64, max_insert_block_size, DEFAULT_INSERT_BLOCK_SIZE, "The maximum block size for insertion, if we control the creation of blocks for insertion.", 0) \
    M(UInt64, min_insert_block_size_rows, DEFAULT_INSERT_BLOCK_SIZE, "Squash blocks passed to INSERT query to specified size in rows, if blocks are not big enough.", 0) \
    M(UInt64, min_insert_block_size_bytes, (DEFAULT_INSERT_BLOCK_SIZE * 256), "Squash blocks passed to INSERT query to specified size in bytes, if blocks are not big enough.", 0) \
    M(UInt64, min_insert_block_size_rows_for_materialized_views, 0, "Like min_insert_block_size_rows, but applied only during pushing to MATERIALIZED VIEW (default: min_insert_block_size_rows)", 0) \
    M(UInt64, min_insert_block_size_bytes_for_materialized_views, 0, "Like min_insert_block_size_bytes, but applied only during pushing to MATERIALIZED VIEW (default: min_insert_block_size_bytes)", 0) \
    M(UInt64, max_joined_block_size_rows, DEFAULT_BLOCK_SIZE, "Maximum block size for JOIN result (if join algorithm supports it). 0 means unlimited.", 0) \
    M(UInt64, max_insert_threads, 0, "The maximum number of threads to execute the INSERT SELECT query. Values 0 or 1 means that INSERT SELECT is not run in parallel. Higher values will lead to higher memory usage. Parallel INSERT SELECT has effect only if the SELECT part is run on parallel, see 'max_threads' setting.", 0) \
    M(UInt64, max_final_threads, 16, "The maximum number of threads to read from table with FINAL.", 0) \