Issues with QEWD starter kit for YottaDB

27 views
Skip to first unread message

LeonardO

unread,
Aug 4, 2025, 12:41:17 AMAug 4
to Enterprise Web Developer Community
I'm following the steps here https://github.com/robtweed/qewd-starter-kit-yottadb without much success. I know the sweet path is through Docker, but I would rather not have a middleman between the OS and QEWD.

Here is what I have done:

1. Prepared a fresh and clean arm64 Debian 12: Linux development 6.1.0-37-cloud-arm64 #1 SMP Debian 6.1.140-1 (2025-05-22) aarch64
2. Installed the latest YottaDB (r2.02). This works fine; all needed ydb environment variables are sourced and they have the correct values.
3. Installed the latest Node.js (v24.5.0)
4. Installed C++ compiler
5. Cloned the repo mentioned above to the ~/qewd folder 
6. Started QEWD up twice, as directed. The first time it went OK, but the second time I got the errors below.

It looks like the workers are expecting YottaDB v1.30 on x86 ?!? What have I missed?

debian@development:~/qewd$ npm start

> qew...@1.0.0 start
> node node_modules/qewd/up/run_native

qewd-client installed
mg-webComponents installed

*** Installation Completed.  QEWD will halt ***
*** Please restart QEWD again using "npm start"

debian@development:~/qewd$ npm start

> qew...@1.0.0 start
> node node_modules/qewd/up/run_native

** loading /home/debian/qewd/configuration/config.json
Checking for onWorkerStarted path: /home/debian/qewd/orchestrator/onWorkerStarted.js
Checking for onWorkerStarted path: /home/debian/qewd/onWorkerStarted.js
** results = {
  "routes": [],
  "config": {
    "managementPassword": "secret",
    "serverName": "QEWD-Up Server",
    "port": 8080,
    "poolSize": 2,
    "poolPrefork": false,
    "idleLimit": "3600000",
    "database": {
      "type": "dbx"
    },
    "webServerRootPath": "/home/debian/qewd/www/",
    "cors": true,
    "bodyParser": false,
    "mode": "production",
    "sessionDocumentName": "qs",
    "qewd_up": true,
    "moduleMap": {
      "qewd-monitor-adminui": "/home/debian/qewd/qewd-apps/qewd-monitor-adminui"
    }
  },
  "cwd": "/home/debian/qewd",
  "startupMode": "normal"
}
config: {
  "managementPassword": "secret",
  "serverName": "QEWD-Up Server",
  "port": 8080,
  "poolSize": 2,
  "poolPrefork": false,
  "idleLimit": "3600000",
  "database": {
    "type": "dbx"
  },
  "webServerRootPath": "/home/debian/qewd/www/",
  "cors": true,
  "bodyParser": false,
  "mode": "production",
  "sessionDocumentName": "qs",
  "qewd_up": true,
  "moduleMap": {
    "qewd-monitor-adminui": "/home/debian/qewd/qewd-apps/qewd-monitor-adminui"
  }
}
routes: []
Double ended queue max length set to 20000
webServerRootPath = /home/debian/qewd/www/
Worker Bootstrap Module file written to node_modules/ewd-qoper8-worker.js
========================================================
ewd-qoper8 is up and running.  Max worker pool size: 2
========================================================
========================================================
QEWD.js is listening on port 8080
========================================================
no available workers
sent qoper8-start message to 53914
process.argv[2] = qewd.worker
workerModule: qewd; worker
{
  database: { type: 'YottaDB', release: 'r1.30', architecture: 'x86' }
}
Session Garbage Collector has started in worker 53914
Mon, 04 Aug 2025 04:01:45 GMT; master process received response from worker 53914: {"type":"workerProcessStarted","ok":53914}
new worker 53914 started and ready so process queue again
Mon, 04 Aug 2025 04:01:45 GMT; worker 53914 received message: {"type":"ewd-register","application":"qewd-monitor-adminui","jwt":false,"socketId":"2EtdCjG-IzgxDDrcAAAA","ipAddress":"::ffff:xxx.xxx.xxx.xxx"}


