• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

V12 Release

when is it suppose to decrease RemainingPaymentCount ?
Err... looks like it's off by 1 :confused: It's just a cosmetic rpc output bug though, "mnbudget projection" shows correct list for next budget to be payed.

Tnx for noticing, we'll fix it! :smile:
 
Since some people are saying v.53 is crashing sometimes, i made the 'mn_watch.sh' masternode restarting-script already here on this topic a bit more versatile. Instead of just restarting dashd it now spits out the time it crashed as well as the last 30 lines of debug.log to a file before restarting dashd.

Its kind of redoing whats already been done, but now it nice 'n compact without sifting trough the 10mb debug.log
wink.gif


1. The script is in my homedir where i keep all the stuff so its written as such. You may need to alter some paths if you keep your stuff elsewhere.
2. The script appends to the file crash.log, if not exist it is created.
3. the command 'date' spits out UTC time. Its possible to alter this to your own timezone. Do a google on it.

Im a noobish linux user so the script may appear wonky, but hey, it works, right?
rolleyes.gif

Dont ask hard questions cuz i may not be able to answer them
smiley.gif





#!/bin/bash

if [ -z `pidof dashd` ]; then


echo "Crashed!" >> crash.log
date >> crash.log
echo -e "\n" >> crash.log
tail -n 30 ./.dash/debug.log >> crash.log
echo -e "\n" >> crash.log
echo "********************************************" >> crash.log
echo -e "\n" >> crash.log
echo -e "\n" >> crash.log

./dashd

fi
 
I'm seeing a lot of UUOC in here! If you want, you can save a few keystrokes each time:

Code:
grep "Enabled"  ~/.dash/debug.log
Thank you for this. Apparently my nodes are being restarted on average once a day. I had no idea. I wonder why they're falling off the grid crashing? But glad you all taught me how to keep them going, thanks!

Edit: Actually, my nodes are shutting down and restarting constantly from what I get from the log? Unless I'm not reading this correctly?


