Fri 01 Apr 2016 04:23:42 PM UTC, original submission:
I tried the test case for the SHM Memory communications between complied processus (with CERTI) CertiProcessus_A and CertiProcessus_B.
These are located under /CERTI_INSTALL_PATH/bin
When you try to run the Posix Ring Buffer SHM test case, then it fails.
To reproduce it:
----------------
1) In Main_SocketSHM.cc, due to Ticket #47597, Change line 63 from "Win32" to "Posix" and recompile CERTI
2) Go to the bin folder and open two terminals (don't forget to "source" CERTI env)
3) In one terminal call:
>> ./CertiProcessus_A
4) In the other terminal call:
>> ./CertiProcessus_B
5) Then Follow the instructions and select "RB" option to use Ring Buffer. Then you must send (command "S") from one process (example A) and read from the other (command "R" for example on B).
6) Then the reader will fail reporting
-------------------------------------------------
RingBuffer --> Try to Receive...
RingBuffer::Receive(...) --> BEGIN Algorithm : Count_CS = 34 | Write_CS = 16| Read_CS = 0
RingBuffer::Receive(...) --> Utilisation memcpy Simple
RingBuffer::Receive(...) --> Adresse Utilisee _Shm_CS->GetShm() = 0x7efcee8b8000| _Shm_CS->GetShm() + _Tab_CS[2] = 0x7efcee8b8000
RingBuffer::Receive(...) --> END Algorithm : Count_CS = 50 | Write_CS = 16| Read_CS = 16
AVANT memcpy(_Pw_Pr_CS->GetShm(), _Tab_CS, 3 * sizeof(int) ) ; !!
Segmentation fault (core dumped)
-------------------------------------------------
See attached my Logs from CertiProcessus_A and CertiProcessus_B.
I am taking this over.
|