Local Network Controller error

When I run the Local Network Controller I get this error:

/home/testing/MaidSafe/src/common/src/maidsafe/common/sqlite3_wrapper.cc(81): Throw in function maidsafe::sqlite::Transaction::Transaction(maidsafe::sqlite::Databes&)
Dynamic exception type: N5boost16exception_detail10clone_implINS0_19error_info_injectorIN8maidsafe12common_errorEEEEE
std::exception::what: Unstable to handle request

When I cd into:
/home/testing/MaidSafe/src/common/src/maidsafe/common/
and do git branch it says it is on the next branch.

Any suggestions on how to deal with this?
Thanks

Now when I run the Local Network Controller I get a different message. I have not changed anything I have just run it more times. The new message is:

Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: N5boost16exception_detail10clone_implINS0_19error_info_injectorIN8maidsafe14maidsafe_errorEEEEE
std::exception::what: Defaulted

Any help is appreciated.
Thanks

@testing I was getting errors, I’m not sure if the same or different, but repeated runs eventually worked. Apparently it is due to timing issues and magic numbers, which are being eliminated. I’m not sure you are hitting the same thing, but it is possible that running more times will eventually work.

Yeah, same here. Btw. are we supposed to use this forum or still the google group?

    /home/hillbicks/build_maidsafe/boost_1_55_0_Clang_3_5_0/boost/asio/basic_io_object.hpp:124:5: runtime error: member call on address 0x000007a5e2d0 which does not point to an object of type 'boost::asio::waitable_timer_service<std::chrono::_V2::steady_clock, boost::asio::wait_traits<std::chrono::_V2::steady_clock> >'
0x000007a5e2d0: note: object has invalid vptr
 00 00 00 00  20 51 a7 07 00 00 00 00  50 ba b1 03 00 00 00 00  00 00 00 00 00 00 00 00  18 e9 a5 07
              ^~~~~~~~~~~~~~~~~~~~~~~
              invalid vptr
/home/hillbicks/build_maidsafe/boost_1_55_0_Clang_3_5_0/boost/asio/waitable_timer_service.hpp:90:5: runtime error: member access within address 0x000007a5e2d0 which does not point to an object of type 'boost::asio::waitable_timer_service<std::chrono::_V2::steady_clock, boost::asio::wait_traits<std::chrono::_V2::steady_clock> >'
0x000007a5e2d0: note: object has invalid vptr
 00 00 00 00  20 51 a7 07 00 00 00 00  50 ba b1 03 00 00 00 00  00 00 00 00 00 00 00 00  18 e9 a5 07
              ^~~~~~~~~~~~~~~~~~~~~~~
              invalid vptr
Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: N5boost16exception_detail10clone_implINS0_19error_info_injectorIN8maidsafe14maidsafe_errorEEEEE
std::exception::what: Defaulted

Can you paste the command history it prints on close, or manually state the options you choose in the LNC?

Thanks

I have tried a couple dozen times. I selected 1 to start a new network on this machine and then hit enter to go with the five default choices. This is what I now consistently get:

Creating 16 sets of Pmid keys (this may take a while)
Creating two zero state routing nodes
Creating VaultManager and ClientInterface
Starting vault 1
Starting vault 2
Shutting down zero state routing nodes
Starting vault 3
Starting vault 4
Starting vault 5
Starting vault 6
Starting vault 7
Starting vault 8
Starting vault 9
Starting vault 10
Starting vault 11
Starting vault 12
Starting vault 13
Starting vault 14
Starting vault 15
Starting vault 16
Started Network of 16 Vaults - waiting for network to stabilise
Storing PublicPmid keys (this may take a while)

Sequence of entered commands:

### Commands begin.
### Initial options.
1
### Path to VaultManager root directory.

### Create VaultManager root directory.

### Path to vault executable.

### VaultManager listening port.

### Number of Vaults to start.

### Commands end.

Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: N5boost16exception_detail10clone_implINS0_19error_info_injectorIN8maidsafe14maidsafe_errorEEEEE
std::exception::what: Defaulted
Creating 16 sets of Pmid keys (this may take a while)
Creating two zero state routing nodes
Creating VaultManager and ClientInterface
Starting vault 1
Starting vault 2
Shutting down zero state routing nodes
Starting vault 3
Starting vault 4
Starting vault 5
Starting vault 6
Starting vault 7
Starting vault 8
Starting vault 9
Starting vault 10
Starting vault 11
Starting vault 12
Starting vault 13
Starting vault 14
Starting vault 15
Starting vault 16
Started Network of 16 Vaults - waiting for network to stabilise
Storing PublicPmid keys (this may take a while)

Sequence of entered commands:

### Commands begin.
### Initial options.
1
### Path to VaultManager root directory.

### Create VaultManager root directory.

### Path to vault executable.

### VaultManager listening port.

### Number of Vaults to start.

### Commands end.

Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: N5boost16exception_detail10clone_implINS0_19error_info_injectorIN8maidsafe14maidsafe_errorEEEEE
std::exception::what: Defaulted

The first try I didn’t enter anything and went with the default (except for question 1), which resulted in the error posted above.

### Commands begin.
### Initial options.
1
### Path to VaultManager root directory.

### Clear VaultManager root directory.

### Path to vault executable.

### VaultManager listening port.

### Number of Vaults to start.

### Commands end.

Same errors when entering the default values manually

Sequence of entered commands:

