You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following the tutorial-v3 canonical architecture — a type: core module (Part 1) + a QML UI (Part 2) — leads to a hard runtime crash as soon as the core module tries to consume delivery_module. The tutorial presents core+QML as the default and frames the ui_qml-with-C++-backend (Part 3) as the heavier/optional path, but for anything that consumes delivery_module the ui_qml C++ backend is the only working path. This isn't documented anywhere except an open issue, so it's a day-one trap for downstream devs.
What happens
In the core plugin's initLogos, constructing the generated typed SDK crashes before any of my own calls run:
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_M_create
#0 std::__cxx11::basic_string<...>::_M_construct<char*>
#1 LogosAPI::getClient(QString const&, LogosTransportConfig const&)
#2 CoreManager::CoreManager(LogosAPI*) // the LogosModules ctor
Independent of timing (deferring the construction past load doesn't help), delivery_module tag (v0.1.1 and v0.1.2 both crash), logos-module-builder rev, or SDK pin. The same binary runs fine on an older Basecamp build and under logoscore; it crashes on the current pre-release AppImage.
explicitly call out — in the Part 1/Part 2 "core + QML UI" sections — that consuming delivery_module (and, per #150, likely any third-party-plugin → other-module IPC) must currently be done from a ui_qml C++ backend, pointing readers to logos-delivery-demo and feat: update tutorial to guide user to write mcp server tests #31/#150.
Hit while building a real module (decentralized audio broadcast + Waku/LogosMessaging discovery). Happy to share the repro repo if useful.
Summary
Following the tutorial-v3 canonical architecture — a
type: coremodule (Part 1) + a QML UI (Part 2) — leads to a hard runtime crash as soon as the core module tries to consumedelivery_module. The tutorial presents core+QML as the default and frames theui_qml-with-C++-backend (Part 3) as the heavier/optional path, but for anything that consumesdelivery_modulethe ui_qml C++ backend is the only working path. This isn't documented anywhere except an open issue, so it's a day-one trap for downstream devs.What happens
In the core plugin's
initLogos, constructing the generated typed SDK crashes before any of my own calls run:Independent of timing (deferring the construction past load doesn't help), delivery_module tag (
v0.1.1andv0.1.2both crash),logos-module-builderrev, or SDK pin. The same binary runs fine on an older Basecamp build and underlogoscore; it crashes on the current pre-release AppImage.Root cause (already tracked upstream)
LogosAPI::getClient" (identical stack). Maintainer: "we'll check the story of 'core' module using delivery. This must work."logos-delivery-demoworks precisely because it's aui_qmlmodule with a C++ backend (runs inui-host, wheregetClientworks), not a core module.Ask
tutorial-v3 should either:
delivery_module(and, per #150, likely any third-party-plugin → other-module IPC) must currently be done from aui_qmlC++ backend, pointing readers tologos-delivery-demoand feat: update tutorial to guide user to write mcp server tests #31/#150.Hit while building a real module (decentralized audio broadcast + Waku/LogosMessaging discovery). Happy to share the repro repo if useful.