Well, this looks weird? Why is my masternode cleanly shutting down constantly, then restarting?
2015-09-06 08:00:12 Error: Cannot obtain a lock on data directory /home/me/.dash. Dash Core is probably already running. This is probably my cron job?
2015-09-06 08:00:12 PrepareShutdown: In progress... why?
2015-09-06 08:00:12 StopNode()
2015-09-06 08:00:12 Verifying mncache.dat format...
2015-09-06 08:00:12 Loaded info from mncache.dat 1ms
2015-09-06 08:00:12 Masternodes: 0, peers who asked us for Masternode list: 0, peers we asked for Masternode list: 0, entries in Masternode list we asked for: 0, nDsqCount: 0
2015-09-06 08:00:12 Writting info to mncache.dat...
2015-09-06 08:00:12 Written info to mncache.dat 0ms
2015-09-06 08:00:12 Masternodes: 0, peers who asked us for Masternode list: 0, peers we asked for Masternode list: 0, entries in Masternode list we asked for: 0, nDsqCount: 0
2015-09-06 08:00:12 Masternode dump finished 1ms
2015-09-06 08:00:12 Verifying budget.dat format...
2015-09-06 08:00:12 Loaded info from budget.dat 0ms
2015-09-06 08:00:12 Proposals: 0, Budgets: 0, Seen Budgets: 0, Seen Budget Votes: 0, Seen Final Budgets: 0, Seen Final Budget Votes: 0
2015-09-06 08:00:12 Writting info to budget.dat...
2015-09-06 08:00:12 Written info to budget.dat 0ms
2015-09-06 08:00:12 Budget dump finished 0ms
2015-09-06 08:00:12 Verifying mnpayments.dat format...
2015-09-06 08:00:12 Loaded info from mnpayments.dat 0ms
2015-09-06 08:00:12 Votes: 0, Blocks: 0
2015-09-06 08:00:12 Writting info to mnpayments.dat...
2015-09-06 08:00:12 Written info to mnpayments.dat 0ms
2015-09-06 08:00:12 Budget dump finished 1ms
All the above in blue looks like no communication is happening?
2015-09-06 08:00:12 Shutdown: done
Dash server starting again?
2015-09-06 08:00:23 CheckBlock() : skipping transaction locking checks
2015-09-06 08:00:23 CheckBlock() : skipping transaction locking checks
2015-09-06 08:00:23 CheckBlock() : skipping transaction locking checks
2015-09-06 08:00:23 UpdateTip: new best=00000000000b7e8536ee245a158aae0dc085de04347cfb4c1892d220a2424dc1 height=331713 log2_work=61.69186 tx=1331723 date=2015-09-06 07:59:47 progress=0.999998 cache=2867
2015-09-06 08:00:23 ProcessNewBlock : ACCEPTED
2015-09-06 08:00:41 mnb - Got NEW Masternode entry - 6c544596023d078da1151386e0bafe9924edc2165e5634a8f01e403637723e4d - 188.227.72.61:9999 - CTxIn(COutPoint(02eb8adf89e5042c9b97f1789f579dc187bc0712fa337d80699eb3ea0a81916c, 1), scriptSig=) - 1441526441
2015-09-06 08:00:42 mnb - Got NEW Masternode entry - e560a748944d774cd2cd12347ef4cdefa51b175e38595c9397d57cd948c0759f - 188.227.72.56:9999 - CTxIn(COutPoint(d9428fb95c69bb48916be869f124bc29533b75d86836d74c0c7c6abc6776c61a, 1), scriptSig=) - 1441526441
2015-09-06 08:00:42 mnb - Got NEW Masternode entry - 0c7afa7fcd7f0e5154902557834d3fa3aab2510ae08b07e3a0682093d8911678 - 188.227.72.59:9999 - CTxIn(COutPoint(721379373ab173c56bdf878d8c1396a47141458d156effe88b8b54c37707e7ba, 1), scriptSig=) - 1441526441
2015-09-06 08:00:42 mnb - Got NEW Masternode entry - 9457b28fd020ab50c79ae25fe58be876ef6f744f37f72a701247259a88fbb88f - 188.227.72.60:9999 - CTxIn(COutPoint(b13570ef42b87ad777af6f9b08df50557ef4ee80f8bad8d687cde820599b9aba, 1), scriptSig=) - 1441526441
2015-09-06 08:00:46 ResendWalletTransactions()
2015-09-06 08:01:32 CheckBlock() : skipping transaction locking checks
2015-09-06 08:01:32 CheckBlock() : skipping transaction locking checks
2015-09-06 08:01:32 CheckBlock() : skipping transaction locking checks
2015-09-06 08:01:32 UpdateTip: new best=00000000000a153ebdb58cf755af1e543b0de2e5d36f1083466c48d8bddf0afc height=331714 log2_work=61.691866 tx=1331728 date=2015-09-06 08:01:29 progress=1.000000 cache=2895
2015-09-06 08:01:32 ProcessNewBlock : ACCEPTED
2015-09-06 08:01:42 CActiveMasternode::SendMasternodePing() - Relay Masternode Ping vin = CTxIn(COutPoint(e587553c8402acea10f05c5994e724735325ead43adab441fba8496abe0d93ba, 0), scriptSig=)
2015-09-06 08:02:31 mnb - Got NEW Masternode entry - 2e7310342d8dcef5fe6919cb6ef05e4000120f8f0ec47a7fa018802bcdaf9525 - 45.58.48.223:9999 - CTxIn(COutPoint(0fa4684a735837abeb30aab238c0268f060ab60f778c722450207e9d17f8ee9f, 0), scriptSig=) - 1439998467
2015-09-06 08:03:14 receive version message: /darkcoinseeder:0.1.2/: version 70103, blocks=320000, us=myipaddress:9999, peer=284
2015-09-06 08:04:05 dumpaddr thread stop
2015-09-06 08:04:05 net thread interrupt
2015-09-06 08:04:05 msghand thread interrupt
2015-09-06 08:04:05 addcon thread interrupt
2015-09-06 08:04:05 opencon thread interrupt
2015-09-06 08:04:05 PrepareShutdown: In progress...
2015-09-06 08:04:05 StopNode() This doesn't look right?