### Commands begin.
### Initial options.
1
### Path to VaultManager root directory.
/tmp/MaidSafe_TestNetwork
### Clear VaultManager root directory.
y
### Path to vault executable.
/home/hillbicks/build_maidsafe/vault
### VaultManager listening port.
44444
### Number of Vaults to start.
16
### Commands end.

/home/hillbicks/build_maidsafe/boost_1_55_0_Clang_3_5_0/boost/asio/basic_io_object.hpp:124:5: runtime error: member call on address 0x000006df8fa0 which does not point to an object of type 'boost::asio::waitable_timer_service<std::chrono::_V2::steady_clock, boost::asio::wait_traits<std::chrono::_V2::steady_clock> >'
0x000006df8fa0: note: object has invalid vptr
 00 00 00 00  00 00 00 00 00 00 00 00  50 ba b1 03 00 00 00 00  00 00 00 00 00 00 00 00  c8 26 e0 06
              ^~~~~~~~~~~~~~~~~~~~~~~
              invalid vptr
/home/hillbicks/build_maidsafe/boost_1_55_0_Clang_3_5_0/boost/asio/waitable_timer_service.hpp:90:5: runtime error: member access within address 0x000006df8fa0 which does not point to an object of type 'boost::asio::waitable_timer_service<std::chrono::_V2::steady_clock, boost::asio::wait_traits<std::chrono::_V2::steady_clock> >'
0x000006df8fa0: note: object has invalid vptr
 00 00 00 00  00 00 00 00 00 00 00 00  50 ba b1 03 00 00 00 00  00 00 00 00 00 00 00 00  c8 26 e0 06
              ^~~~~~~~~~~~~~~~~~~~~~~
              invalid vptr
Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: N5boost16exception_detail10clone_implINS0_19error_info_injectorIN8maidsafe14maidsafe_errorEEEEE
std::exception::what: Defaulted

These may be due to something else guys. I’ll leave it for the devs. You’re nearly there though!

hi, can you post which version of g++ you have installed on your machine? run

g++ --version

to find out. Thanks

g++ --version
g++ (Ubuntu 4.8.2-19ubuntu1) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

It’s the standard install on a ubuntu 14.04.1 LTS system.

Can you run

/sbin/ldconfig -p | grep stdc++

It should print two paths for libc6 after ‘=>’, copy this path into the following command

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep LIBCXX

but with your path replaced. Does it list GLIBCXX_3.4.20 or is 3.4.19 the last version?

Thanks for helping us find the issue !
Ben

Huh, nope, latest version seems to be 3.4.19

hillbicks@pod2:~$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep LIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH

Alright, back to square one :). @testing, can you run similar commands?

@hillbicks, can you build with clang-3.5 release instead of debug? Make a new build folder by rerunning the cmake configuration and add this build type flag:

cmake -DCMAKE_BUILD_TYPE=Release

New build is running, will take some time though until it’s finished. Will post back with resultts. Thanks for taking the time :slight_smile:

You’re welcome, thank you for helping us out. The local network controller is a temporary tool we are looking to put out of service and move to the vault manager as a proper daemon. In the meantime though, there are bugs that need to rooted out.

The I can find two bugs in LNC, one relates to start_network.cc - failure to retrieve the stored PMID keys, that can be patched. The one both of you report on is less clear where it is coming from. On two of my machines (both ubuntu) LNC works reliably, but on a third ubuntu I can reproduce the errors you are reporting. So we need to find out what is the differentiating factor.

thanks

a quick update, if I transfer the executables built on a system where it works to the failing third machine, then it runs successfully. So that indicates to me not a hardware but compiler configuration difference that causes the bug.

Hear you soon

Well, now the build fails

 38%] Performing build step for 'boost_python'
CMake Error at /home/hillbicks/MaidSafe/build_maidsafe2/boost_1_55_0/src/boost_python-stamp/boost_python-build.cmake:16 (message):
  Command failed: 1

   '/home/hillbicks/MaidSafe/build_maidsafe2/boost_1_55_0_Clang_3_5_0/b2' 'link=static' 'threading=multi' 'runtime-link=shared' '--build-dir=Build' 'stage' '-d+2' '--hash' 'variant=release' 'cxxflags=-fPIC' 'cxxflags=-std=c++11' '-sNO_BZIP2=1' '--layout=tagged' 'toolset=clang-3.5' '--with-python'

  See also

    /home/hillbicks/MaidSafe/build_maidsafe2/boost_1_55_0/src/boost_python-stamp/boost_python-build-*.log



make[2]: *** [boost_1_55_0/src/boost_python-stamp/boost_python-build] Error 1
make[1]: *** [src/third_party_libs/CMakeFiles/boost_python.dir/all] Error 2
make: *** [all] Error 2

boost_python-stamp/boost_python-build-err.log

link.jam: No such file or directory

boost_python-stamp/boost_python-build-out.log <—This error is repeated a couple of times.

./boost/python/detail/wrap_python.hpp:50:11: fatal error: 'pyconfig.h' file not found
# include <pyconfig.h>
          ^
1 error generated.

And just to be sure, this is the cmake command I used

cmake -H/home/hillbicks/MaidSafe/ -Bbuild_maidsafe2 -DCMAKE_BUILD_TYPE=Release  -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang

I also get:
GLIBCXX_3.4.19
at the end of the list the same as @hillbicks.

I also get:

g++ (Ubuntu 4.8.2-19ubuntu1) 4.8.2
Copyright © 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.