Closed robertobucher closed 1 year ago
ShvSpy is connecting to shvbroker, please can you send shvbroker log and shvspy log as well.
Attached the output on the shell. The log window on the brooker is empty
2023-04-24T17:01:08[clioptions.cpp:387]|I| Checking presence of config file: /home/bucher/sviluppo/GITHUB/pysimCoder/SHV/shvapp/bin/../shvbroker/etc/shv/shvbroker/shvbroker.conf 2023-04-24T17:01:08[clioptions.cpp:389]|I| Reading config file: /home/bucher/sviluppo/GITHUB/pysimCoder/SHV/shvapp/bin/../shvbroker/etc/shv/shvbroker/shvbroker.conf 2023-04-24T17:01:08[main.cpp:77]|I| ====================================================================================== 2023-04-24T17:01:08[main.cpp:78]|I| Starting SHV BROKER server ver: 1.1.8 PID: 17620 2023-04-24T17:01:08[main.cpp:84]|I| 2023-04-24T19:01:08 UTC: 2023-04-24T17:01:08Z 2023-04-24T17:01:08[main.cpp:85]|I| ====================================================================================== 2023-04-24T17:01:08[main.cpp:86]|I| Broker ID: broker.local 2023-04-24T17:01:08[main.cpp:87]|I| Log tresholds: -v rpcmsg:D 2023-04-24T17:01:08[main.cpp:88]|I| Config dir: ../shvbroker/etc/shv/shvbroker 2023-04-24T17:01:08[main.cpp:91]|I| Primary IPv4 address: 192.168.178.109 2023-04-24T17:01:08[main.cpp:92]|I| Primary public IPv4 address: 2023-04-24T17:01:08[main.cpp:93]|I| -------------------------------------------------------------------------------------- 2023-04-24T17:01:08[brokerapp.cpp:286]|I| installing Unix signals handlers 2023-04-24T17:01:08[brokerapp.cpp:301]|I| SIG_TERM handler installed OK 2023-04-24T17:01:08[main.cpp:134]|I| starting main thread event loop 2023-04-24T17:01:08[brokerapp.cpp:365]|I| Reloading config 2023-04-24T17:01:08[aclmanager.cpp:362]|I| Creating ConfigFiles ACL manager 2023-04-24T17:01:08[brokerapp.cpp:390]|I| Starting plain socket server on port 3755 2023-04-24T17:01:08[main.cpp:108]|I| ====================================================================================== 2023-04-24T17:01:08[main.cpp:109]|I| Starting shvspy ver. 1.3.29 PID: 17621 build: Apr 21 2023 08:20:22 2023-04-24T17:01:08[main.cpp:116]|I| 2023-04-24T19:01:08 UTC: 2023-04-24T17:01:08Z 2023-04-24T17:01:08[main.cpp:117]|I| ====================================================================================== 2023-04-24T17:01:08[main.cpp:118]|I| Log tresholds: -v rpcmsg:D 2023-04-24T17:01:08[main.cpp:127]|I| -------------------------------------------------------------------------------------- 2023-04-24T17:01:08[tcpserver.cpp:29]|I| RPC server is listenning on 0.0.0.0:3755 2023-04-24T17:01:08[brokerapp.cpp:405]|I| Starting SSL server on port 37555 2023-04-24T17:01:08[tcpserver.cpp:29]|I| RPC server is listenning on 0.0.0.0:37555 2023-04-24T17:01:09[main.cpp:133]|I| starting main thread event loop 2023-04-24T17:07:20[tcpserver.cpp:53]|I| client connected: 127.0.0.1:55544 @ 3755 2023-04-24T17:07:20[serverconnection.cpp:100]|I| Client hello received from: 127.0.0.1:55544 2023-04-24T17:07:20[serverconnection.cpp:102]|I| sending hello response: 127.0.0.1:55544 2023-04-24T17:07:20[serverconnection.cpp:111]|I| Client login received 2023-04-24T17:07:20[clientconnectiononbroker.cpp:156]|I| connection ID: 1 setting idle watch dog timeout to 360 seconds 2023-04-24T17:07:20[serverconnection.cpp:148]|I| login - user: admin 2023-04-24T17:07:20[serverconnection.cpp:165]|I| Client logged in user: admin from: 127.0.0.1:55544 2023-04-24T17:07:20[brokerapp.cpp:804]|I| Client login connection id: 1 2023-04-24T17:07:20[clientshvnode.cpp:15]|I| Creating client node: 0x55b221b00f10 app connection: 1 2023-04-24T17:07:20[clientshvnode.cpp:15]|I| Creating client node: 0x55b221affb10 connection: 1 2023-04-24T17:07:20[brokerapp.cpp:863]|I| client connection id: 1 device id: "untitled" mounted on: test/untitled 2023-04-24T17:07:25[clientconnection.cpp:141]|I| Default RPC timeout set to: 5000 msec. 2023-04-24T17:07:25[clientconnection.cpp:324]|I| connecting to: tcp://localhost:3755 2023-04-24T17:07:25[clientconnection.cpp:223]|I| Starting check-connected timer, interval: 10 sec. 2023-04-24T17:07:250[clientconnection.cpp;:33702]m17:07:25;3;|I|3 31 Socket connected to RPC serverm[ tcpserver.cpp:53]62023-04-24T17:07:250|I|;3 3client connected: 127.0.0.1:37990 @ 3755m[ clientconnection.cpp:371]|I| peer: 127.0.0.1 port: 3755 2023-04-24T17:07:25[serverconnection.cpp:100]|I| Client hello received from: 127.0.0.1:37990 2023-04-24T17:07:25[serverconnection.cpp:102]|I| sending hello response: 127.0.0.1:37990 2023-04-24T17:07:25[serverconnection.cpp:111]|I| Client login received 2023-04-24T17:07:25[clientconnectiononbroker.cpp:156]|I| connection ID: 2 setting idle watch dog timeout to 180 seconds 2023-04-24T17:07:25[serverconnection.cpp:148]|I| login - user: admin 2023-04-24T17:07:25[serverconnection.cpp:165]|I| Client logged in user: admin from: 127.0.0.1:37990 2023-04-24T17:07:25[brokerapp.cpp:804]|I| Client login connection id: 2 2023-04-24T17:07:25[clientshvnode.cpp:15]|I| Creating client node: 0x55b221af4b40 app connection: 2 2023-04-24T17:07:25[clientconnection.cpp:333]|I| Connected to broker client id: 2 2023-04-24T17:07:25[clientconnection.cpp:336]|I| Creating heart-beat timer, interval: 60 sec. 2023-04-24T17:07:33[shvbrokernodeitem.cpp:55]|W| RPC request timeout expired for node: test/untitled 2023-04-24T17:07:38[shvbrokernodeitem.cpp:55]|W| RPC request timeout expired for node: test/untitled
I've started the shvapp and the brooker on separate shells using a command line:
Il the shell of the shvapp I get the following:
2023-04-25T08:46:02[clioptions.cpp:387]|I| Checking presence of config file: /home/bucher/sviluppo/GITHUB/pysimCoder/SHV/shvapp/bin/../shvbroker/etc/shv/shvbroker/shvbroker.conf 2023-04-25T08:46:02[clioptions.cpp:389]|I| Reading config file: /home/bucher/sviluppo/GITHUB/pysimCoder/SHV/shvapp/bin/../shvbroker/etc/shv/shvbroker/shvbroker.conf 2023-04-25T08:46:02[main.cpp:77]|I| ====================================================================================== 2023-04-25T08:46:02[main.cpp:78]|I| Starting SHV BROKER server ver: 1.1.8 PID: 4915 2023-04-25T08:46:02[main.cpp:84]|I| 2023-04-25T10:46:02 UTC: 2023-04-25T08:46:02Z 2023-04-25T08:46:02[main.cpp:85]|I| ====================================================================================== 2023-04-25T08:46:02[main.cpp:86]|I| Broker ID: broker.local 2023-04-25T08:46:02[main.cpp:87]|I| Log tresholds: -v rpcmsg:D 2023-04-25T08:46:02[main.cpp:88]|I| Config dir: ../shvbroker/etc/shv/shvbroker 2023-04-25T08:46:02[main.cpp:91]|I| Primary IPv4 address: 10.11.74.105 2023-04-25T08:46:02[main.cpp:92]|I| Primary public IPv4 address: 2023-04-25T08:46:02[main.cpp:93]|I| -------------------------------------------------------------------------------------- 2023-04-25T08:46:02[brokerapp.cpp:286]|I| installing Unix signals handlers 2023-04-25T08:46:02[brokerapp.cpp:301]|I| SIG_TERM handler installed OK 2023-04-25T08:46:02[main.cpp:134]|I| starting main thread event loop 2023-04-25T08:46:02[brokerapp.cpp:365]|I| Reloading config 2023-04-25T08:46:02[aclmanager.cpp:362]|I| Creating ConfigFiles ACL manager 2023-04-25T08:46:02[brokerapp.cpp:390]|I| Starting plain socket server on port 3755 2023-04-25T08:46:02[tcpserver.cpp:29]|I| RPC server is listenning on 0.0.0.0:3755 2023-04-25T08:46:02[brokerapp.cpp:405]|I| Starting SSL server on port 37555 2023-04-25T08:46:02[tcpserver.cpp:29]|I| RPC server is listenning on 0.0.0.0:37555
2023-04-25T08:46:20[tcpserver.cpp:53]|I| client connected: 127.0.0.1:38072 @ 3755 2023-04-25T08:46:20[serverconnection.cpp:100]|I| Client hello received from: 127.0.0.1:38072 2023-04-25T08:46:20[serverconnection.cpp:102]|I| sending hello response: 127.0.0.1:38072 2023-04-25T08:46:20[serverconnection.cpp:111]|I| Client login received 2023-04-25T08:46:20[clientconnectiononbroker.cpp:156]|I| connection ID: 1 setting idle watch dog timeout to 360 seconds 2023-04-25T08:46:20[serverconnection.cpp:148]|I| login - user: admin 2023-04-25T08:46:20[serverconnection.cpp:165]|I| Client logged in user: admin from: 127.0.0.1:38072 2023-04-25T08:46:20[brokerapp.cpp:804]|I| Client login connection id: 1 2023-04-25T08:46:20[clientshvnode.cpp:15]|I| Creating client node: 0x559e84ed9ac0 app connection: 1 2023-04-25T08:46:20[clientshvnode.cpp:15]|I| Creating client node: 0x559e84ed8740 connection: 1 2023-04-25T08:46:20[brokerapp.cpp:863]|I| client connection id: 1 device id: "untitled" mounted on: test/untitled 2023-04-25T08:46:27[tcpserver.cpp:53]|I| client connected: 127.0.0.1:59802 @ 3755 2023-04-25T08:46:27[serverconnection.cpp:100]|I| Client hello received from: 127.0.0.1:59802 2023-04-25T08:46:27[serverconnection.cpp:102]|I| sending hello response: 127.0.0.1:59802 2023-04-25T08:46:27[serverconnection.cpp:111]|I| Client login received 2023-04-25T08:46:27[clientconnectiononbroker.cpp:156]|I| connection ID: 2 setting idle watch dog timeout to 180 seconds 2023-04-25T08:46:27[serverconnection.cpp:148]|I| login - user: admin 2023-04-25T08:46:27[serverconnection.cpp:165]|I| Client logged in user: admin from: 127.0.0.1:59802 2023-04-25T08:46:27[brokerapp.cpp:804]|I| Client login connection id: 2 2023-04-25T08:46:27[clientshvnode.cpp:15]|I| Creating client node: 0x559e84ecd770 app connection: 2
In the shell of the brroker I get:
2023-04-25T08:46:07[main.cpp:108]|I| ====================================================================================== 2023-04-25T08:46:07[main.cpp:109]|I| Starting shvspy ver. 1.3.29 PID: 4917 build: Apr 21 2023 08:20:22 2023-04-25T08:46:07[main.cpp:116]|I| 2023-04-25T10:46:07 UTC: 2023-04-25T08:46:07Z 2023-04-25T08:46:07[main.cpp:117]|I| ====================================================================================== 2023-04-25T08:46:07[main.cpp:118]|I| Log tresholds: -v rpcmsg:D 2023-04-25T08:46:07[main.cpp:127]|I| -------------------------------------------------------------------------------------- 2023-04-25T08:46:07[main.cpp:133]|I| starting main thread event loop
2023-04-25T08:46:27[clientconnection.cpp:141]|I| Default RPC timeout set to: 5000 msec. 2023-04-25T08:46:27[clientconnection.cpp:324]|I| connecting to: tcp://localhost:3755 2023-04-25T08:46:27[clientconnection.cpp:223]|I| Starting check-connected timer, interval: 10 sec. 2023-04-25T08:46:27[clientconnection.cpp:370]|I| 1 Socket connected to RPC server 2023-04-25T08:46:27[clientconnection.cpp:371]|I| peer: 127.0.0.1 port: 3755 2023-04-25T08:46:27[clientconnection.cpp:333]|I| Connected to broker client id: 2 2023-04-25T08:46:27[clientconnection.cpp:336]|I| Creating heart-beat timer, interval: 60 sec. 2023-04-25T08:46:52[shvbrokernodeitem.cpp:55]|W| RPC request timeout expired for node: test/untitled
I cannot see any segfault in logs attached. Do you mean segfault shvspy after RPC request timeout expired for node: test/untitled
? I need some clue, how to reproduce this issue.
As soon as I open the "test" tree to get the child "untitled", the applications compiled with libshv goes in "Segmentation fault"
The application testSHV starts correctly, and gives the following output:
Socket successfully created. Connected to the server.
But at the moment that I open the tree, I receive a "Segmentation faul". The two apps "shvbroker" and "ahvspy" continue to work without any message...
This is the code of the functions connected to the brooker and to the shvspy:
/ SHV related function and structres /
shv_con_ctx_t shv_tree_init(python_block_name_map block_map, const shv_node_t static_root, int mode); void shv_tree_end(shv_con_ctx_t ctx, int mode);
python_block_name_map block_name_map_testSHV; python_block_name_entry block_name_entry_testSHV[4]; static shv_con_ctx_t *testSHV_ctx;
/ Function prototypes /
void scope(int Flag, python_block block); void integral(int Flag, python_block block); void mxmult(int Flag, python_block block); void sinus(int Flag, python_block block);
double testSHV_get_tsamp(void) { return (0.01); }
python_block block_testSHV[4];
static double realPar_0[] = {1, 1, 0, 0, 0}; static char realParNames_0[] = {"Amplitude", "Freq [Hz]", "Phase", "Bias", "Delay"}; static int nx_0[] = {0, 0}; static double realPar_1[] = {0.0, 0.0}; static char realParNames_1[] = {"double0", "double1"}; static int nx_1[] = {1, 0}; static double realPar_2[] = {1}; static char realParNames_2[] = {"Gains"}; static int intPar_2[] = {1, 1}; static char intParNames_2[] = {"int0", "int1"}; static int nx_2[] = {0, 0}; static int intPar_3[] = {1, 0}; static char *intParNames_3[] = {"int0", "int1"}; static int nx_3[] = {0, 0};
/ Nodes / static double Node_1[] = {0.0}; static double Node_2[] = {0.0}; static double Node_3[] = {0.0};
/ Input and outputs / static void outptr_0[] = {&Node_1}; static void inptr_1[] = {&Node_3}; static void outptr_1[] = {&Node_2}; static void inptr_2[] = {&Node_1}; static void outptr_2[] = {&Node_3}; static void inptr_3[] = {&Node_3,&Node_2};
/ Initialization function /
void testSHV_init(void) {
/ Block definition /
block_testSHV[0].nin = 0; block_testSHV[0].nout = 1; block_testSHV[0].nx = nx_0; block_testSHV[0].u = NULL; block_testSHV[0].y = outptr_0; block_testSHV[0].realPar = realPar_0; block_testSHV[0].realParNum = 5; block_testSHV[0].realParNames = realParNames_0; block_testSHV[0].intPar = NULL; block_testSHV[0].intParNum = 0; block_testSHV[0].intParNames = NULL; block_testSHV[0].str = ""; block_testSHV[0].ptrPar = NULL;
block_testSHV[1].nin = 1; block_testSHV[1].nout = 1; block_testSHV[1].nx = nx_1; block_testSHV[1].u = inptr_1; block_testSHV[1].y = outptr_1; block_testSHV[1].realPar = realPar_1; block_testSHV[1].realParNum = 2; block_testSHV[1].realParNames = realParNames_1; block_testSHV[1].intPar = NULL; block_testSHV[1].intParNum = 0; block_testSHV[1].intParNames = NULL; block_testSHV[1].str = ""; block_testSHV[1].ptrPar = NULL;
block_testSHV[2].nin = 1; block_testSHV[2].nout = 1; block_testSHV[2].nx = nx_2; block_testSHV[2].u = inptr_2; block_testSHV[2].y = outptr_2; block_testSHV[2].realPar = realPar_2; block_testSHV[2].realParNum = 1; block_testSHV[2].realParNames = realParNames_2; block_testSHV[2].intPar = intPar_2; block_testSHV[2].intParNum = 2; block_testSHV[2].intParNames = intParNames_2; block_testSHV[2].str = ""; block_testSHV[2].ptrPar = NULL;
block_testSHV[3].nin = 2; block_testSHV[3].nout = 0; block_testSHV[3].nx = nx_3; block_testSHV[3].u = inptr_3; block_testSHV[3].y = NULL; block_testSHV[3].realPar = NULL; block_testSHV[3].realParNum = 0; block_testSHV[3].realParNames = NULL; block_testSHV[3].intPar = intPar_3; block_testSHV[3].intParNum = 2; block_testSHV[3].intParNames = intParNames_3; block_testSHV[3].str = ""; block_testSHV[3].ptrPar = NULL;
setenv("SHV_BROKER_IP", "127.0.0.1", 0); setenv("SHV_BROKER_PORT", "3755", 0); setenv("SHV_BROKER_USER", "admin", 0); setenv("SHV_BROKER_PASSWORD", "admin!123", 0); setenv("SHV_BROKER_DEV_ID", "untitled", 0); setenv("SHV_BROKER_MOUNT", "test/untitled", 0);
/ SHV structures definition /
block_name_entry_testSHV[0].block_name = "Gain"; block_name_entry_testSHV[0].block_idx = 2; block_name_entry_testSHV[0].system_inputs = 0; block_name_entry_testSHV[0].system_outputs = 0; block_name_entry_testSHV[1].block_name = "Integral"; block_name_entry_testSHV[1].block_idx = 1; block_name_entry_testSHV[1].system_inputs = 0; block_name_entry_testSHV[1].system_outputs = 0; block_name_entry_testSHV[2].block_name = "RT_Plot"; block_name_entry_testSHV[2].block_idx = 3; block_name_entry_testSHV[2].system_inputs = 0; block_name_entry_testSHV[2].system_outputs = 0; block_name_entry_testSHV[3].block_name = "Sine_wave"; block_name_entry_testSHV[3].block_idx = 0; block_name_entry_testSHV[3].system_inputs = 0; block_name_entry_testSHV[3].system_outputs = 0;
block_name_map_testSHV.blocks_count = 4; block_name_map_testSHV.blocks = block_name_entry_testSHV; block_name_map_testSHV.block_structure = block_testSHV;
/ Call shv_tree_init() to initialize SHV tree /
const shv_node_t shv_tree_root = {};
testSHV_ctx = shv_tree_init(&block_name_map_testSHV, &shv_tree_root, CONF_SHV_TREE_TYPE);
/ Set initial outputs /
sinus(CG_INIT, &block_testSHV[0]); integral(CG_INIT, &block_testSHV[1]); mxmult(CG_INIT, &block_testSHV[2]); scope(CG_INIT, &block_testSHV[3]); }
/ ISR function /
void testSHV_isr(double t) { int i; double h;
sinus(CG_OUT, &block_testSHV[0]); integral(CG_OUT, &block_testSHV[1]); mxmult(CG_OUT, &block_testSHV[2]); scope(CG_OUT, &block_testSHV[3]);
h = testSHV_get_tsamp()/10;
block_testSHV[1].realPar[0] = h; for(i=0;i<10;i++){ integral(CG_OUT, &block_testSHV[1]); integral(CG_STUPD, &block_testSHV[1]); } } / Termination function /
void testSHV_end(void) {
shv_tree_end(testSHV_ctx, CONF_SHV_TREE_TYPE);
sinus(CG_END, &block_testSHV[0]); integral(CG_END, &block_testSHV[1]); mxmult(CG_END, &block_testSHV[2]); scope(CG_END, &block_testSHV[3]); }
If I understand correctly, it is your testing app, which is seg-faulting? Can you run it in debugger and send me stack trace?
Sorry for delay! I've finally found some time to do a debug of the code.
This is the output:
(gdb) r Starting program: /home/bucher/ToDo/testSHV/testSHV [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7ffff7cda6c0 (LWP 172690)] Socket successfully created. Connected to the server. [New Thread 0x7ffff74d96c0 (LWP 172691)] [Detaching after fork from child process 172692]
Thread 3 "testSHV" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffff74d96c0 (LWP 172691)] 0x000055555555b1c1 in shv_node_process (shv_ctx=0x7ffff0002040, rid=6, met=0x7ffff74d8e70 "ls", path=0x7ffff74d8e30 "") at /home/bucher/CACSD/pysimCoder/CodeGen/Common/shv/shv_tree.c:353 353 const shv_method_des_t *met_des = shv_dmap_find(item->dir, &met); (gdb)
On monday I'll try to find out more info
This is the full stack when I enter in the procedure that gives the causes the "segmentation fault":
(gdb) where full
path=0x7ffff74d8e30 "")
at /home/bucher/CACSD/pysimCoder/CodeGen/Common/shv/shv_tree.c:342
item = 0xf00022a8
met_des = 0x7ffff00022a8
at /home/bucher/CACSD/pysimCoder/CodeGen/Common/shv/shv_com.c:637
i = 77
j = 7
met = "ls\000\000\000\000\000\000\001\000\000\000\377\177\000"
path = '\000' <repeats 56 times>, "\023\240\335\367\377\177\000"
ctx = 0x7ffff00022a8
at /home/bucher/CACSD/pysimCoder/CodeGen/Common/shv/shv_com.c:687
num_events = 1
ret = 0
shv_ctx = 0x7ffff0002240
pfds = {{fd = 3, events = 1, revents = 1}}
at ./nptl/pthread_create.c:442
ret = <optimized out>
pd = <optimized out>
out = <optimized out>
--Type
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737342445248,
7937267704047154710, -128, 0, 140737350835024,
140737334054912, -7937250782378117610, -7937249918114384362},
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0},
data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
No locals. (gdb)
I'm afraid that we cannot fix bugs in your testing code, only bugs in our code. If your testing app can be easily build on my box, I can try to reproduce seg-fault on my own.
@robertobucher Just an idea: do you have subsystems in your block diagram? I personally have never tested them with SHV so it may be possible that some error occurs there (most likely in naming).
Not in my examples that didn't work...
I've isolated the function that creates the segfault, but I can't understand why!
Ciao
Roberto
On 5/22/23 16:02, Michal Lenc wrote:
@robertobucher https://github.com/robertobucher Just an idea: do you have subsystems in your block diagram? I personally have never tested them with SHV so it may be possible that some error occurs there (most likely in naming).
— Reply to this email directly, view it on GitHub https://github.com/silicon-heaven/libshv/issues/288#issuecomment-1557276753, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7WD7XN4VATV3M662XUQUTXHNWVRANCNFSM6AAAAAAXJ3FFGE. You are receiving this because you were mentioned.Web Bug from https://github.com/notifications/beacon/AB7WD7WQ65O67CCMMPTDZCDXHNWVRA5CNFSM6AAAAAAXJ3FFGGWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTS42IUFC.gifMessage ID: @.***>
The problem is in the files pysimCoder/CodeGen/Common/shv, in particular the file "shv_tree.c": there is a call (line 353) to
const shv_method_des_t *met_des = shv_dmap_find(item->dir, &met);
and this call causes the "segmentation fault".
I can't find this function: the debugger point to this line in include/shv_tree.h
GSA_CUST_DEC(shv_dmap, shv_dmap_t, shv_method_des_t, shv_method_des_key_t, methods, name, shv_method_des_comp_func)
and from here I can't continue to debug the application...
Roberto
On 5/22/23 16:02, Michal Lenc wrote:
@robertobucher https://github.com/robertobucher Just an idea: do you have subsystems in your block diagram? I personally have never tested them with SHV so it may be possible that some error occurs there (most likely in naming).
— Reply to this email directly, view it on GitHub https://github.com/silicon-heaven/libshv/issues/288#issuecomment-1557276753, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB7WD7XN4VATV3M662XUQUTXHNWVRANCNFSM6AAAAAAXJ3FFGE. You are receiving this because you were mentioned.Web Bug from https://github.com/notifications/beacon/AB7WD7WQ65O67CCMMPTDZCDXHNWVRA5CNFSM6AAAAAAXJ3FFGGWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTS42IUFC.gifMessage ID: @.***>
I probably found the problem. By compiling the devices in pysimCoder (for example for LinuxRT) with SHV=1, the system doesn't find the file
pack_double.c
which is in the folder "proof_of_concept-code" under libshv/libshvchainpack/c/
Moving this file under libshv/libshvchainpack/c/ solves the problem.
Probably we have to modify the Makefiles for the devices that uses SHV
Yes, pack_double.c is not used in libshv, thus it was removed from build, please update also your Makefile.
Thanks. I've eliminated the pack_double,c file in the compilation and all is working perfect again!
Since a couple of weeks, I can't connect from my generated pysimCoder application to the window of shvspy.
The generated code starts correctly:
bucher@debian:~/ToDo/testSHV$ ./testSHV Socket successfully created. Connected to the server.
but when I try to open the server on the shvspy, I get:
Segmentation fault
This happen with an old version of shvapp/shvspy and with the new versions of these applications. Thus, I think that the problem can be related to the new version of libshv.