chdb-io / chdb

chDB is an in-process OLAP SQL Engine 🚀 powered by ClickHouse
https://clickhouse.com/docs/en/chdb
Apache License 2.0
2.03k stars 72 forks source link

Assertion violation: _pInstance == 0 in file "base/poco/Util/src/Application.cpp" #229

Closed agoncear-mwb closed 3 months ago

agoncear-mwb commented 3 months ago

Please make sure that the version you're using is still supported (you can find the list here).

You have to provide the following information whenever possible.

while using chdb, at random times (non deterministic behavior) i get this error in the logs, with the query failing because of this assertion.

A clear and concise description of what works not as it is supposed to.

I expect to not have this issue since i'm always reusing the same connection, and there isn't documentation about creating a new connection each time.

Poco::Exception. Code: 1000, e.code() = 0, Assertion violation: _pInstance == 0 in file \"base/poco/Util/src/Application.cpp\", line 92, Stack trace (when copying this message, always include the lines below):\n\n0. Poco::Exception::Exception(String const&, int) @ 0x000000001b7e2cf9 in /usr/lib/libchdb.so\n1. Poco::AssertionViolationException::AssertionViolationException(String const&, int) @ 0x000000001b7e3b09 in /usr/lib/libchdb.so\n2. Poco::Bugcheck::assertion(char const*, char const*, int, char const*) @ 0x000000001b7d5b56 in /usr/lib/libchdb.so\n3. Poco::Util::Application::setup() @ 0x000000001b6c9ef6 in /usr/lib/libchdb.so\n4. Poco::Util::Application::Application() @ 0x000000001b6c9d9b in /usr/lib/libchdb.so\n5. DB::ClientBase::ClientBase() @ 0x00000000191f81b6 in /usr/lib/libchdb.so\n6. pyEntryClickHouseLocal(int, char**) @ 0x0000000012d0fd60 in /usr/lib/libchdb.so\n7. query_stable_v2 @ 0x0000000012d10377 in /usr/lib/libchdb.so\n8. _cgo_80e001a3e5d3_Cfunc_query_stable_v2 @ 0x00000000027dfe7c in /main\n (version 23.10.1.1)

This is the full exception i get in the logs.

auxten commented 3 months ago

Did you run it in parallel threads? A reproduce script will be really helpful.

agoncear-mwb commented 3 months ago

Actually yes, i'm using the go bindings for libchdb, and the query can run in multiple goroutines.

As i said, i can't provide a reproduce scripts since it doesn't happen all the times, just randomly once in a while.

I guess just a while loop with 2 thread reading and writing to a table could replicate the problem. Let me try to create and i'll paste it here.

agoncear-mwb commented 3 months ago

Thank you! When the fix will be avaiable in the release section? Also i saw the code and it will be interesting to have an exposed interface to configure this settings so we can customize the LocalServer settings without code changes.