Skip to content
This repository has been archived by the owner on Jan 6, 2020. It is now read-only.

start local_network_controller malloc error on Mac #187

Open
ronaldlee opened this issue Dec 28, 2014 · 12 comments
Open

start local_network_controller malloc error on Mac #187

ronaldlee opened this issue Dec 28, 2014 · 12 comments

Comments

@ronaldlee
Copy link

When executing local_network_controller, vault fails to start and throw memory error.. the vault number it fails on seems to be random, and sometimes multiple vaults will throw the memory error.

This is the screen I got:

MaidSafe Local Network Controller 0.2.1: Main Options

Initial options.
Please choose from the following options ('q' to quit):

  1. Start a new network on this machine.
  2. Connect to an existing VaultManager on this machine.
  3. Connect to an existing Network.

1

Start Network

Path to VaultManager root directory. 'Enter' to use default
"/var/folders/m0/2pz3yb810dsfx8sw9y9yg28r0000gn/T/MaidSafe_TestNetwork"

Clear VaultManager root directory. Do you wish to remove all contents of
"/var/folders/m0/2pz3yb810dsfx8sw9y9yg28r0000gn/T/MaidSafe_TestNetwork"?
[y/n]. 'Enter' to use default "y".

Path to vault executable. 'Enter' to use default
"/Users/ronaldlee/maidsafe/build_maidsafe/./vault".

VaultManager listening port. This should be between
1025 and 65536 inclusive. 'Enter' to use default "44444".

Number of Vaults to start.
This must be at least 16.
There is no upper limit, but more than 20 on one PC will probably
cause noticeable performance slowdown. 'Enter' to use default "16".

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
vault(431,0x112844000) malloc: *** mmap(size=8718968878589284352) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Starting vault 14
Starting vault 15
Starting vault 16
local_network_controller(415,0x10604f000) malloc: *** mmap(size=3458764513820545024) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
stopping vault 1
stopping vault 2
stopping vault 3
stopping vault 4
stopping vault 5
stopping vault 6
stopping vault 7
stopping vault 8
stopping vault 9
stopping vault 10
stopping vault 11
stopping vault 12
stopping vault 13
stopping vault 14
stopping vault 15
stopping vault 16

Sequence of entered commands:

Commands begin.

Initial options.

Initial options.

Initial options.

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.

@dirvine
Copy link
Contributor

dirvine commented Dec 28, 2014

Could be related to the machine you are using to start a network on, is it
32 bit by chance ? or low on memory ? The seed node can prove to be a tough
one I know th eQa team had some issues with a recent build.

On Sun, Dec 28, 2014 at 10:06 PM, ronaldlee [email protected]
wrote:

When executing local_network_controller, vault fails to start and throw
memory error.. the vault number it fails on seems to be random, and
sometimes multiple vaults will throw the memory error.

This is the screen I got:
MaidSafe Local Network Controller 0.2.1: Main Options

Initial options.
Please choose from the following options ('q' to quit):

  1. Start a new network on this machine.

  2. Connect to an existing VaultManager on this machine.

  3. Connect to an existing Network.

    1

    Start Network

Path to VaultManager root directory. 'Enter' to use default
"/var/folders/m0/2pz3yb810dsfx8sw9y9yg28r0000gn/T/MaidSafe_TestNetwork"

Clear VaultManager root directory. Do you wish to remove all contents
of
"/var/folders/m0/2pz3yb810dsfx8sw9y9yg28r0000gn/T/MaidSafe_TestNetwork"?
[y/n]. 'Enter' to use default "y".

Path to vault executable. 'Enter' to use default
"/Users/ronaldlee/maidsafe/build_maidsafe/./vault".

VaultManager listening port. This should be between
1025 and 65536 inclusive. 'Enter' to use default "44444".