2015-09-06 08:04:06 Verifying mncache.dat format...
2015-09-06 08:04:06 Loaded info from mncache.dat 1ms
2015-09-06 08:04:06 Masternodes: 0, peers who asked us for Masternode list: 0, peers we asked for Masternode list: 0, entries in Masternode list we asked for: 0, nDsqCount: 0
2015-09-06 08:04:06 Writting info to mncache.dat...
2015-09-06 08:04:06 Written info to mncache.dat 298ms
2015-09-06 08:04:06 Masternodes: 3008, peers who asked us for Masternode list: 1, peers we asked for Masternode list: 0, entries in Masternode list we asked for: 0, nDsqCount: 2379
2015-09-06 08:04:06 Masternode dump finished 312ms
2015-09-06 08:04:06 Verifying budget.dat format...
2015-09-06 08:04:06 Loaded info from budget.dat 0ms
2015-09-06 08:04:06 Proposals: 0, Budgets: 0, Seen Budgets: 0, Seen Budget Votes: 0, Seen Final Budgets: 0, Seen Final Budget Votes: 0
2015-09-06 08:04:06 Writting info to budget.dat...
2015-09-06 08:04:06 Written info to budget.dat 59ms
2015-09-06 08:04:06 Budget dump finished 59ms
2015-09-06 08:04:06 Verifying mnpayments.dat format...
2015-09-06 08:04:06 Loaded info from mnpayments.dat 0ms
2015-09-06 08:04:06 Votes: 0, Blocks: 0
2015-09-06 08:04:06 Writting info to mnpayments.dat...
2015-09-06 08:04:06 Written info to mnpayments.dat 131ms
2015-09-06 08:04:06 Budget dump finished 134ms
again, looks like info not downloading?
2015-09-06 08:04:08 Shutdown: done
Dash server starting
2015-09-06 08:04:31 AppInit2 : parameter interaction: -externalip set -> setting -discover=0
2015-09-06 08:04:31
 
Last edited by a moderator:
Thank you for this. Apparently my nodes are being restarted on average once a day. I had no idea. I wonder why they're falling off the grid crashing? But glad you all taught me how to keep them going, thanks!

Edit: Actually, my nodes are shutting down and restarting constantly from what I get from the log? Unless I'm not reading this correctly?


Well, this looks weird? Why is my masternode cleanly shutting down constantly, then restarting?

Either your node didn't shutdown and still has control of the .dash directory, or you are trying to run 2 nodes from the same data directory. I have a .dash, .dash2, for each node and start with a script. Script has /home/user/dashd2 -datadir=/home/user/.dash2/ . If you shutdown your node and TOP shows it still running, kill -9 the process, and start dashd again.
 
Since some people are saying v.53 is crashing sometimes, i made the 'mn_watch.sh' masternode restarting-script already here on this topic a bit more versatile. Instead of just restarting dashd it now spits out the time it crashed as well as the last 30 lines of debug.log to a file before restarting dashd.

Its kind of redoing whats already been done, but now it nice 'n compact without sifting trough the 10mb debug.log
wink.gif


1. The script is in my homedir where i keep all the stuff so its written as such. You may need to alter some paths if you keep your stuff elsewhere.
2. The script appends to the file crash.log, if not exist it is created.
3. the command 'date' spits out UTC time. Its possible to alter this to your own timezone. Do a google on it.

Im a noobish linux user so the script may appear wonky, but hey, it works, right?
rolleyes.gif

Dont ask hard questions cuz i may not be able to answer them
smiley.gif





#!/bin/bash

if [ -z `pidof dashd` ]; then


echo "Crashed!" >> crash.log
date >> crash.log
echo -e "\n" >> crash.log
tail -n 30 ./.dash/debug.log >> crash.log
echo -e "\n" >> crash.log
echo "********************************************" >> crash.log
echo -e "\n" >> crash.log
echo -e "\n" >> crash.log

./dashd

fi
Thanks. This is a good idea. I would suggest that this also be added in the next release. Basically, if there is a shutdown it adds the last 30 lines of debug info in a crash.log. On startup, the debug.log could be cleared too.

I am thinking of a way to check if the daemon gets stuck on a block. Then force a kill -9 then restart dashd. Stay tuned. Gotta unpack from our latest solar install first.
 
Thank you for this. Apparently my nodes are being restarted on average once a day. I had no idea. I wonder why they're falling off the grid crashing? But glad you all taught me how to keep them going, thanks!

Edit: Actually, my nodes are shutting down and restarting constantly from what I get from the log? Unless I'm not reading this correctly?


Well, this looks weird? Why is my masternode cleanly shutting down constantly, then restarting?
That's output from the second cron-initialized instance as it realizes it shouldn't be running, overlapping with the original by writing to the same debug.log for a few seconds.

No need to panic, it's not actually shutting down.

If you open multiple ssh sessions, or use screen, you can see the second daemon shows up in top while tail -f monitoring the log file in another window.

"top -d 1 -u [username you use for running dashd]"

You'll notice those timestamps coincide with the second daemon every time cron tries to start it.

Since there is an InstantX Proof of Service penalty now, I run dashd in cron every 5 minutes. So, there's a lot of those in my debug.log... It'd be a shame not to facilitate an IX TX regardless of penalty.

Yeah, it's lazy, but it works...
 
