Discuss with the global DaaS-IoT community.
Quote from Luis Alejandro Herrera Mateo on 9 Ottobre 2025, 18:39Ciao Team,
During recent integration tests of libdaas.a (v0.2.0) on Linux x64 (GCC 12.2.0), I’ve found consistent runtime behavior and a critical memory management issue that needs review before Android wrapping. You can test it yourself cloning the following repository and checking out to the log branch -> https://github.com/luissshm/Attivit-DaaSIot/tree/log
Test setup: Two local nodes (Node A ↔ Node B) communicating in loopback
Observed API Results
——————–Function | Result
——————-|—————————-
doInit() | 0 (OK)
enableDriver() | 0 (OK)
map() | 0 (NodeA→B), 5 (NodeB→A)
getStatus() | linked=0, in_sync=0
push() | 0 (OK)
pull() | 9 (NO_DDO_PRESENT)
doPerform() | 0
doEnd() | Completed, then crashBehavior
- Node A successfully initializes and sends messages (push returns OK).
- Node B consistently fails to retrieve messages (pull returns NO_DDO_PRESENT).
- No synchronization or link establishment is reported (linked=0, in_sync=0).
- Available drivers: _LINK_INET4 and _LINK_BT.
The issue occurs inside Systemx::~Systemx() when releasing an internal Vector<Fact> structure. This suggests either double-free or pointer offset corruption during shutdown.
This memory issue is causing any demo app on Android to crash, please let me know if I can help with this. Also just for letting everybody know that the available driver on Android using the JNI and kotlin is just INET4 (i’m testing it with no so great results). There is no Bluetooth, UART or MQTT drivers which should be available for the android platform to create a functional Android SDK based on libdaas.
I’m looking forward to fix this issue…
Thank you all,
Luis Alejandro Herrera Mateo
Ciao Team,
During recent integration tests of libdaas.a (v0.2.0) on Linux x64 (GCC 12.2.0), I’ve found consistent runtime behavior and a critical memory management issue that needs review before Android wrapping. You can test it yourself cloning the following repository and checking out to the log branch -> https://github.com/luissshm/Attivit-DaaSIot/tree/log
Test setup: Two local nodes (Node A ↔ Node B) communicating in loopback
Observed API Results
——————–
Function | Result
——————-|—————————-
doInit() | 0 (OK)
enableDriver() | 0 (OK)
map() | 0 (NodeA→B), 5 (NodeB→A)
getStatus() | linked=0, in_sync=0
push() | 0 (OK)
pull() | 9 (NO_DDO_PRESENT)
doPerform() | 0
doEnd() | Completed, then crash
Behavior
The issue occurs inside Systemx::~Systemx() when releasing an internal Vector<Fact> structure. This suggests either double-free or pointer offset corruption during shutdown.
This memory issue is causing any demo app on Android to crash, please let me know if I can help with this. Also just for letting everybody know that the available driver on Android using the JNI and kotlin is just INET4 (i’m testing it with no so great results). There is no Bluetooth, UART or MQTT drivers which should be available for the android platform to create a functional Android SDK based on libdaas.
I’m looking forward to fix this issue…
Thank you all,
Luis Alejandro Herrera Mateo