46
General Discussion / Re: Witness participation: 61%
« on: October 14, 2015, 07:54:46 pm »
Looks like several of the affected witnesses are back on the correct fork and the participation rate is now 78%.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
i couldnt build graphene since i was on 14.04 trusty and i couldnt install gcc 4.9 in time, had to go to work. WIll get to it later.
$ g++ --version
g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
Until now I didn't realize the object_database and genesis.json file location (if it is provided in the config.ini and not the --genesis-json cmd line arg) are relative to the folder from which the witness_node binary is executed.I believe it's related to a bug which hasn't been fixed, probably due to low priority.
I made the assumption that everything is relative to the --data-dir folder where the config.ini is found. Although I noticed the genesis.json and object_database were in a different location than the blockchain, config.ini etc, it never occured to me why, since I always launched from the same place each time.
I realize this is a very low priority request, but may I suggest the code be changed to "chroot" (so to speak) the location of all files to the value provided by the --data-dir (-d) command line argument. What would the reason be for not doing that, or not putting the object_database in the same place as the blockchain? Perhaps there is a good reason, but I can't think of any.
https://github.com/cryptonomex/graphene/issues/257
cmake -DGRAPHENE_EGENESIS_JSON=path/to/genesis -DCMAKE_BUILD_TYPE=Release .
make clean
rm -f CMakeCache.txt
find . -name CMakeFiles | xargs rm -Rf
Confirmed. Changed the seed node to puppies and everything was fine.
The config.ini states multiple seed node definitions are OK. Does that mean if one fails (as in yesterday) the code will use another one if it is defined?
It may be supicious, but look at it - it is the correct chainID. I do not know why the marque is shown. Have you never seen that? It's just another thing odd about this.
In Graphene terminology, "reindexing" and "replaying" are the same thing.
Yes, I thought they were different. If they are truly the same thing, why bother having 2 separate command line args?
I bet you guys just like to confuse us for fun!
rm -Rf witness_node_data_dir/blockchain/object_database # this is what reindex / replay does
rm -Rf witness_node_data_dir/blockchain # this is what resync does
If it was only replaying it never caught up. It just ended in a firey crash:Quotewitness_node: /home/deletech/BitShares2_build/libraries/fc/src/thread/thread_d.hpp:370: bool fc::thread_d::start_next_fiber(bool): Assertion `std::current_exception() == std::exception_ptr()' failed.
Aborted
Note that it never gets to 100%, but I see now that these percentages aren't for the replay but rather for the reindexing. If the replay is still in progress and the blockchain is yet to be synced, why does it consistently fail and crash? I notice these "get_blockchain_synop" lines also appear quite frequently in the witness node that is working properly and signing blocks.
At least I think it's working properly, I don't see my missed blocks count increasing and I do see blocks from other witnesses and these lines:Quote2748001ms th_a witness.cpp:176 block_production_loo ] Generated block #111989 with timestamp 2015-10-09T20:45:48 at time 2015-10-09T20:45:48Which tell me all is well.
Can't seem to get another instance up and running. I've verified all of the wallets, config and binaries with md5sum to working versions. I've deleted the object_database and blockchain. I've tried --resync-blockchain, --replay-blockchain options. Everytime I start the witness I get this output:Code: [Select]2114494ms th_a application.cpp:712 get_blockchain_synop ] synopsis: ["0000019a905fb92
2c6c7c8e72d1b09c04425e0c1"]
2114531ms th_a application.cpp:712 get_blockchain_synop ] synopsis: ["0000019a905fb92
2c6c7c8e72d1b09c04425e0c1"]
2118682ms th_a application.cpp:712 get_blockchain_synop ] synopsis: ["0000019a905fb92
2c6c7c8e72d1b09c04425e0c1","000001a1895e7bb499ff3f12bd5eda0a050488de","000001a4236eb3795a2cfa9c5d9f00177fd0b14c","000001a64a8f85ec0c46910dc9eb8ad1ad6a5d10"]
2118852ms th_a application.cpp:712 get_blockchain_synop ] synopsis: ["0000019a905fb922c6c7c8e72d1b09c04425e0c1","000001a1895e7bb499ff3f12bd5eda0a050488de","000001a4236eb3795a2cfa9c5d9f00
177fd0b14c","000001a64a8f85ec0c46910dc9eb8ad1ad6a5d10"]
cli_wallet does not show correct "info" at all. Using the same seed as working VPS (104.236.51.238:2005)
BTW - I still haven't found a way to stop the witness cleanly. The only way I know to stop it at all is with ^C. Sometimes it reports "Aborted ..." in the output but most of the time when it is restarted it complains it was shutdown uncleanly.
Is there a signal that will do it properly? St least in the old code there was a "quit" command, although it often resulted in a corrupted blockchain database. Can this fundamental issue not be fixed?
Stress test will begin at 19:00 UTC (in 2 hours).
When I try to connect the cli_wallet to my local witness node it crashes with the following segfault:Code: [Select]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff4f86700 (LWP 7101)]
0x0000000000ed7d98 in websocketpp::processor::hybi13<fc::http::detail::asio_with_stub_log>::consume(unsigned char*, unsigned long, std::error_code&) ()
(gdb) backtrace
#0 0x0000000000ed7d98 in websocketpp::processor::hybi13<fc::http::detail::asio_with_stub_log>::consume(unsigned char*, unsigned long, std::error_code&) ()
All it needs for me is runCode: [Select]./programs/cli_wallet/cli_wallet -s ws://127.0.0.1:8090
(which gets stuck after wdata.ws_user: wdata.ws_password:)
here is my automatic failover script powered by xerocs python-graphenelib. I am a noob at teh programming, and if I did anything wrong I would love the feedback.
The wallet this script is running through needs to be unlocked, and must contain the owner key (I think its the owner key, rather than the active key) of the witness.