Last edited by a moderator:
You can check the start time of your dashd from the ps command. If you remember roughly when you start your MNs, you know whether it crashed and restarted by cron or not.
Yeah, I just didn't care until now... Still don't. I'm still grumpy over having to manually re-do every single damn one of them because of locking themselves out... Took me 2 and a half days since nothing automated would work due to the arbitrary timing...
 
Exactly! I started with the conversation on bitcointalk, and discovered that my daemons wouldn't start independently, if one should crash or stop, but the other continued. (I have one server, two users, 2 ip addresses, running 2 masternodes) So GR+ showed me how to test for the user's process id for dash (which I think is only possible because our developers made it pop up as a file in the .dash folder? It is checked with a cron job and if not running, it starts the daemon back up.

There is another way to check to see if the daemon stopped cleanly vs dirty, so that if you stopped the daemon (rather than it crashing) it would stay stopped until you started it again. This would be useful for updating, but I wasn't able to get it to work. I don't think it's worth the trouble either as I only usually need a second to restart the daemon after updating the files. I don't even stop it before updating. As long as we still have dashd and dash-cli, the older running version of dashd can shut down fine (it doesn't over write the new version on shutdown) and restarting updates the version. Plus, I check every 10 minutes, which is done by the clock, so if I start after a check (ie: X:00, X:10, X:20...etc...) I have plenty of time, even if I had to stop the daemon to update.

Anyway, I wrote a tutorial on it here: https://dashtalk.org/threads/keep-your-mn-up-and-running-after-crash-ubuntu-w-explainations.6063/

If it sucks too much, anyone is welcome to rewrite it and even better, give other ways and other choices on how to do it :) Thanks for everyone's help!
Your tutorial is good. Thanks for getting this topic started. More to come.
 
Thanks guys. Good news is it's normal, bad is that there is no insight for why the daemon shuts down (for me, once a day, about) Ah well. No harm for me, as It continues to stay online, but if what camo says is so, and we're not in fact functioning correctly, or worse, could drop stuff while mixing or IXing, well that'd be bad
.
 
Probably bad news for everyone running their nodes with "masternode start" (i.e. using local dash.conf): I guess there's a bug with masternode self-activation somewhere.

If you are using local dash.conf to start your remote masternode do NOT run this local wallet while masternode=1 is still in local dash.conf, I think it will try to self-activate for some reason and will drop your node to the end of the queue. Either set it to masternode=0 before you run it OR better option would be to use masternode.conf even if you only have one masternode.

Sorry about that :sad:

PS. Code there became a bit messy actually because of many different options. I think we should stop using this one, clean it up and stick to masternode.conf method only to activate remote nodes while old dash.conf method should only be used for activating local Hot masternodes from now.

PPS. Users with masternode.conf setup should not be affected by this.
 
Probably bad news for everyone running their nodes with "masternode start" (i.e. using local dash.conf): I guess there's a bug with masternode self-activation somewhere.

If you are using local dash.conf to start you remote masternode do NOT run this local wallet while masternode=1 is still in local dash.conf, I think it will try to self-activate for some reason and will drop your node to the end of the queue. Either set it to masternode=0 before you run it OR better option would be to use masternode.conf even if you only have one masternode.

Sorry about that :sad:

PS. Code there became a bit messy actually because of many different options. I think we should stop using this one, clean it up and stick to masternode.conf method only to activate remote nodes while old dash.conf method should only be used for activating local Hot masternodes from now.

PPS. Users with masternode.conf setup should not be affected by this.
I was waiting for you to say this. Finally. Thanks. :)
 
Probably bad news for everyone running their nodes with "masternode start" (i.e. using local dash.conf): I guess there's a bug with masternode self-activation somewhere.

If you are using local dash.conf to start your remote masternode do NOT run this local wallet while masternode=1 is still in local dash.conf, I think it will try to self-activate for some reason and will drop your node to the end of the queue. Either set it to masternode=0 before you run it OR better option would be to use masternode.conf even if you only have one masternode.

Sorry about that :sad:

PS. Code there became a bit messy actually because of many different options. I think we should stop using this one, clean it up and stick to masternode.conf method only to activate remote nodes while old dash.conf method should only be used for activating local Hot masternodes from now.

PPS. Users with masternode.conf setup should not be affected by this.
So, you are saying that my setup guide is soon to be obsolete? I want it to remain current, so the user:

- does not need a local dash.conf at all for a hot/cold setup?
- should only have a masternode.conf, and issue a masternode start-alias mn01?

Let me know and I'll update ASAP.
 
I think he's saying only if you're using a hot node, that is,no remote, you do use the dash.conf with masternode=1. I also think we may still need dash.conf to hold only the rpcuser and rpcpassword and maybe some of the other configurations you might have, but NOT the masternode=1 That must go unless you're using a hot mastenode with no remote. Instead, use masternode.conf. I have my son's set up with dash.conf, so I'll have to make sure I dont' accidentally start it with dash.conf having masternode=1 inside before I next open it. How much you wanna bet I'm gonna screw that up when the time comes? LOL
 
I think he's saying only if you're using a hot node, that is,no remote, you do use the dash.conf with masternode=1. I also think we may still need dash.conf to hold only the rpcuser and rpcpassword and maybe some of the other configurations you might have, but NOT the masternode=1 That must go unless you're using a hot mastenode with no remote. Instead, use masternode.conf. I have my son's set up with dash.conf, so I'll have to make sure I dont' accidentally start it with dash.conf having masternode=1 inside before I next open it. How much you wanna bet I'm gonna screw that up when the time comes? LOL

For Hot/Cold setups, I don't think it matters if your hot node has masternode=1 in the conf. You're pretty much never going to be issuing a "masternode start" from there anyway, the way it is set up now.

I think you'll be fine if you leave hot nodes as is, and only issue a masternode start-alias/many/disabled/missing from the cold wallet's masternode.conf
 
So, you are saying that my setup guide is soon to be obsolete? I want it to remain current, so the user:

- does not need a local dash.conf at all for a hot/cold setup?
- should only have a masternode.conf, and issue a masternode start-alias mn01?

Let me know and I'll update ASAP.
I mean this kind of setup can be used but user has to change masternode=1 to masternode=0 once it's done and change it back to masternode=1 when he'd like to update/restart his node. Since that's not that user friendly I would highly recommend to switch to masternode.conf setup as a default one. I'm going to change docs in repo on github to reflect this situation soon. You can start single node with any start-<mode> command (<mode> = all, missing, disabled , start-many works too though it's now depreciated and kept for backward compatibility reasons only).
 
UdjinM6

The value RemainingPaymentCount is not updated correctly within dash-cli mnbudget show. It should be -1 for the public-awareness and core-team proposals.

What is the difference between the values Alloted and TotalBudgetAlloted?
 
UdjinM6

The value RemainingPaymentCount is not updated correctly within dash-cli mnbudget show. It should be -1 for the public-awareness and core-team proposals.

What is the difference between the values Alloted and TotalBudgetAlloted?
RemainingPaymentCount will be fixed in next version https://github.com/dashpay/dash/pull/602 (it's a cosmetic bug), check "mnbudget projection" to verify that "reimbursement" proposal is no longer there.

"Alloted" is for current proposal and "TotalBudgetAlloted" is for all proposals in total starting from the first one in the list and up to the current one (including it).
It's not very clear to display it that way however.

So imagine we fixed both issues :grin: and that how it should look then imo:
Code:
{
"core-team" : {
"URL" : "goo.gl/V52wZd",
"Hash" : "eac6392cd0d63e4b2ebd3c60da2d3e13137c892cd4cd1a8f3885077ac86b7487",
"BlockStart" : 332320,
"BlockEnd" : 2002228,
"TotalPaymentCount" : 100,
"RemainingPaymentCount" : 99,
"PaymentAddress" : "XtspXMnoGt4RF23CZ7MQQ7NFmkAebMUNME",
"Ratio" : 0.99422336,
"Yeas" : 1531,
"Nays" : 9,
"Abstains" : 0,
"TotalPayment" : 117600.00000000,
"MonthlyPayment" : 1176.00000000,
"Alloted" : 1176.00000000,
"IsValid" : true,
"IsValidReason" : "",
"fValid" : true
},
"public-awareness" : {
"URL" : "goo.gl/V52wZd",
"Hash" : "cbafad18687045bb72fae611078fac09c3ec09c8379e357c36901ce84891f189",
"BlockStart" : 332320,
"BlockEnd" : 2002228,
"TotalPaymentCount" : 100,
"RemainingPaymentCount" : 99,
"PaymentAddress" : "XxTqjYd4bpkTA6yP1gmo5maMkPynT6YvbG",
"Ratio" : 0.97036082,
"Yeas" : 1488,
"Nays" : 46,
"Abstains" : 0,
"TotalPayment" : 215600.00000000,
"MonthlyPayment" : 2156.00000000,
"Alloted" : 2156.00000000,
"IsValid" : true,
"IsValidReason" : "",
"fValid" : true
},
"TotalBudgetAlloted" : 3332.00000000
}
 
Back
Top