Git Product home page Git Product logo

Comments (26)

cschuchardt88 avatar cschuchardt88 commented on July 19, 2024

Need more information.

from neo.

vncoelho avatar vncoelho commented on July 19, 2024

Need more information.

description updated

from neo.

shargon avatar shargon commented on July 19, 2024

Seems that the data is corrupted, it's a fresh installation?

from neo.

vncoelho avatar vncoelho commented on July 19, 2024

fresh with master

from neo.

vncoelho avatar vncoelho commented on July 19, 2024

Seems that the data is corrupted, it's a fresh installation?

probably due to the unhanded exception management feature, but still did not investigate further.
It is easy to reproduce. Just run a node.

from neo.

Hecate2 avatar Hecate2 commented on July 19, 2024

Is it because the 4 nodes are using the same directory for leveldb?

from neo.

cschuchardt88 avatar cschuchardt88 commented on July 19, 2024

Based off the source code from you error, It look like this Your database is corrupt. try deleting it to see if the problem goes away.

Has to do with Seeking with KeyComparator source code says

// User key has become shorter physically, but larger logically.
// Tack on the earliest possible number to the shortened user key.

from neo.

vncoelho avatar vncoelho commented on July 19, 2024

Based off the source code from you error, It look like this Your database is corrupt. try deleting it to see if the problem goes away.

Has to do with Seeking with KeyComparator source code says

// User key has become shorter physically, but larger logically.
// Tack on the earliest possible number to the shortened user key.

No @cschuchardt88 , it is a recent introduced problem.

from neo.

Jim8y avatar Jim8y commented on July 19, 2024

its because you run too many nodes in the same machine that all use leveldb. Not a core problem. This happens every time when you run multiple nodes in the same machine.

from neo.

vncoelho avatar vncoelho commented on July 19, 2024

its because you run too many nodes in the same machine that all use leveldb. Not a core problem. This happens every time when you run multiple nodes in the same machine.

No. This is not true in my Setup.

from neo.

vncoelho avatar vncoelho commented on July 19, 2024

Too much complaints and not a real investigation in a simple scenario.
The cause is that we now crash the clients with unhandled exception.

Without minimum tests the neo-cli will be unused until we implement the exception handle and find the BASIC problems.

from neo.

vncoelho avatar vncoelho commented on July 19, 2024

#3366 (comment)

from neo.

Jim8y avatar Jim8y commented on July 19, 2024

Too much complaints and not a real investigation in a simple scenario.

You can say this when you locate the real problem.

We have being working like this for many years, and all of a sudden its all wrong, we all become complainers? And our work are lack of investigation products? But we definitely have tested it, checked it everywhere, and for this one, i have run the node~~~~ And i have asked help from NGD to test it as well.

But code were there, pr were there, you were able to test, to review, to comment. We have followed your suggestion to leave it for a while to review. Actually that pr was there for a week before i collected sufficient review approvals.

Before we release any new version, we still can correct any problem, so chill. A team means even some one made some problem, some one else can correct it, isn't it?

The cause is that we now crash the clients with unhandled exception.

Funny part is we should have crashed with unhandled exception, unless we have set plugins to ignore unhandled exception. I would say that pr have found an issue, if any, instead of introduced an issue.

BTW, i admit that even if i run the test on my machine, i at most run a single node,,,,, i dont have a 4 nodes private net test environment. I will create one.

from neo.

AnnaShaleva avatar AnnaShaleva commented on July 19, 2024

its because you run too many nodes in the same machine that all use leveldb

It was not a problem for me either, I used NeoBench to run 4-nodes and 7-nodes privnet with Dockerized C# nodes on my single machine, and it was OK.

i dont have a 4 nodes private net test environment.

I'd suggest you to use NeoBench, but it's not yet updated to use fresh monorepo, we have nspcc-dev/neo-bench#175 for that.

from neo.

vncoelho avatar vncoelho commented on July 19, 2024

its because you run too many nodes in the same machine that all use leveldb

It was not a problem for me either, I used NeoBench to run 4-nodes and 7-nodes privnet with Dockerized C# nodes on my single machine, and it was OK.

i dont have a 4 nodes private net test environment.

