Skip to content

tutorial-v3: a 'core' module that consumes delivery_module crashes — document the ui_qml-backend path (refs delivery#31, basecamp#150) #67

Description

@xAlisher

Summary

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:

void RadioPlugin::initLogos(LogosAPI* api) {
    logosAPI = api;
    m_logos  = new LogosModules(api);   // 💥 std::length_error
}
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.

Root cause (already tracked upstream)

logos-delivery-demo works precisely because it's a ui_qml module with a C++ backend (runs in ui-host, where getClient works), not a core module.

Ask

tutorial-v3 should either:

  1. add a core + delivery_module example once feat: update tutorial to guide user to write mcp server tests #31 is fixed, or
  2. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions