Testnet2: Building next on Odroid-U3 / Ubuntu 14.04

Yes these are the timers we are removing. The put worked but we had a magic number and decided it did not. You know my feelings on these numbers / timers hatred does not begin … :smile: I am delighted to be back in code and killing these things dead. Timers are OK if they are very local but otherwise only able to be set by an omnipotent being and we do not employ those :smiley:

2 Likes

root@algorithm1100:~/oct22/build# ./network_test_api
[==========] Running 10 tests from 3 test cases.
[----------] Global test environment set-up.
[----------] 5 tests from PrivateClientTest
[ RUN ] PrivateClientTest.FUNC_CreateValidAccount
[ OK ] PrivateClientTest.FUNC_CreateValidAccount (19422 ms)
[ RUN ] PrivateClientTest.FUNC_CreateMultipleAccounts
[ OK ] PrivateClientTest.FUNC_CreateMultipleAccounts (176955 ms)
[ RUN ] PrivateClientTest.FUNC_CreateDuplicateAccount
[ OK ] PrivateClientTest.FUNC_CreateDuplicateAccount (38441 ms)
[ RUN ] PrivateClientTest.FUNC_ValidLogin
[ OK ] PrivateClientTest.FUNC_ValidLogin (43436 ms)
[ RUN ] PrivateClientTest.FUNC_InvalidLogin
[ OK ] PrivateClientTest.FUNC_InvalidLogin (13156 ms)
[----------] 5 tests from PrivateClientTest (291411 ms total)

[----------] 4 tests from AccountHandlerTest
[ RUN ] AccountHandlerTest.FUNC_Constructor
[ OK ] AccountHandlerTest.FUNC_Constructor (18119 ms)
[ RUN ] AccountHandlerTest.FUNC_EncryptDecryptAccount
[ OK ] AccountHandlerTest.FUNC_EncryptDecryptAccount (14422 ms)
[ RUN ] AccountHandlerTest.FUNC_Login
[ OK ] AccountHandlerTest.FUNC_Login (18041 ms)
[ RUN ] AccountHandlerTest.FUNC_Save
[ OK ] AccountHandlerTest.FUNC_Save (20607 ms)
[----------] 4 tests from AccountHandlerTest (71192 ms total)

[----------] 1 test from AccountGetterTest
[ RUN ] AccountGetterTest.FUNC_Constructor
[ OK ] AccountGetterTest.FUNC_Constructor (33794 ms)
[----------] 1 test from AccountGetterTest (33794 ms total)

[----------] Global test environment tear-down
[==========] 10 tests from 3 test cases ran. (396397 ms total)
[ PASSED ] 10 tests.

2 Likes

Not sure if it is co-incidence, but the Docker build seems to have a lot more of those issues than the other builds. I’ll try running some more on those, but here’s the longest Docker build o/p:

./network_test_api
[==========] Running 10 tests from 3 test cases.
[----------] Global test environment set-up.
[----------] 4 tests from AccountHandlerTest
[ RUN ] AccountHandlerTest.FUNC_Constructor
[ OK ] AccountHandlerTest.FUNC_Constructor (9928 ms)
[ RUN ] AccountHandlerTest.FUNC_EncryptDecryptAccount
[ OK ] AccountHandlerTest.FUNC_EncryptDecryptAccount (14030 ms)
[ RUN ] AccountHandlerTest.FUNC_Login
[ OK ] AccountHandlerTest.FUNC_Login (40652 ms)
[ RUN ] AccountHandlerTest.FUNC_Save
/root/MaidSafe/src/api/src/maidsafe/tests/account_handler_test.cc:132: Failure
Failed
/root/MaidSafe/src/nfs/src/maidsafe/nfs/client/client_utils.cc(39): Throw in function void maidsafe::nfs_client::HandleGetVersionsOrBranchResult(const maidsafe::nfs_client::StructuredDataNameAndContentOrReturnCode&, std::shared_ptr<boost::promise<std::vectormaidsafe::StructuredDataVersions::VersionName > >)
Dynamic exception type: N5boost16exception_detail10clone_implINS0_19error_info_injectorIN8maidsafe12common_errorEEEEE
std::exception::what: Class is uninitialised.

To potentially replicate the failure, try re-running with:
–gtest_filter=AccountHandlerTest.FUNC_Save --seed 2445048111
[ FAILED ] AccountHandlerTest.FUNC_Save (62765 ms)
[----------] 4 tests from AccountHandlerTest (127375 ms total)

