Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DDSRecord fails to copy Hello World data from TypeLookupService #61

Open
amdsobhy opened this issue May 25, 2023 · 1 comment
Open

DDSRecord fails to copy Hello World data from TypeLookupService #61

amdsobhy opened this issue May 25, 2023 · 1 comment

Comments

@amdsobhy
Copy link

OS used:

Ubuntu 18.04

Arch:

aarch64

Build steps:

#!/bin/bash

set -e

ROOT_DIR=/media/nvme/ddsrecord-replay

git clone https://github.com/lz4/lz4.git
cd lz4
git checkout v1.9.3
make -j8
make install
cd -

git clone https://github.com/facebook/zstd.git
cd zstd
git checkout v1.4.8
make -j8
make install
cd -

rm -rf ${ROOT_DIR}/DDS-Record-Replay > /dev/null

mkdir -p ${ROOT_DIR}/DDS-Record-Replay/src
mkdir -p ${ROOT_DIR}/DDS-Record-Replay/build
cd ${ROOT_DIR}/DDS-Record-Replay
wget https://raw.githubusercontent.com/eProsima/DDS-Record-Replay/main/ddsrecordreplay.repos
vcs import src < ddsrecordreplay.repos

cd ${ROOT_DIR}/DDS-Record-Replay
mkdir build/foonathan_memory_vendor
cd build/foonathan_memory_vendor
cmake ${ROOT_DIR}/DDS-Record-Replay/src/foonathan_memory_vendor -DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/DDS-Record-Replay/install -DBUILD_SHARED_LIBS=ON
cmake --build . --target install -- -j8

cd ${ROOT_DIR}/DDS-Record-Replay
mkdir build/fastcdr
cd build/fastcdr
cmake ${ROOT_DIR}/DDS-Record-Replay/src/fastcdr -DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/DDS-Record-Replay/install
cmake --build . --target install -- -j8

cd ${ROOT_DIR}/DDS-Record-Replay
mkdir build/fastdds
cd build/fastdds
cmake ${ROOT_DIR}/DDS-Record-Replay/src/fastdds -DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/DDS-Record-Replay/install -DCMAKE_PREFIX_PATH=${ROOT_DIR}/DDS-Record-Replay/install
cmake --build . --target install -- -j8

# CMake Utils
cd ${ROOT_DIR}/DDS-Record-Replay
mkdir build/cmake_utils
cd build/cmake_utils
cmake ${ROOT_DIR}/DDS-Record-Replay/src/dev-utils/cmake_utils -DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/DDS-Record-Replay/install -DCMAKE_PREFIX_PATH=${ROOT_DIR}/DDS-Record-Replay/install
cmake --build . --target install -- -j8

# C++ Utils
cd ${ROOT_DIR}/DDS-Record-Replay
mkdir build/cpp_utils
cd build/cpp_utils
cmake ${ROOT_DIR}/DDS-Record-Replay/src/dev-utils/cpp_utils -DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/DDS-Record-Replay/install -DCMAKE_PREFIX_PATH=${ROOT_DIR}/DDS-Record-Replay/install
cmake --build . --target install -- -j8

# ddspipe_core
cd ${ROOT_DIR}/DDS-Record-Replay
mkdir build/ddspipe_core
cd build/ddspipe_core
cmake ${ROOT_DIR}/DDS-Record-Replay/src/ddspipe/ddspipe_core -DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/DDS-Record-Replay/install -DCMAKE_PREFIX_PATH=${ROOT_DIR}/DDS-Record-Replay/install
cmake --build . --target install -- -j8

# ddspipe_participants
cd ${ROOT_DIR}/DDS-Record-Replay
mkdir build/ddspipe_participants
cd build/ddspipe_participants
cmake ${ROOT_DIR}/DDS-Record-Replay/src/ddspipe/ddspipe_participants -DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/DDS-Record-Replay/install -DCMAKE_PREFIX_PATH=${ROOT_DIR}/DDS-Record-Replay/install
cmake --build . --target install -- -j8

# ddspipe_yaml
cd ${ROOT_DIR}/DDS-Record-Replay
mkdir build/ddspipe_yaml
cd build/ddspipe_yaml
cmake ${ROOT_DIR}/DDS-Record-Replay/src/ddspipe/ddspipe_yaml -DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/DDS-Record-Replay/install -DCMAKE_PREFIX_PATH=${ROOT_DIR}/DDS-Record-Replay/install
cmake --build . --target install -- -j8

# ddsrecorder_participants
cd ${ROOT_DIR}/DDS-Record-Replay
mkdir build/ddsrecorder_participants
cd build/ddsrecorder_participants
cmake ${ROOT_DIR}/DDS-Record-Replay/src/ddsrecordreplay/ddsrecorder_participants -DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/DDS-Record-Replay/install -DCMAKE_PREFIX_PATH=${ROOT_DIR}/DDS-Record-Replay/install
cmake --build . --target install -- -j8

# ddsrecorder_yaml
cd ${ROOT_DIR}/DDS-Record-Replay
mkdir build/ddsrecorder_yaml
cd build/ddsrecorder_yaml
cmake ${ROOT_DIR}/DDS-Record-Replay/src/ddsrecordreplay/ddsrecorder_yaml -DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/DDS-Record-Replay/install -DCMAKE_PREFIX_PATH=${ROOT_DIR}/DDS-Record-Replay/install
cmake --build . --target install -- -j8

# ddsrecorder
cd ${ROOT_DIR}/DDS-Record-Replay
mkdir build/ddsrecorder_tool
cd build/ddsrecorder_tool
cmake ${ROOT_DIR}/DDS-Record-Replay/src/ddsrecordreplay/ddsrecorder -DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/DDS-Record-Replay/install -DCMAKE_PREFIX_PATH=${ROOT_DIR}/DDS-Record-Replay/install
cmake --build . --target install -- -j8

# ddsreplayer
cd ${ROOT_DIR}/DDS-Record-Replay
mkdir build/ddsreplayer_tool
cd build/ddsreplayer_tool
cmake ${ROOT_DIR}/DDS-Record-Replay/src/ddsrecordreplay/ddsreplayer -DCMAKE_INSTALL_PREFIX=${ROOT_DIR}/DDS-Record-Replay/install -DCMAKE_PREFIX_PATH=${ROOT_DIR}/DDS-Record-Replay/install
cmake --build . --target install -- -j8

TypeLookupService output:

./TypeLookupService
Participant < 01.0f.b6.0f.7c.04.54.88.00.00.00.00|0.0.1.c1> created...
        - DDS Domain: 0
        - DataWriter: 01.0f.b6.0f.7c.04.54.88.00.00.00.00|0.0.1.3
        - Topic name: /dds/topic
        - Topic data type: HelloWorld
Publisher running. Please press CTRL+C to stop the Publisher at any time.
Message published: 
index: 0
message: Hello World
-----------------------------------------------------
Message published: 
index: 1
message: Hello World
-----------------------------------------------------
Message published: 
index: 2
message: Hello World
-----------------------------------------------------
Message published: 
index: 3
message: Hello World
-----------------------------------------------------
Message published: 
index: 4
message: Hello World
-----------------------------------------------------
Message published: 
index: 5
message: Hello World
-----------------------------------------------------
Message published: 
index: 6
message: Hello World
-----------------------------------------------------
Message published: 
index: 7
message: Hello World
-----------------------------------------------------
Message published: 
index: 8
message: Hello World
-----------------------------------------------------
Message published: 
index: 9
message: Hello World
-----------------------------------------------------
Message published: 
index: 10
message: Hello World
-----------------------------------------------------
Message published: 
index: 11
message: Hello World
-----------------------------------------------------
Message published: 
index: 12
message: Hello World
-----------------------------------------------------
Message published: 
index: 13
message: Hello World
-----------------------------------------------------
Message published: 
index: 14
message: Hello World
-----------------------------------------------------
2023-05-25 17:01:12.123 [RTPS_TRANSPORT_SHM Warning] Buffer is being invalidated, segment_size may be insufficient -> Function invalidate_if_not_processing
DataWriter matched with DataReader: 1.f.b6.f.e7.4.f.8b.0.0.0.0.0.0.1.4
Message published: 
index: 15
message: Hello World
-----------------------------------------------------
Message published: 
index: 16
message: Hello World
-----------------------------------------------------

ddsrecord output:

./ddsrecorder 
Not configuration file given, using default file DDS_RECORDER_CONFIGURATION.yaml.
Starting DDS Recorder execution.
DDS Recorder running.
^C./ddsrecorder: symbol lookup error: /media/nvme/ddsrecord-replay/DDS-Record-Replay/install/lib/libddsrecorder_participants.so.0: undefined symbol: ZSTD_compress2

File created by ddsrecord:

ls -la output_
2023-05-25_21-01-12.mcap.tmp~ 
-rw-r--r-- 1 root root 0 May 25 17:01 output_2023-05-25_21-01-12.mcap.tmp~

Recorder Config used:

dds:
  domain: 0

recorder:
  output:
    filename: "output"
    path: "."

  buffer-size: 10
  event-window: 60
  log-publish-time: false
  downsampling: 1
  max-reception-rate: 2000

remote-controller:
  enable: false
  domain: 0
  initial-state: "RUNNING"
  command-topic-name: "/ddsrecorder/command"
  status-topic-name: "/ddsrecorder/status"

specs:
  threads: 8
  max-pending-samples: 10
  cleanup-period: 90

Please note that sometimes ddsrecord create non-zero size files and does not complain about the "undefined symbol: ZSTD_compress2", but when trying to replay the subscriber does not detect any messages.

@amdsobhy amdsobhy changed the title DDSRecorder fails to copy Hello World data from TypeLookupService DDSRecord fails to copy Hello World data from TypeLookupService May 25, 2023
@amdsobhy
Copy link
Author

amdsobhy commented Jun 2, 2023

Hi @rsanchez15, do you think you can help with this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant