Giter VIP home page Giter VIP logo

eos-chronicle's People

Contributors

avm07 avatar cc32d9 avatar marcuswin avatar wapaca avatar yakud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eos-chronicle's Issues

error and coredump on fork

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'.

Chronicle disconnects with a warning, not an error

  • often when I start it, I get 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 consumer
  • on the other occasion when I actually got it working, I get messages which are not utf-8 encoded. How are messages encoded? I can not find this in the documentation, and the example uses utf-8 to decode messages
  • I can't find much documentation on what the different message types mean and what they look like, am I missing something?

Debug should be off by default

Get 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

Segfault running in ubuntu:jammy container

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:
image

Any ideas what might be causing this?

cannot add chainbase and abieos in CMakeLists.txt

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".

Fork acknowledgement unexpectedly closes receiver

  • I receive a BLOCK_COMPLETED msg for block 91767958
  • I ack block 91767958
  • I get a FORK msg: {"block_num: 91767957, "depth":1, 'last_irreversible": 91767647 ... }
  • I ack block 91767956 (fork block minus 1)
  • Chronicle receiver closes the connection because block 91767958 was already acknowledged
  • Chronicle exits cleanly
  • Chronicle reconnects and reverts to block 91767647 - so seems that previous ack (91767958) was lost

Error in chronicle-ws-dumper.pl

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); }

Malformed JSON in sample output

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" }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.