Number of Vaults to start.
This must be at least 16.
There is no upper limit, but more than 20 on one PC will probably
cause noticeable performance slowdown. 'Enter' to use default "16".

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
vault(431,0x112844000) malloc: *** mmap(size=8718968878589284352) failed
(error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Starting vault 14
Starting vault 15
Starting vault 16
local_network_controller(415,0x10604f000) malloc: ***
mmap(size=3458764513820545024) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
stopping vault 1
stopping vault 2
stopping vault 3
stopping vault 4
stopping vault 5
stopping vault 6
stopping vault 7
stopping vault 8
stopping vault 9
stopping vault 10
stopping vault 11
stopping vault 12
stopping vault 13
stopping vault 14
stopping vault 15
stopping vault 16

Sequence of entered commands:
Commands begin. Initial options. Initial options. Initial options. 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.


Reply to this email directly or view it on GitHub
#187.

David Irvine
twitter: @metaquestions
blog: http://metaquestions.me

@ronaldlee
Copy link
Author

I am using a pretty old macbook pro, at least 4+ years old. It is a 2.53 GHz Intel Core 2 Duo which should be 64bit, with 4 GB 1067 MHz DDR3 memory and I am not running much on it except the chrome browser with a bunch of tabs open. Will try to see if I can kill anything else.

@dirvine
Copy link
Contributor

dirvine commented Dec 29, 2014

That should be fine I think, I am currently working in routing but can stop
and take a look later I hope (time is my arch enemy right now)

On Sun, Dec 28, 2014 at 10:50 PM, ronaldlee [email protected]
wrote:

I am using a pretty old macbook pro, at least 4+ years old. It is a 2.53
GHz Intel Core 2 Duo which should be 64bit, with 4 GB 1067 MHz DDR3 memory
and I am not running much on it except the chrome browser with a bunch of
tabs open. Will try to see if I can kill anything else.


Reply to this email directly or view it on GitHub
#187 (comment).

David Irvine
twitter: @metaquestions
blog: http://metaquestions.me

@ronaldlee
Copy link
Author

Just try to run it again and it seems to be working. I did close my browser but it fails once and suddenly after couple hourse later and try again it works.. not sure whats going on, kind of random. With this running, what kind of things I can do with it?? Does this support some kind of network protocol so I can just make a request from any kind of clients, say a http protocol to 'get' or 'put' data to it, or a restful api, something like that? Or I have to build a C++ client to interact with it?

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)
Account created for Maid ab4ee5..d3bee6
PublicPmid keys stored and verified successfully
Network setup completed successfully.
To keep the network alive or stay connected to VaultManager, do not exit this tool.

@dirvine
Copy link
Contributor

dirvine commented Dec 29, 2014

There are some tests you can run, but you would need to build a client App unless you do wait on the API in different languages. What you have there is an autonomous network but seeding is hard you need to add more nodes and tear these seed nodes down. If you have many machines you can create your own network, link to the visualiser and run some test code. You can see the testnets in the visualiser anyway even without your local network there.

Is there something in particular you are after (remember we are not launched so it would be limited what you can do, unless you can c+ then there is a load to do :-) ) ?

@ronaldlee
Copy link
Author

What do you mean by 'seeding' and why do i need to tear those seed nodes down? I just start looking into this yesterday so haven't really had a really good understanding yet. Actually how do these nodes discover each other? Do you still need to run a special node that knows where to look for the other nodes? Like your client will actually need to configure an IP of that node to register itself to?? I think I read about different 'roles' a node can have. I am just curious and want to find out more what this can do, what kind of apps that currently run on the Internet owned by some other companies (Amazon/Google/Facebook/Dropbox.. etc) can be ported to this environment, and what kind of new things that can become possible now with this.

@dirvine
Copy link
Contributor

dirvine commented Dec 29, 2014

Lots and lots of pages of documentation are on line :-) you should visit maidsafe.org and read the systemdocs. Check the Nfs API and you will see a lot. Seeding nodes are special and sacrificial (they are not good nodes and are childlike) think of seed nodes as nodes that can store keys that are incorrect, but are told of these by each other rather than saved.

I am sorry I am limited on time to answer all of this, check amazon dynamo, netflix dynamite, kadmelia and skademlia papers for a very rudimentary start though then hadoop and cassandra. That will all help a lot but cannot be shortened to a few sentences unfortunately.

@ronaldlee
Copy link
Author

cool let me take a look at those doc first. Thanks!

@frabrunelle
Copy link

@ronaldlee: I recommend you read this article. It gives a good overview of the SAFE Network. And the System Docs are a great resource too. They are hosted here.

Let me know if you have any questions 😄

@ronaldlee
Copy link
Author

Thanks @frabrunelle. I actually read the first article already. I am reading the system docs now and try to get a better understanding.

@frabrunelle
Copy link

Awesome!

I am also working on an online course with a PhD student from McGill to introduce all the core ideas and algorithms behind the SAFE Network in a technical yet intuitive and accessible manner. The first lecture (which is about the XOR Distance and Basic Routing) is available here, the second one will be published online very soon and the third one will be recorded in January.

@ronaldlee
Copy link
Author

Great! will definitely check that out for sure after i am done with the sys docs!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants