Hi all,
I'm having 2 troubles regarding calling Data Model paths.
- I'm running my demon program on RDK OS, armv7 Broadcom based (Vantiva CGA437 box).
When calling dmcli I always get 102 error: "Ccsp msg bus internal error 102".
BUT, when I've compiled a small 'main' program with the same code, it works perfectly fine.
Here's the code:
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <unistd.h>
#include <errno.h>
#include <rbus.h>
int main(int argc, char *argv[])
{
int ret = -1;
FILE *pipe = NULL;
char buffer[256] = {0};
char cmd[] = "dmcli eRT getv Device.DeviceInfo.SerialNumber";
pipe = popen(cmd, "r");
if(NULL == pipe) {
printf("Pipe is NULL. popen() failed. Error: %d\n", errno);
return ret;
}
while (NULL != fgets(buffer, sizeof(buffer), pipe)) {
printf("buffer: %s\n", buffer);
}
pclose(pipe);
return ret;
}
Also running "dmcli eRT getv Device.DeviceInfo.SerialNumber" through shell command or through system() will fail.
I've no clue about the implementation of dmcli, so I'm here for some help.
Should I call the dmcli in different manner? Is there something my demon does not correctly? - I have another problem trying to use librbus.
When I try to rbus_open(), the program immediately inflates in its VSZ by 18MB. That's way too much.
Here's the program:
#define _GNU_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <unistd.h>
#include <rbus.h>
rbusHandle_t handle;
int main(int argc, char *argv[])
{
rbus_open(&handle, "mytest");
while (true) {
sleep(100);
}
}
The VSZ here 22100KB. Once I remove the rbus_open() it'll be 4684KB.
Please advice, is there any compilation that should be different? Some flags?
2 Comments
Unknown User (deepika.b)
Hi Unknown User (artiuma)
Unknown User (artiuma)
Hi Unknown User (deepika.b)
And here is how I compile it
You can replace the paths with your toolchain and examine the exe in runtime.
I've tried to valgrind it but I have no symbols for the libraries that being used (rbus and all underlying libs).
Thanks a lot for the help!