Comments (11)
Latest chain files with current neo core master code base are now syncing without issue.
from neo-vm.
BTW in case anyone else hits this, I am fairly sure the issue was actually breaching the maximum open files limit for the process. Make sure to up those when syncing from chain file if using a very fast disk and running on a flavor of Linux with a low default file descriptor limit (1024 is common, but not enough).
from neo-vm.
Maybe by examining common script calls made by ANcEb4Xw8ouJnk5e5Q1z6o92Z67pNrydQ2
and by AWnA7E3tNpc3vtYRWdxkHYiRBBu2mSsAYR
before the block numbers given in my exception messages will give a clue as to what operations might have been non-deterministic. I wish I had more information already to go on, but I had a lot of other things going on and not able to give this issue a lot of time yet.
If anyone else has reproduced and is looking into it, comment here and let me know.
from neo-vm.
@jsolman that's a very good initiative! Vitor and I have been discussion with Wingy and others regarding how to provide a more stable platform regarding storage. I'll take a look soon on this issue... you can use ```cs on github to put C# code (with highlighting and stuff) ;)
from neo-vm.
I did use ``` Probably just not in the initial comment though; so it probably only emails the initial one that didn't have the usage of it, but I added it within a short time of the initial post.
from neo-vm.
I can't reproduce this issue. None of the nodes I ran encountered this problem. Includes all consensus nodes and seed nodes in both mainnet and testnet.
from neo-vm.
What version of leveldb are they running? Maybe something is wrong with my leveldb. I’ll look into that first.
Update: I don't think anything is wrong with my leveldb
from neo-vm.
MainNet Consesnus nodes are not running the latest VM. I have confirmed it even though no one seems to say what vm code the consensus nodes are actually running.
There are implications with this, as people running the latest VM that use a NEP8 enabled contract on MainNet that exchange NEP5 could end up with balances on their nodes != balances on other nodes and consensus nodes, but after the consensus nodes are updated and resync the chain from the beginning they will see the balances the same as the new nodes running now that support NEP8.
I think it is important to update current MainNet consensus nodes to the latest VM as a high priority.
@erikzhang Can you confirm that when you synced the chain on 2.9.0 and didn't experience the problem I'm reporting here, that it was built using v2.3.1.1 of the VM?
from neo-vm.
One thing this indicates to me is the advantage that it would be to have a merkle tree backing the storage and adding the hash of storage into the block header. Or having hash of the full state related to the VM execution (could for instance verify the hash of all instructions executed in the block) -- this is related to the idea here: neo-project/neo#385
from neo-vm.
Maybe for Neo 3.0 the gas consumed for a block during the contract execution can be included in the block header and any changes to vm can be explicitly enabled by block height.
This would be less expensive to calculate and way less resource intensive than the merkle tree of storage, etc, but merkle tree of storage allows light nodes to verify their storage retrieved using block headers; maybe want both.
from neo-vm.
The consensus nodes will be upgraded to 2.9 next week as planned.
from neo-vm.
Related Issues (20)
- Nested Nested Nested Nested `StackItem`s could be Out Out Out Out of Memory Again in NeoVM HOT 7
- Optimise the performance of VM with ObjectPool or reusing the existing objects. HOT 4
- Shallow-copy problem for OrderedDictionary.CopyTo in case of Array & Map type HOT 6
- Add 'utf8Size' opcode HOT 4
- Script checks are incomplete
- Can I integrate this vm in to my custom projects? HOT 1
- Efficient way to pass Map type to contract method? OpCode.PACKMAP? HOT 1
- Adapt code documentation of UNPACK opcode
- ReferenceCounter can become negative HOT 18
- Is this `MEMCPY` expected to push nothing to the stack?
- ScriptBuilder should have an emitPush overload that takes a ReadOnlySpan<byte>
- How to customize an interface in interoperation service layer HOT 3
- Presssure test on v3.3.0 cause execution failed HOT 1
- v3.3.0 need more than 30 hours for syncing mainnet even it's just about 1.7million blocks HOT 2
- What is the purpose of the second assert of this test? HOT 1
- Missing push in APPEND?
- EmitPush(bool) should convert stackitem to right type
- Set Operation in a Get Function HOT 2
- Nullable Project HOT 5
- Script class crashes on `GetInstruction(i).Size` HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from neo-vm.