Инструкция по установке ноды VIZ с отладкой GDB

22.06.2021 18:25:06

Бывает, что из-за ошибок демон вылетает с сообщением Segmentation fault или Aborted, в папке /var/lib/vizd появляется core dumped. В таком случае пригодится отладка через gdb.

Установка ноды на сервере с ОС Ubuntu 16.04

Бывает, что из-за ошибок демон vizd вылетает с сообщением Segmentation fault или Aborted, в папке /var/lib/vizd появляется core dumped. При этом больше никакой информации.

Устанавливаем необходимые пакеты:

sudo apt-get update

sudo apt-get install -y \
        autoconf \
        automake \
        autotools-dev \
        bsdmainutils \
        build-essential \
        cmake \
        doxygen \
        git \
        ccache \
        libboost-all-dev \
        libreadline-dev \
        libssl-dev \
        libtool \
        ncurses-dev \
        pbzip2 \
        pkg-config \
        python3 \
        python3-dev \
        python3-pip \
        runit

sudo pip3 install gcovr

Копируем исходные файлы для сборки ноды из github:

git clone https://github.com/VIZ-Blockchain/viz-cpp-node.git && cd viz-cpp-node

git submodule update --init --recursive -f

Задаём значения переменных и конфигурируем проект:

mkdir build && cd build

cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_SHARED_LIBRARIES=FALSE \
    -DLOW_MEMORY_NODE=FALSE \
    -DCHAINBASE_CHECK_LOCKING=FALSE \
    -DENABLE_MONGO_PLUGIN=FALSE \
    ..

Запуск сборки:

make -j $(nproc) && sudo make install

Подготовка файлов

mkdir -p ~/viz-cpp-node/build/programs/vizd/witness_node_data_dir/blockchain

Копируем в папку .../vizd/witness_node_data_dir свой конфиг для ноды, добавив сид-ноды, напр.

p2p-seed-node = viz1.lexai.host:2001
p2p-seed-node = viz2.lexai.host:2001

Копируем в папку .../vizd/witness_node_data_dir/blockchain бэкап файлов блоклогс и шаред-мемори, чтобы не терять время на синхронизацию сети (копии возможно скачать здесь.

Запуск GDB

Устанавливаем отладчик

sudo apt-get install gdb

Переходим в папку проекта

cd ~/viz-cpp-node/build/programs/vizd

Запускаем демон через gdb

gdb ./vizd

Включаем сохранение лога (в файл gdb.txt) рядом с файлом запуска

set logging on

Подтверждаем запуск

run


0
2 Awards
62.995898 Ƶ
Show comment form
Comments