eoschronicleproject / eos-chronicle Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Aug 31 05:03:51 chronicle chronicle-receiver[73]: info 2019-08-31T05:03:51.163 chronicle receiver_plugin.cpp:643 receive_result ] fork detected at block 76859237; head=76859246
Aug 31 05:03:51 chronicle chronicle-receiver[73]: error 2019-08-31T05:03:51.213 chronicle receiver_plugin.cpp:1337 ack_block ] Exporter acked block=76859236, but block=76859237 was already acknowledged
Aug 31 05:03:51 chronicle chronicle-receiver[73]: Exporter acked block below prevuously acked one
Aug 31 05:03:51 chronicle systemd[1]: [email protected]: Main process exited, code=dumped, status=11/SEGV
Aug 31 05:03:51 chronicle systemd[1]: [email protected]: Failed with result 'core-dump'.
warn 2023-02-25T14:55:12.413 chronicle receiver_plugin.cpp:1054 save_contract_abi ] Cannot use ABI for connectfours: Invalid nesting
, and then it disconnects from the consumerGet the following error running a pinned build on chronicle-v2x
branch. This is due to debug set on in root level CMakeList.txt. Typically debug is off by default.
CHAINBASE: "receiver-state" database was created with a chainbase from a different environment
Current compiler environment:
Compiler: Clang 11.0.1
Debug: Yes
OS: Linux
Arch: x86_64
Boost: 1.80.0
DB created with compiler environment:
Compiler: Clang 11.0.1
Debug: No
OS: Linux
Arch: x86_64
Boost: 1.80.0
warn 2023-07-03T20:52:34.178 chronicle receiver_plugin.cpp:1807 plugin_initialize ] 13 N5boost10wrapexceptINSt3__112system_errorEEE: Database incompatible; All environment parameters must match
rethrow Database incompatible; All environment parameters must match:
{"what":"Database incompatible; All environment parameters must match"}
chronicle-recei receiver_plugin.cpp:1807 plugin_initialize
I've got a container running chronicle, with the following Dockerfile:
FROM ubuntu:jammy AS build
WORKDIR /opt/src
RUN apt update \
&& DEBIAN_FRONTEND=noninteractive apt install -y \
build-essential \
git \
cmake \
libboost-all-dev \
libgmp3-dev \
libssl-dev
RUN git clone https://github.com/EOSChronicleProject/eos-chronicle.git \
&& cd eos-chronicle \
&& git checkout v2.2 \
&& git submodule update --recursive --init \
&& mkdir build \
&& cd build \
&& cmake .. \
&& make
FROM ubuntu:jammy
COPY --from=build /opt/src/eos-chronicle/build/chronicle-receiver /opt/bin/chronicle-receiver
COPY chronicle_config.ini /some-path/config/chronicle/config.ini
RUN mkdir -p /some-path/data/chronicle
ENV PATH="/opt/bin:$PATH"
CMD [ "chronicle-receiver", \
"--data-dir", "/some-path/data/chronicle", \
"--config-dir", "/some-path/config/chronicle",\
"--mode=scan", \
"--irreversible-only=true", \
"--skip-table-deltas=true", \
"--stale-deadline=60000" \
]
When I run the container, it seems ok at first, but then it prints stoul
and then segfaults, like this:
Any ideas what might be causing this?
CMakeLists.txt
includes two submodules, chainbase and abieos, and cmake
generates errors.
https://github.com/EOSChronicleProject/eos-chronicle/tree/0e95d4296ae5d6a51abc0eb60893cd90db551104
eosio@sthist:~/build/eos-chronicle/build$ cmake ..
-- The CXX compiler identification is GNU 8.2.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting build type to 'Release' as none was specified.
-- Boost version: 1.67.0
-- Found the following Boost libraries:
-- date_time
-- system
-- iostreams
-- program_options
-- regex
-- Boost version: 1.67.0
-- Found the following Boost libraries:
-- date_time
-- The C compiler identification is GNU 8.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Boost version: 1.67.0
-- Found the following Boost libraries:
-- thread
-- date_time
-- filesystem
-- system
-- chrono
-- unit_test_framework
-- locale
-- atomic
-- Configuring ChainBase on Linux
CMake Error at external/chainbase/CMakeLists.txt:73 (install):
install DIRECTORY given no DESTINATION!
CMake Error at external/chainbase/CMakeLists.txt:75 (install):
install TARGETS given no ARCHIVE DESTINATION for static library target
"chainbase".
CMake Error at CMakeLists.txt:30 (target_link_libraries):
Target "abieos" of type MODULE_LIBRARY may not be linked into another
target. One may link only to INTERFACE, OBJECT, STATIC or SHARED
libraries, or to executables with the ENABLE_EXPORTS property set.
-- Configuring incomplete, errors occurred!
See also "/home/eosio/build/eos-chronicle/build/CMakeFiles/CMakeOutput.log".
See also "/home/eosio/build/eos-chronicle/build/CMakeFiles/CMakeError.log".
Was hoping to use the sample output to design a consumer, but it appears the link receives a 524 timeout error from Cloudflare
when there's an error n one of websockets, chronicle prints a message and it's unclear which of the two websockets failed.
Need a better logging
exporter_acked_block
is always zero if the consumer has never acknowledged
Error in answering on fork && rcvr_pause msg types
if( $type eq 'FORK' or $type eq 'BLOCK_COMPLETED' )
{
$last_block = $data->{'data'}{'block_num'};
}
if( ($type eq 'BLOCK_COMPLETED' and $last_block - $last_ack >= $ack) or$type eq 'RCVR_PAUSE' )
{
send_ack($conn);
}
Should be N-1 for fork, and for pause
if($last_block - $last_ack) { send_ack($conn); }
Thanks for the great project!
I made a smaller sample for testing parsing:
head -n 1000000 chronicle_ws_output.json > testdata.json
...then the following (in Python) seems to return a section which is malformed:
with open('testdata.json') as f:
s = f.read()
s = s.replace('\n\n', ',\n')
s = '[' + s + ']'
return s[4262000:4263000]
e.g. "errors" : [ "Cannot decode table row for eosvegasjack: secrets - unknown type \"secrets\"" ], "primary_key" : "?, "scope" : "eosvegasjack", "table" : "secrets", "where" : "table_row_update" }
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.