I'd suggest you to use NeoBench, but it's not yet updated to use fresh monorepo, we have nspcc-dev/neo-bench#175 for that.

Are you using leveldb? Maybe it was rocksdb instead.

Were your experiments with master branch?
Mine just run now reverting the exception handle crash.

from neo.

cschuchardt88 avatar cschuchardt88 commented on July 19, 2024

@vncoelho
Are you sure you didn't run out storage (disk space)? Why don't give #3355 a try?

from neo.

cschuchardt88 avatar cschuchardt88 commented on July 19, 2024

Try doing ./neo-cli /repair or neo-cli.exe /repair

from neo.

vncoelho avatar vncoelho commented on July 19, 2024

Try doing ./neo-cli /repair or neo-cli.exe /repair

This is not the case, @cschuchardt88 .

The testing environment is the same for testing with and without the PR being reverted.
The problem is that leveldb probably regenerates from the crash, but the PR that handles exception detects it and then crash the client.

The behavior may not the wrong. But before merging that PR this should had been tested because the problem is simple to be seen.
Can you verify that @superboyiii ?

from neo.

cschuchardt88 avatar cschuchardt88 commented on July 19, 2024

Try with this version of LevelDbStore #3274

from neo.

Jim8y avatar Jim8y commented on July 19, 2024

its because you run too many nodes in the same machine that all use leveldb

It was not a problem for me either, I used NeoBench to run 4-nodes and 7-nodes privnet with Dockerized C# nodes on my single machine, and it was OK.

i dont have a 4 nodes private net test environment.

i would love to argue, but i am not an expert of leveldb, all i can

say is now it happened, and apparently a leveldb exception, not related to the core.

possible reasons could be: platform, os, version, dependencies. i would suggest to try rockdb and memorydb as well.

from neo.

vncoelho avatar vncoelho commented on July 19, 2024

its because you run too many nodes in the same machine that all use leveldb

It was not a problem for me either, I used NeoBench to run 4-nodes and 7-nodes privnet with Dockerized C# nodes on my single machine, and it was OK.

i dont have a 4 nodes private net test environment.

i would love to argue, but i am not an expert of leveldb, all i can

say is now it happened, and apparently a leveldb exception, not related to the core.

possible reasons could be: platform, os, version, dependencies. i would suggest to try rockdb and memorydb as well.

So, this error without the Exception Handle was good and safe to run a node?
Now, after the PR the node is broken, right?Is it not a core problem?

from neo.

cschuchardt88 avatar cschuchardt88 commented on July 19, 2024

It's a corruption problem.

We need more information on your setup :

  1. are you using a container?
  2. what version of leveldb you have?
  3. what CI build you using?
  4. What filesystem?
  5. What Operating System?
  6. What CPU arch?
  7. Have you tried leveldb `repair?
  8. How many threads does you OS limit?
  9. Have you ran filesystem repair tool?
  10. Does this happen on other setups?
  11. What's your node setup?

from neo.

vncoelho avatar vncoelho commented on July 19, 2024
1. are you using a `container`?

Yes

2. what `version` of `leveldb` you have?

Master compiled plugin and libleveldb-dev from apt get mcr.microsoft.com/dotnet/aspnet:8.0.3-jammy

it is all dockerfile in a container with the amount of threads that is necessary for it to run safe.
It usually run a node on mainnet with the resources it have available.
It is running perfect without the commit I said that should be reverted until fixed.

The problem could be due to some limitation on leveldb safe off course. But that should be handled before the PR was merged.
Furthermore, In my last tests rocksdb was also broken.

Only way to run a node nowdays is memorystore.

from neo.

vncoelho avatar vncoelho commented on July 19, 2024

Still crashing. I thought it was solved but my config was with "MemoryStore" instead.

The problem persist even updating all libraries for dotnet during build and run.

RocksDb is also corrupted. But perhaps a difference reason.

from neo.

Jim8y avatar Jim8y commented on July 19, 2024

I will setup a multi-nodes on my machine, will check it.

from neo.

gsmachado avatar gsmachado commented on July 19, 2024

not entirely related, but see neo-project/neo-express#455

from neo.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.