Comments (10)
it seems that even if ThreadCheckDarkSendPool is started the way I described above it stops after some time and the memory leak is back. It's probably better to use the lite mode.
from dashj.
LiteMode is to run a node without trying to get the list of masternodes, governance objects and governance votes. When LiteMode is OFF then the node tries to get a list of all of these other Dash objects. OFF is experimental and will soon become partially obsolete with the activation of Spork 15.
The Dash Wallet android app uses LiteMode and does not have issues finding peers. There is a fix for finding peers that will be added. I will comment later with the commit of that fix.
In the android app, we initialize with initDash(true, true)
. Will you be using InstantSend? If no, then you don't need any masternode functionality and the MasternodeManager will not be used.
from dashj.
Based on your first comment, it would seem that you want litemode ON as it seems to solve most of the problems. Additionally, in our next release of dashj 0.15.1, we will disable acquisition of masternode objects. This will resolve the memory leak of this: MasternodeManager#mapSeenMasternodePing
, but won't address other issues. The other issues will need to be looked at further to determine why mapTxLockVotes
is never emptied while litemode is OFF.
6ffd45c will address connectivity issues. Older nodes such as 0.12.3.x will not connect to dashj.
7eda2ce will ensure that dashj follows the correct chain (the same as the 0.13.x nodes).
from dashj.
We are investigating the memory leaks with mapTxLockVotes
and found that in full verification mode, the confirmedHeight
is not initialized, therefore TransactionLockVote.isExpired
never returns true. This applies to several other InstantSend
objects.
from dashj.
FYI over the weekend downloading of new transactions was stuck at #1033575 for me (don't know the reason yet) but it triggered another memory leak in org.bitcoinj.core.AbstractBlockChain#orphanBlocks
. Its already reported in bitcoinj/bitcoinj#997
from dashj.
30e3911 will resolve the InstantSend related memory leaks.
My full node didn't get stuck on a particular block that I know of over the weekend. Regarding orphans, only with BloomFilters do they get removed. Of course in a full node, they stay in memory. I am not sure if we will get much help from the bitcoinj people, especially for full verification mode.
from dashj.
PR in bitcoinj: bitcoinj/bitcoinj#1738
from dashj.
The above PR for bitcoinj looks simple, I will test it out on dashj.
from dashj.
Testing complete. Memory leaks fixed.
from dashj.
So you're saying the above PR fixes your observed memory leak?
from dashj.
Related Issues (20)
- Version code of address did not match acceptable versions for network HOT 1
- mandatory-script-verify-flag-failed (Script failed an OP_EQUALVERIFY operation) HOT 1
- balance HOT 1
- #actual behavior HOT 3
- ! Chaotic behavior
- I did not find the crucial Deterministically select the oldest/best masternode to pay on the network HOT 2
- running dashj examples HOT 5
- Problems when try to execute mvn clean install -DskipTests on MAC HOT 1
- Remove RBF code HOT 1
- multi input cant send raw transaction success HOT 3
- Deserialization failure HOT 7
- Memory leak in Peer HOT 2
- Add git submodule steps in building instructions HOT 3
- Stuck at block 1037027 HOT 4
- Android: couldn't find "libdashjbls.so" HOT 3
- Extend File Prefix in WalletAppKit to other dash objects HOT 1
- mvn compile error HOT 1
- Update to Dash Core 0.12.2.x (Masternode Messages) HOT 2
- mvn build error HOT 1
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 dashj.