Note filenames in the backtrace

```
tail -10  clickhouse-server.err.log
5. DB::TCPHandler::receiveHello() @ 0x131f2503 in /usr/lib/debug/.build-id/03/836aa56cfad660466eb42a7973e7053e525ccb.debug
6. DB::TCPHandler::runImpl() @ 0x131ebd82 in /usr/lib/debug/.build-id/03/836aa56cfad660466eb42a7973e7053e525ccb.debug
7. DB::TCPHandler::run() @ 0x13200499 in /usr/lib/debug/.build-id/03/836aa56cfad660466eb42a7973e7053e525ccb.debug
8. Poco::Net::TCPServerConnection::start() @ 0x15e8358f in /usr/lib/debug/.build-id/03/836aa56cfad660466eb42a7973e7053e525ccb.debug
9. Poco::Net::TCPServerDispatcher::run() @ 0x15e85981 in /usr/lib/debug/.build-id/03/836aa56cfad660466eb42a7973e7053e525ccb.debug
10. Poco::PooledThread::run() @ 0x15f9c1c9 in /usr/lib/debug/.build-id/03/836aa56cfad660466eb42a7973e7053e525ccb.debug
11. Poco::ThreadImpl::runnableEntry(void*) @ 0x15f99900 in /usr/lib/debug/.build-id/03/836aa56cfad660466eb42a7973e7053e525ccb.debug
12. start_thread @ 0x9609 in /usr/lib/x86_64-linux-gnu/libpthread-2.31.so
13. __clone @ 0x122293 in /usr/lib/x86_64-linux-gnu/libc-2.31.so
 (version 21.12.1.8761 (official build))

```
Playing with 00974_query_profile.sql I see the same

```
select addressToLine(toUInt64(293109982));

SELECT addressToLine(toUInt64(293109982))

Query id: 7d7353c9-f4f7-4f81-8d96-3e9e2b6defc6

┌─addressToLine(toUInt64(293109982))───────────────────────────────────────┐
│ /usr/lib/debug/.build-id/03/836aa56cfad660466eb42a7973e7053e525ccb.debug │
└──────────────────────────────────────────────────────────────────────────┘


```

Unfortunately, the test does not treat this as failure because condition 'symbol LIKE '%Source%';' is true for some records

It might be that the issue caused by something strange at my box. 
Please, let me know if the issue is reproducible (or not).

#if defined(__ELF__) && !defined(OS_FREEBSD)
#include <Common/SymbolIndex.h>
#include <Common/hex.h>
#include <algorithm>
#include <optional>
#include <cassert>
#include <link.h>
#include <filesystem>
#include <base/sort.h>
/**
ELF object can contain three different places with symbol names and addresses:
1. Symbol table in section headers. It is used for static linking and usually left in executable.
It is not loaded in memory and they are not necessary for program to run.
It does not relate to debug info and present regardless to -g flag.
You can use strip to get rid of this symbol table.
If you have this symbol table in your binary, you can manually read it and get symbol names, even for symbols from anonymous namespaces.
2. Hashes in program headers such as DT_HASH and DT_GNU_HASH.
It is necessary for dynamic object (.so libraries and any dynamically linked executable that depend on .so libraries)
because it is used for dynamic linking that happens in runtime and performed by dynamic loader.
Only exported symbols will be presented in that hash tables. Symbols from anonymous namespaces are not.
This part of executable binary is loaded in memory and accessible via 'dl_iterate_phdr', 'dladdr' and 'backtrace_symbols' functions from libc.
ClickHouse versions prior to 19.13 has used just these symbol names to symbolize stack traces
and stack traces may be incomplete due to lack of symbols with internal linkage.
But because ClickHouse is linked with most of the symbols exported (-rdynamic flag) it can still provide good enough stack traces.
3. DWARF debug info. It contains the most detailed information about symbols and everything else.
It allows to get source file names and line numbers from addresses. Only available if you use -g option for compiler.
It is also used by default for ClickHouse builds, but because of its weight (about two gigabytes)