[----------] 1 test from AccountGetterTest
[ RUN ] AccountGetterTest.FUNC_Constructor
[ OK ] AccountGetterTest.FUNC_Constructor (86747 ms)
[----------] 1 test from AccountGetterTest (86747 ms total)

[----------] 5 tests from PrivateClientTest
[ RUN ] PrivateClientTest.FUNC_CreateValidAccount
[ OK ] PrivateClientTest.FUNC_CreateValidAccount (76383 ms)
[ RUN ] PrivateClientTest.FUNC_CreateMultipleAccounts
[ OK ] PrivateClientTest.FUNC_CreateMultipleAccounts (411282 ms)
[ RUN ] PrivateClientTest.FUNC_CreateDuplicateAccount
/root/MaidSafe/src/api/src/maidsafe/tests/private_client_test.cc:86: Failure
Value of: ThrowsAs([&] { private_client_future.get(); }, VaultErrors::data_already_exists)
Actual: false (expected exception “MaidSafe Vault:11” with message “Attempt to put data which already exists”, but it threw nothing)
Expected: true
To potentially replicate the failure, try re-running with:
–gtest_filter=PrivateClientTest.FUNC_CreateDuplicateAccount --seed 2445048115
[ FAILED ] PrivateClientTest.FUNC_CreateDuplicateAccount (93745 ms)
[ RUN ] PrivateClientTest.FUNC_ValidLogin
/root/MaidSafe/src/api/src/maidsafe/tests/private_client_test.cc:109: Failure
Expected: private_client = private_client_future.get() doesn’t throw an exception.
Actual: it throws.
To potentially replicate the failure, try re-running with:
–gtest_filter=PrivateClientTest.FUNC_ValidLogin --seed 2445048116
[ FAILED ] PrivateClientTest.FUNC_ValidLogin (104075 ms)
[ RUN ] PrivateClientTest.FUNC_InvalidLogin
[ OK ] PrivateClientTest.FUNC_InvalidLogin (32349 ms)
[----------] 5 tests from PrivateClientTest (717834 ms total)

[----------] Global test environment tear-down
[==========] 10 tests from 3 test cases ran. (931956 ms total)
[ PASSED ] 7 tests.
[ FAILED ] 3 tests, listed below:
[ FAILED ] AccountHandlerTest.FUNC_Save
[ FAILED ] PrivateClientTest.FUNC_CreateDuplicateAccount
[ FAILED ] PrivateClientTest.FUNC_ValidLogin

3 FAILED TESTS

Timer errors will vary from machine to machine and different workloads, they are mental and in my sights for a slaughter :slight_smile: They are not real errors but the throw is - we throw if a timer times out even if the operation succeeded after the timer, I feel my blood boiling just writing this. These timers must die die die !!!

Don’t explode yet man :-). Thought I’d run the Odroid again and got this…

[ RUN ] AccountHandlerTest.FUNC_Save
terminate called after throwing an instance of ‘std::bad_weak_ptr’
what(): bad_weak_ptr
Aborted

EDIT: Maybe as I already had a detached terminal with the old ./network_test_api running… oops :slight_smile:

No, ran again and same error at different point. Reckon this is all known stuff so I’m gonna stop torturing @dirvine with 'em :wink:

1 Like

So that’s official then, the solar powered node is up and you’ve booked surgical removal…nice one :slight_smile:

By the way, what battery are you using on that node…is it a dedicated unit or off the main boat system?

I have two schemes:

  • remote admin of nodes sitting in someone else’s house with mains and conventional broadband. I’m using Odroids with USB disks to minimise power and h/w cost and will play with vault configs to gather info on farming setups

  • my home / boat which is off-grid, powered by solar / diesel generator, charging a 450Ah 12v battery bank, of which about 150Ah (1.8KWh) is usable (for various technical reasons). Internet here is via my phone, so not 24x7 as I often need it with me when I’m not here. So because of internet being dependent on my phone the off-grid farming is only experimental, but I would love to figure out a way of getting a permanent connection here for farming.

3 Likes

with subtitles :slight_smile:

4 Likes

Hang in there. We’re all Maidsafe otaku.

2 Likes

Great work…

really need subtitle!!!

1 Like

thanks

1 Like