#
# Fatal error in , line 0
# Check failed: content_capacity <= capacity.
#
#
#
#FailureMessage Object: 0xffffe4bbf060
----- Native stack trace -----

 1: 0x10d5018  [/home/debian/.nvm/versions/node/v24.5.0/bin/node]
 2: 0x2a93c40 V8_Fatal(char const*, ...) [/home/debian/.nvm/versions/node/v24.5.0/bin/node]
 3: 0x189504c v8::internal::String::WriteUtf8(v8::internal::Isolate*, v8::internal::DirectHandle<v8::internal::String>, char*, unsigned long, v8::base::Flags<v8::internal::String::Utf8EncodingFlag, int, int>, unsigned long*) [/home/debian/.nvm/versions/node/v24.5.0/bin/node]
 4: 0x12ecfb0 v8::String::WriteUtf8V2(v8::Isolate*, char*, unsigned long, int, unsigned long*) const [/home/debian/.nvm/versions/node/v24.5.0/bin/node]
 5: 0xffffb819e0d4 dbx_write_char8(v8::Isolate*, v8::Local<v8::String>, char*, int, int) [/home/debian/qewd/node_modules/mg-dbx/build/Release/mg-dbx.node]
 6: 0xffffb81a5e5c dbx_global_reset(v8::FunctionCallbackInfo<v8::Value> const&, v8::Isolate*, tagDBXCON*, tagDBXMETH*, void*, int, short) [/home/debian/qewd/node_modules/mg-dbx/build/Release/mg-dbx.node]
 7: 0xffffb81b8bd4 mglobal::New(v8::FunctionCallbackInfo<v8::Value> const&) [/home/debian/qewd/node_modules/mg-dbx/build/Release/mg-dbx.node]
 8: 0x1332a90  [/home/debian/.nvm/versions/node/v24.5.0/bin/node]
 9: 0x1332d44 v8::internal::Builtin_HandleApiConstruct(int, unsigned long*, v8::internal::Isolate*) [/home/debian/.nvm/versions/node/v24.5.0/bin/node]
10: 0x204d674  [/home/debian/.nvm/versions/node/v24.5.0/bin/node]
%YDB-F-KILLBYSIGSINFO1, YottaDB process 53914 has been killed by a signal 5 at address 0x0000000002A9E0A0 (vaddr 0x0000000002A9E0A0)
*** master received exit event from worker process 53914
^C*** CTRL & C detected: shutting down gracefully...
No worker processes are running
Master process will now shut down
debian@development:~/qewd$

rtweed

unread,
Aug 4, 2025, 5:33:11 AMAug 4
to Enterprise Web Developer Community
By default, QEWD (or rather QEWD-Up) assumes you're using YottaDB 1.3 on x64, and you're going to make connections between the Child Process Node.js environment and YottaDB via the database's API rather than a network connection.

This can all be overridden via the config.json file that you should find in the configurations folder that has been created.

For example, here's a config.json that should work for 2.02 (I've not tested it but hopefully will give you the gist of what's needed)

{
  "qewd": {
    "database": {
      "type": "dbx",
      "params": {
        "database": "YottaDB",
        "release": "2.02",
        "architecture": "arm"
      }
    }
  }
}

One thing you need to check is whether or not you have YottaDB configured to use xinetd for its mg-dbx connections. 

Of course, this is all the kind of "devil in the detail" stuff that the pre-built Docker containers sort out for you automatically.  If you work standalone, I'm afraid you need to become an expert in all this lower-level plumbing.  One suggestion is to take a look at the Dockerfiles I've created to see some of the stuff that I do in there to configure up all the internal plumbing.

Anyway, I hope this helps to get you up and running.

For ongoing technical support options, see the Our Support menu option at https://www.mgateway.com

Rob

Leonard

unread,
Aug 4, 2025, 8:43:20 PMAug 4
to enterprise-web-de...@googlegroups.com
Thank you, Rob! Now that I know where the lid is, I'm curious what's in that can of worms :)

--
You received this message because you are subscribed to the Google Groups "Enterprise Web Developer Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to enterprise-web-develope...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/enterprise-web-developer-community/c218ac93-9748-4b72-957a-9bbbe0d836c7n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages