1 2016-12-08 01:22:49 0|BlueMatt|morcos: yup, that was my intention 2 2016-12-08 01:22:55 0|BlueMatt|totally just wanted to highlight that bug 3 2016-12-08 05:39:57 0|bitcoin-git|[13bitcoin] 15rebroad opened pull request #9300: Check for oversized getblocktxn message. (06master...06CheckOversizedGetblocktxns) 02https://github.com/bitcoin/bitcoin/pull/9300 4 2016-12-08 06:51:26 0|bitcoin-git|[13bitcoin] 15laanwj pushed 4 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/09c4fd157c5b...ea33f197ef1e 5 2016-12-08 06:51:27 0|bitcoin-git|13bitcoin/06master 142a99522 15Alex Morcos: remove relaypriority from rpc tests 6 2016-12-08 06:51:27 0|bitcoin-git|13bitcoin/06master 14e2184cc 15Alex Morcos: Reorder RPC tests for running time 7 2016-12-08 06:51:28 0|bitcoin-git|13bitcoin/06master 1430b620c 15Alex Morcos: remove obsolete run-bitcoind-for-test.sh 8 2016-12-08 06:51:38 0|bitcoin-git|[13bitcoin] 15laanwj closed pull request #9276: Some minor testing cleanups (06master...06rpccleanup) 02https://github.com/bitcoin/bitcoin/pull/9276 9 2016-12-08 06:51:59 0|bitcoin-git|13bitcoin/06master 14b919179 15Alex Morcos: remove no longer needed check for premature v2 txs 10 2016-12-08 06:51:59 0|bitcoin-git|[13bitcoin] 15laanwj pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/ea33f197ef1e...d52ce89bd220 11 2016-12-08 06:52:00 0|bitcoin-git|13bitcoin/06master 14d52ce89 15Wladimir J. van der Laan: Merge #9299: Remove no longer needed check for premature v2 txs... 12 2016-12-08 06:52:11 0|bitcoin-git|[13bitcoin] 15laanwj closed pull request #9299: Remove no longer needed check for premature v2 txs (06master...06morev2txstuff) 02https://github.com/bitcoin/bitcoin/pull/9299 13 2016-12-08 06:57:41 0|gmaxwell|whew, I was going through merge withdraw. 14 2016-12-08 07:09:54 0|wumpus|yes me too 15 2016-12-08 07:13:42 0|bitcoin-git|13bitcoin/06master 142044e37 15Wladimir J. van der Laan: Merge #9266: Bugfix: Qt/RPCConsole: Put column enum in the right places... 16 2016-12-08 07:13:42 0|bitcoin-git|13bitcoin/06master 14df17fe0 15Luke Dashjr: Bugfix: Qt/RPCConsole: Put column enum in the right places... 17 2016-12-08 07:13:42 0|bitcoin-git|[13bitcoin] 15laanwj pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/d52ce89bd220...2044e37bebc6 18 2016-12-08 07:13:51 0|bitcoin-git|[13bitcoin] 15laanwj closed pull request #9266: Bugfix: Qt/RPCConsole: Put column enum in the right places (06master...06bugfix_datarole) 02https://github.com/bitcoin/bitcoin/pull/9266 19 2016-12-08 07:14:39 0|bitcoin-git|[13bitcoin] 15laanwj pushed 3 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/2044e37bebc6...9851a8461d52 20 2016-12-08 07:14:40 0|bitcoin-git|13bitcoin/06master 14297cc20 15Wladimir J. van der Laan: qt: layoutAboutToChange signal is called layoutAboutToBeChanged... 21 2016-12-08 07:14:40 0|bitcoin-git|13bitcoin/06master 14f36349e 15Wladimir J. van der Laan: qt: Remove on_toggleNetworkActiveButton_clicked from RPCConsole... 22 2016-12-08 07:14:41 0|bitcoin-git|13bitcoin/06master 149851a84 15Wladimir J. van der Laan: Merge #9255: qt: layoutAboutToChange signal is called layoutAboutToBeChanged... 23 2016-12-08 07:14:52 0|bitcoin-git|[13bitcoin] 15laanwj closed pull request #9255: qt: layoutAboutToChange signal is called layoutAboutToBeChanged (06master...062016_12_qt_signals_warnings) 02https://github.com/bitcoin/bitcoin/pull/9255 24 2016-12-08 07:38:41 0|bitcoin-git|13bitcoin/06master 14819ca3f 15Pieter Wuille: Remove mapOrphanTransactionsByPrev from DoS_tests... 25 2016-12-08 07:38:41 0|bitcoin-git|[13bitcoin] 15laanwj pushed 2 new commits to 06master: 02https://github.com/bitcoin/bitcoin/compare/9851a8461d52...86017842d6ef 26 2016-12-08 07:38:42 0|bitcoin-git|13bitcoin/06master 148601784 15Wladimir J. van der Laan: Merge #9291: Remove mapOrphanTransactionsByPrev from DoS_tests... 27 2016-12-08 07:38:55 0|bitcoin-git|[13bitcoin] 15laanwj closed pull request #9291: Remove mapOrphanTransactionsByPrev from DoS_tests (06master...06reallyoneorphan) 02https://github.com/bitcoin/bitcoin/pull/9291 28 2016-12-08 12:08:22 0|wumpus|sipa: seed.bitcoin.sipa.be is not returning any results here 29 2016-12-08 12:12:10 0|bitcoin-git|[13bitcoin] 15laanwj pushed 5 new commits to 060.13: 02https://github.com/bitcoin/bitcoin/compare/0a4aa876230c...e591c1049fe5 30 2016-12-08 12:12:11 0|bitcoin-git|13bitcoin/060.13 144c71fc4 15Matt Corallo: Remove duplicate nBlocksEstimate cmp (we already checked IsIBD())... 31 2016-12-08 12:12:11 0|bitcoin-git|13bitcoin/060.13 14ad20cdd 15Gregory Maxwell: IBD check uses minimumchain work instead of checkpoints.... 32 2016-12-08 12:12:12 0|bitcoin-git|13bitcoin/060.13 145b93eee 15Gregory Maxwell: Remove GetTotalBlocksEstimate and checkpoint tests that test nothing.... 33 2016-12-08 13:09:46 0|BlueMatt|wait...wut 34 2016-12-08 13:09:50 0|BlueMatt|why did that get backported??? 35 2016-12-08 13:12:50 0|wumpus|BlueMatt: https://github.com/bitcoin/bitcoin/pull/9293 also there was some discussino here earlier 36 2016-12-08 13:13:36 0|BlueMatt|wumpus: I meant specifically my commit there 37 2016-12-08 13:14:03 0|BlueMatt|maybe was needed to make the commits apply cleanly 38 2016-12-08 13:14:06 0|BlueMatt|it just surprised me 39 2016-12-08 13:15:13 0|wumpus|I wouldn't know that, best to ask gmaxwell 40 2016-12-08 13:17:23 0|wumpus|but I suppose his reason for grabbing just that commit is that it intersected with #9053 in some way 41 2016-12-08 13:17:24 0|gribble|https://github.com/bitcoin/bitcoin/issues/9053 | IBD using chainwork instead of height and not using header timestamps by gmaxwell ÃÂ· Pull Request #9053 ÃÂ· bitcoin/bitcoin ÃÂ· GitHub 42 2016-12-08 13:20:53 0|BlueMatt|wumpus: yes, that was my guess 43 2016-12-08 13:20:55 0|BlueMatt|nbd anyway 44 2016-12-08 13:42:44 0|cfields|fyi, BlueMatt and I won't make it to the meeting today, we're on the other side of the world 45 2016-12-08 13:43:48 0|cfields|also a bit slow to work through pr comments/review. certainly not ignoring though :) 46 2016-12-08 14:31:58 0|btcdrak|wumpus: #7562 is ready for merge 47 2016-12-08 14:31:59 0|gribble|https://github.com/bitcoin/bitcoin/issues/7562 | Bump transaction version default to 2 by btcdrak ÃÂ· Pull Request #7562 ÃÂ· bitcoin/bitcoin ÃÂ· GitHub 48 2016-12-08 14:49:34 0|morcos|btcdrak: i'm fine with you leaving that commit out, but how coudl that cause those errors? 49 2016-12-08 14:50:31 0|btcdrak|morcos: It was totally fine locally, Travis threw up and it's just not worth my time fighting with it. Will have another go once merged. 50 2016-12-08 14:50:56 0|btcdrak|even paveljanik was ok with it locally :/ 51 2016-12-08 14:50:59 0|morcos|weird.. 52 2016-12-08 16:33:23 0|morcos|sipa: this is minor, but i'm curious in loadmempool why you chose to use state.IsValid for reporting # of successes, it's certainly possible for the state to be valid but the tx not be accepted 53 2016-12-08 17:01:59 0|morcos|btcdrak: unfortunately it still fails for me locally... since i gave you a weasly non-review of that json test data stuff, i'll see if i can track down the issue . especially weird that it passes travis sometimes 54 2016-12-08 17:02:49 0|btcdrak|Did we update Univalue at all recently? 55 2016-12-08 17:03:08 0|btcdrak|I fixed a bug in it which will break those json tests when we sync up 56 2016-12-08 17:03:23 0|btcdrak|https://github.com/jgarzik/univalue/pull/29 57 2016-12-08 17:04:11 0|MarcoFalke_|btcdrak: We can do that some time before 0.14, if necessary. 58 2016-12-08 17:04:14 0|MarcoFalke_|See https://github.com/bitcoin-core/univalue/pull/4 59 2016-12-08 17:05:03 0|MarcoFalke_|We might want to wait for some of the fixes after testing with the JSONtestSuite 60 2016-12-08 17:06:46 0|sipa|morcos: re state.IsValid for loadmempool... good point, i just didn't realize that 61 2016-12-08 17:15:03 0|morcos|btcdrak: the reason it sometimes passes travis is somethign later changed in master to cause your PR to break 62 2016-12-08 17:15:35 0|morcos|the merge that travis ran on for the PR that is up there now is an old merge, i think if you locally checkout a new merge it'll probably break for you 63 2016-12-08 17:15:49 0|btcdrak|morcos: oh, thank you for looking at that. If that can be solved, I'll push the rebased version with your other fix in 64 2016-12-08 17:16:17 0|btcdrak|oh, ofc, I'm not rebased to master... makes sense now 65 2016-12-08 17:22:22 0|morcos|yeah but ideally travis would be running on your PR merged with master, its not clear to me how that works exactly or why its not the case here 66 2016-12-08 17:22:42 0|morcos|i don't know the details of when travis decides it needs to rerun the merge 67 2016-12-08 17:30:01 0|btcdrak|morcos: ok I can replicate it now locally! 68 2016-12-08 17:30:23 0|btcdrak|at least with something to replicate I can investigate 69 2016-12-08 17:36:18 0|morcos|btcdrak: maybe something to do with https://github.com/bitcoin/bitcoin/pull/9100 ? 70 2016-12-08 17:39:36 0|morcos|btcdrak: oh never mind, i should read the errors more closly 71 2016-12-08 17:39:38 0|morcos|it's #8837 72 2016-12-08 17:39:40 0|gribble|https://github.com/bitcoin/bitcoin/issues/8837 | allow bitcoin-tx to parse partial transactions by jnewbery ÃÂ· Pull Request #8837 ÃÂ· bitcoin/bitcoin ÃÂ· GitHub 73 2016-12-08 17:39:45 0|morcos|there were two new tests added 74 2016-12-08 17:41:09 0|sipa|morcos: i think the version travis test is always a merge with master at the time of the last push 75 2016-12-08 17:43:01 0|btcdrak|what happened to #9023 I thought it produced diffs when I reviewed it, now it doesnt. 76 2016-12-08 17:43:03 0|gribble|https://github.com/bitcoin/bitcoin/issues/9023 | Add logging to bitcoin-util-test.py by jnewbery ÃÂ· Pull Request #9023 ÃÂ· bitcoin/bitcoin ÃÂ· GitHub 77 2016-12-08 17:43:49 0|morcos|sipa: so it's surprising that bugs like this don't happen more often 78 2016-12-08 17:44:31 0|morcos|the only reason we caught this is btcdrak tried to do a new push... but if he hadn't, there would have been no merge conflict and it wouldn't have been caught... luckily in this case it resulted in a test failing 79 2016-12-08 17:45:10 0|morcos|btcdrak: it's definitely 8837 and its a trivial fix fo ryou 80 2016-12-08 17:57:46 0|MarcoFalke_|morcos: We have merge conflicts every couple of weeks. I'd propose to invalidate travis results after 2 or 3 weeks. 81 2016-12-08 17:58:16 0|MarcoFalke_|* silent merge conflicts 82 2016-12-08 18:01:56 0|morcos|MarcoFalke_: could there be a pre-merge button which reruns travis when wumpus or whoever thinks the PR is ready for merge? i guess it would be annoying to revisit it a second time, and scary to auto-merge if it passes 83 2016-12-08 18:02:50 0|morcos|maybe someone else could be in charge or pressing the pre-merge button on almost ready to be merged PR's even if it doesn't catch them all, if it catches some and doesn't slow down wumpus, it'll be good 84 2016-12-08 18:05:25 0|MarcoFalke_|I was more thinking of something automated. for pull in pulls: rerun if travis_result.age > 14 days; 85 2016-12-08 18:07:30 0|btcdrak|morcos: great. I'll take a look in a bit 86 2016-12-08 18:13:00 0|morcos|MarcoFalke_: yeah i was just thinking its more useful if its close to actual merge and unnecessary if its not 87 2016-12-08 18:16:06 0|gmaxwell|it would be helpful if we could figure out the causes of varrious bits of failed dependency tracking, since it also effects users and not just travis. 88 2016-12-08 18:16:45 0|MarcoFalke_|Would still catch some of the silent merge conflicts. If it is only done pre merge, it would slow down the merge process unnecessarily. 89 2016-12-08 18:17:31 0|MarcoFalke_|If it passed, it is just wasted time. If it fails, the pull author needs go back anyway. 90 2016-12-08 18:18:30 0|gmaxwell|BlueMatt: Because the thing actually being backported eliminated the checkpoint estimate of the number of blocks; so it needed that change of yours that eliminated a call to it. Otherwise the change was trivial and wouldn't have been backported. 91 2016-12-08 18:24:53 0|morcos|If we're doign a wallet opperation, whats the rule of thumb with whether we open our CWalletDB with fFlushOnClose true or not? 92 2016-12-08 18:27:39 0|wumpus|depends on whether data loss would lead to funds loss IIRC 93 2016-12-08 18:27:48 0|morcos|For instance in AbandonTransaction I copied MarkConflicted which doesn't flush on close "for performance reasons" but in retrospect it seems almost everything else does flush on close and maybe is only because MarkConflicted gets called inside a loop 94 2016-12-08 18:28:27 0|wumpus|in case of doubt, flush on close 95 2016-12-08 18:29:44 0|morcos|so perhaps in the markconflicted case we should do a specific flush after all the conflicting has been done? (seems more important than abandon anyway) 96 2016-12-08 18:31:26 0|wumpus|but is it critical? e.g., not just something that could be repeated after starting the client? 97 2016-12-08 18:34:47 0|wumpus|though I don't think it hurts to do an explicit flush afterwards 98 2016-12-08 18:35:34 0|morcos|wumpus: i don't know i'm out of my depth... 99 2016-12-08 18:35:41 0|wumpus|although the wallet is being flushed+consolidated all the time, periodically, by the wallet flush thread if an update has been done - the point of flushonclose is just to do a flush immediately, for critical things 100 2016-12-08 18:35:51 0|morcos|i'm not sure what how wallet state and chainstate are kept in sync 101 2016-12-08 18:36:44 0|wumpus|the wallet stores the last position that it is synced to, it will rescan from there on on client start 102 2016-12-08 18:38:20 0|morcos|yeah ok, thats what i was just seeing, so yeah maybe you're right... it not an issue.. 103 2016-12-08 19:00:09 0|wumpus|meeting time? 104 2016-12-08 19:00:14 0|jonasschnelli|yes 105 2016-12-08 19:00:41 0|lightningbot|Meeting started Thu Dec 8 19:00:40 2016 UTC. The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot. 106 2016-12-08 19:00:41 0|lightningbot|Useful Commands: #action #agreed #help #info #idea #link #topic. 107 2016-12-08 19:00:41 0|wumpus|#startmeeting 108 2016-12-08 19:01:24 0|wumpus|proposed topics? 109 2016-12-08 19:02:22 0|gmaxwell|#bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr btcdrak sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier 110 2016-12-08 19:02:24 0|instagibbs|here 111 2016-12-08 19:02:26 0|sdaftuar|hi 112 2016-12-08 19:02:29 0|btcdrak|sort of here 113 2016-12-08 19:02:30 0|CodeShark|hello 114 2016-12-08 19:03:14 0|kanzure|hi. 115 2016-12-08 19:03:22 0|gmaxwell|I'd like to briefly talk about #9290 116 2016-12-08 19:03:24 0|gribble|https://github.com/bitcoin/bitcoin/issues/9290 | Make RelayWalletTransaction attempt to AcceptToMemoryPool. by gmaxwell ÃÂ· Pull Request #9290 ÃÂ· bitcoin/bitcoin ÃÂ· GitHub 117 2016-12-08 19:03:39 0|morcos|i'd like to discuss increasing mempool tx expiry time but nto sure if thats a meeting topic 118 2016-12-08 19:04:39 0|wumpus|#topic #9290 Make RelayWalletTransaction attempt to AcceptToMemoryPool 119 2016-12-08 19:04:41 0|gribble|https://github.com/bitcoin/bitcoin/issues/9290 | Make RelayWalletTransaction attempt to AcceptToMemoryPool. by gmaxwell ÃÂ· Pull Request #9290 ÃÂ· bitcoin/bitcoin ÃÂ· GitHub 120 2016-12-08 19:05:40 0|gmaxwell|There was previously a concern expressed (sorry, I forget who); that trying to reaccept to mempool all unconfirmed txn might be a cpu load for some wallet gunked up with unconfirmed transactions. I made this PR anyways, noting that it doesn't apply to abandoned or known conflicted txn, and I don't believe gunked up wallets exist at any real rate-- if they do, then that is its own problem.. and 121 2016-12-08 19:05:46 0|gmaxwell|they could avoid a performance issue by abandoning. I hope this is convincing but I haven't had feedback on that point. 122 2016-12-08 19:06:02 0|gmaxwell|Beyond that question, this is a really obvious bugfix for a somewhat embarassing misbehavior. 123 2016-12-08 19:06:21 0|wumpus|well at least it's now possible to get rid of unconfirmed transactions by abandoning them 124 2016-12-08 19:06:31 0|morcos|gmaxwell: that was (at least) me, but i made my mark on your PR.. suhas beat me down into being unable to succesfully argue my position 125 2016-12-08 19:06:37 0|wumpus|there should be no need to have excessive numbers of unconfirmed transactinons 126 2016-12-08 19:07:11 0|gmaxwell|morcos: hah. I missed the was here. okay thats precisely what I was looking for. 127 2016-12-08 19:07:11 0|sdaftuar|gmaxwell: i agree with the PR and the backport, fwiw 128 2016-12-08 19:07:31 0|morcos|but as for backporting... 129 2016-12-08 19:07:51 0|morcos|maybe ok for that one... but i'm not so sure about #9262 130 2016-12-08 19:07:55 0|gmaxwell|I just felt a little uncomfortable doing something I knew someone had expressed concern with; without making sure that we heard if concerns remained. 131 2016-12-08 19:08:00 0|gribble|https://github.com/bitcoin/bitcoin/issues/9262 | Prefer coins that have fewer ancestors, sanity check txn before ATMP by instagibbs ÃÂ· Pull Request #9262 ÃÂ· bitcoin/bitcoin ÃÂ· GitHub 132 2016-12-08 19:08:31 0|morcos|i feel like although these are definitely fixing poor behavior... they're also fairly large changes in behavior and it worries me that in a backport, they wont' get enough testing to be sure they don't raise new issues 133 2016-12-08 19:08:36 0|morcos|personally i think we backport too much 134 2016-12-08 19:08:49 0|gmaxwell|Well I think we must backport at least one of 9262 or 9290. If you backport 9290 I think there is less need to backport 9262 and if we only do one I'd prefer it be 9290. 135 2016-12-08 19:08:59 0|morcos|backports should be for either critical or simple bugs 136 2016-12-08 19:09:12 0|morcos|gmaxwell: why? that behavior has been like that for several major versions no? 137 2016-12-08 19:09:41 0|morcos|do we think it is more of an issue now b/c of occasional mempool backlogs? 138 2016-12-08 19:09:45 0|gmaxwell|The issue that these are collectively fixing are stuck coins in wallets which combined with user error can lead to funds loss. We are currently having resports from multiple users encountering it. 139 2016-12-08 19:09:50 0|gmaxwell|morcos: ding ding. 140 2016-12-08 19:09:50 0|luke-jr|backporting all bugfixes is fine if we do RCs IMO; critical/simple criteria mainly makes sense for security stuff 141 2016-12-08 19:09:56 0|sdaftuar|i think 9290 is simple, and implements the behavior we all thought was already happening 142 2016-12-08 19:10:04 0|gmaxwell|luke-jr: thats going offtopic but I don't fully agree. 143 2016-12-08 19:10:11 0|morcos|yes, 9290 is pretty simple 144 2016-12-08 19:10:39 0|gmaxwell|for 9262 if 9290 is in place there is an argument that the default behavior should change (don't refuse to create the failing txn.) 145 2016-12-08 19:10:44 0|gmaxwell|which is another question. 146 2016-12-08 19:10:48 0|morcos|i'd feel a bit easier about that one i guess... , and although i have no idea what might go wrong with 9262, you never know 147 2016-12-08 19:11:28 0|sipa|do we have a patch that deal with ATMP failing in createtransactionm 148 2016-12-08 19:11:30 0|sipa|? 149 2016-12-08 19:11:37 0|gmaxwell|well as is 9262 adds another reason for a send rpc to fail, which is user visible. With 9290 there is a lot less reason for that. I felt that that behavior change was not very sutiable for backport which is why I created 9290. 150 2016-12-08 19:11:41 0|morcos|yes, if we can briefly dive into that other question... one argument for refusing to create a failing tx is that if you try again you might succeed... 151 2016-12-08 19:11:42 0|sipa|that would be much less invasive to backport 152 2016-12-08 19:11:51 0|morcos|but not sure how deterministic the coin selection is 153 2016-12-08 19:12:11 0|michagogo|o/ 154 2016-12-08 19:12:28 0|gmaxwell|morcos: since unconfirmed coins are a last resort already your odds are not good. with the rest of 9262 in place... your odds are probably nearly zero. 155 2016-12-08 19:12:35 0|morcos|sipa: 9262 makes it much less likely that you will get to ATMP fail at least for the reason of chains. 156 2016-12-08 19:12:55 0|sipa|morcos: i know, but it is not fully generic 157 2016-12-08 19:13:16 0|morcos|gmaxwell: i disagree i think... since it all depends on how many coins you end up using as inputs, which is not a factor in our logic now 158 2016-12-08 19:13:18 0|instagibbs|fully generic would be something like justCheck ATMP 159 2016-12-08 19:13:27 0|sipa|morcos: i would be much more confortable with something that deals correctly with an occasional failurr, rather than trying our best to avoid failures 160 2016-12-08 19:13:37 0|gmaxwell|The mempool chain limit change is transitory, which is why I believe avoid + rebroadcast is the right solution. 161 2016-12-08 19:13:53 0|morcos|sipa: but as gmaxwell would probably argue, depending ont he reason for your failure you might want to do different things, so its maybe not a simple patch 162 2016-12-08 19:14:17 0|sipa|morcos: well we can still use whatever logic to avoid the failure 163 2016-12-08 19:14:39 0|sipa|but knowing that we don't get into hard-to-recover states would give more peace of mind 164 2016-12-08 19:14:45 0|gmaxwell|morcos: for 9262 I say very low because if it was possible to avoid the failure it likely would have due to the prior selectcoins runs. the only time where a retry would work is where it couldn't be done with low count coins, could be done with midcount coins and the retry gets lucky. 165 2016-12-08 19:15:02 0|gmaxwell|sipa: transitory failure is not a hard to recover state. 166 2016-12-08 19:15:18 0|gmaxwell|at least not any worse than "I paid too little fee" 167 2016-12-08 19:15:53 0|morcos|gmaxwell: no i don't think so.. some of your low count coins may have ancestors with other descendants.. you may choose a lot of low value low count coins, vs just 1 high value one.. etc.. 168 2016-12-08 19:15:59 0|gmaxwell|I believe (someone can correct) that there is now no way to get a failure there except a transitory one. But belt and suspenders could be fine. 169 2016-12-08 19:16:09 0|sipa|gmaxwell: well at least you'd know your transaction was not broadcast immediately 170 2016-12-08 19:16:28 0|sipa|gmaxwell: and i'm talking more generically than chain depth limits 171 2016-12-08 19:16:36 0|morcos|gmaxwell: definitely can get non-transitory failures... i have some wallet that everytime i start the node tries to broadcast a too high fee tx 172 2016-12-08 19:16:55 0|gmaxwell|sipa: you never really know that, since we have no monitoring to tell if the broadcasts were successful. I think we should seperately track successful broadcasts in the wallet. some lite wallets do this. 173 2016-12-08 19:16:56 0|sipa|gmaxwell: ATMP is complicated 174 2016-12-08 19:17:11 0|morcos|if it wasn't ATMP, then it wasn't broadcast 175 2016-12-08 19:17:25 0|gmaxwell|morcos: yes but it can be ATMP and never broadcast. 176 2016-12-08 19:17:29 0|sipa|gmaxwell: i mean: since we *can* recover from failure to ATMP, we should 177 2016-12-08 19:17:49 0|sdaftuar|perhaps a simple backport would be to return the txid of the failed to ATMP transaction back to the RPC caller, once it's been added to the wallet? 178 2016-12-08 19:17:51 0|MarcoFalke_|I am not against backporting 9290, but if we do, I'd prefer a small section in the release notes. Previously one could just resend the tx and figure out the problem later. Now, it might cause you to fund the same recipient twice. 179 2016-12-08 19:17:56 0|gmaxwell|sipa: "recover", I don't think I agree. Backing out a send and returning an error is not recovery. 180 2016-12-08 19:17:58 0|sdaftuar|that seems strictly better than prior behavior 181 2016-12-08 19:18:04 0|sdaftuar|and after 9290, semi-reasonable 182 2016-12-08 19:18:09 0|gmaxwell|It just pushes error handling downstream to a caller that likely has none. 183 2016-12-08 19:18:30 0|sipa|are we sure that every ATMP failure is temporary? 184 2016-12-08 19:18:32 0|morcos|to bring it back to what we should backport.. i'd say at most 9290 .. and lets concentrate on the more robust fix for 0.14 185 2016-12-08 19:18:37 0|gmaxwell|MarcoFalke_: I am confused as to what you believe the effect of 9290 is. 186 2016-12-08 19:18:46 0|instagibbs|sipa, I have some memory of absurd fee issue, but not on hand 187 2016-12-08 19:19:25 0|gmaxwell|sipa: I believed that was the case, though morcos just pointed out something about a too-high-fee txn. 188 2016-12-08 19:19:42 0|gmaxwell|I would agree that returning an error on non-temporary failures would be good. 189 2016-12-08 19:19:44 0|morcos|the high fee code did change, so not sure if that got fixed 190 2016-12-08 19:19:47 0|sdaftuar|morcos: i disagree with just doing 9290. the rpc situation is a disaster when you get an RPC failure for a created tx 191 2016-12-08 19:19:59 0|sipa|gmaxwell: sendtoaddress can already fail in various ways before even attempting ATMP (for example, tx too large, insufficient funds, ..) that the caller needs to deal with 192 2016-12-08 19:20:19 0|morcos|sdaftuar: its been like that forever though! i agree we should fix it, but we shouldn't be just now designing a fix to push out in a backport 193 2016-12-08 19:20:23 0|morcos|it will not get sufficient testing 194 2016-12-08 19:20:48 0|gmaxwell|morcos: it hasn't been like that forever because the failures are modulated by network conditions. 195 2016-12-08 19:20:56 0|MarcoFalke_|gmaxwell: 9290 will put tx in your mempool that previously failed to be accepted while running. We did never do that. (only after restart) 196 2016-12-08 19:21:00 0|gmaxwell|some people that never built unconfirmed chains are building them now. 197 2016-12-08 19:21:48 0|morcos|i guess i just think we are close enough to 0.14, that we should concetnrate on a good and well tested fix for that 198 2016-12-08 19:22:05 0|gmaxwell|MarcoFalke_: We did it at every restart. So you couldn't have counted on the behavior. And you also would have had no way of knowing that it failed on the very first try. 199 2016-12-08 19:22:06 0|morcos|i'm always worried about unintended consequences of these things 200 2016-12-08 19:22:06 0|sdaftuar|morcos: what is your objection to my proposal above, of returning the txid of the failed-to-accept-tomempool transaction, that is now in your wallet? 201 2016-12-08 19:22:37 0|sdaftuar|i think that should be a simple change, and just tells the users what is going on 202 2016-12-08 19:22:52 0|wumpus|I tend to agree with morcos - better to focus on a good solution for 0.14, then try to rush something for 0.13.2 last minute 203 2016-12-08 19:23:09 0|gmaxwell|well I don't feel this is rushed. :) 204 2016-12-08 19:23:10 0|sipa|sdaftuar: if we expect every such failure to be temporary, and start retrying automatically, i agree 205 2016-12-08 19:23:20 0|morcos|sdaftuar: maybe nothing, but what do users do with it? abandon? (what if they've waited 20 mins and 9290 rebroadcasted it) i don' tknow it just seems .. like a band-aid 206 2016-12-08 19:23:35 0|CodeShark|fwiw, in all my stuff I've separated the equivalent of "sendtoaddress" into at least two separate calls 207 2016-12-08 19:23:37 0|wumpus|it's not even merged to master yet, and we're not sure of the consequences 208 2016-12-08 19:23:40 0|wumpus|so yes it feels rushed 209 2016-12-08 19:23:50 0|sipa|CodeShark: yes, so do we in the raw tx api 210 2016-12-08 19:23:56 0|sdaftuar|morcos: right now though users are confused and think their money is gone -- at least this way they can see where it is 211 2016-12-08 19:24:05 0|morcos|sdaftuar: were you proposing that it looks different than if it did get accepted, or you can't tell from the rpc return value 212 2016-12-08 19:24:08 0|MarcoFalke_|gmaxwell: The rpc returns an error if it failed on the very first try, no? 213 2016-12-08 19:24:09 0|sipa|i did not know we did not report a txid if ATMP fails 214 2016-12-08 19:24:09 0|wumpus|simple fixes and things we're really sure about can be merged+backported last minute 215 2016-12-08 19:24:20 0|wumpus|but it doesn't look to be the case here, given this discussion already 216 2016-12-08 19:24:33 0|instagibbs|sipa, it's a very scary and useless message 217 2016-12-08 19:24:40 0|instagibbs|well, now it propagates more 218 2016-12-08 19:24:43 0|instagibbs|but still scary 219 2016-12-08 19:24:43 0|morcos|it seems to me you'd want to distinguish between it got ATMP and it didn't 220 2016-12-08 19:24:59 0|sipa|well i think we should either delete wallet txs that fail to ATMP at creation time, OR report the txid anyway 221 2016-12-08 19:25:16 0|sipa|now people think the tx failed, but they're still rebroadcasting it 222 2016-12-08 19:25:24 0|sdaftuar|sipa: i agree with that, though i'd be nervous about doing the first (delete wallet tx) in a backport 223 2016-12-08 19:25:24 0|wumpus|yes that makes no sense to the user 224 2016-12-08 19:25:32 0|sipa|sdaftuar: agree 225 2016-12-08 19:25:35 0|gmaxwell|sipa: not just that, but it is holding coins up in their wallet. 226 2016-12-08 19:25:55 0|wumpus|ideally the API should be atomic, either it succeeds or fails, not fails and still make a transaction 227 2016-12-08 19:26:10 0|sdaftuar|morcos: i agree it'd be better to indicate somehow that the new tx isn't in the mempool,but perhaps we can't change the API like that in a backport... reporting the txid still seems better than current behavior though 228 2016-12-08 19:26:18 0|sdaftuar|no different than if the tx was acepted and then evicted before relay 229 2016-12-08 19:26:20 0|gmaxwell|MarcoFalke_: you're right. 230 2016-12-08 19:26:24 0|wumpus|but it may be too much to fix in a backport in a release that we want out as soon as possible 231 2016-12-08 19:26:34 0|morcos|sdaftuar: but that doesn't work very well for a tx that'll never go anywhere ... 232 2016-12-08 19:26:43 0|sipa|can we do rebroadcast + report txid anyway in a backport? 233 2016-12-08 19:26:50 0|sdaftuar|current behavior is even worse though for a tx that won't go anywhere 234 2016-12-08 19:27:01 0|sdaftuar|you don't even know what tx to inspect/abandon! 235 2016-12-08 19:27:04 0|sipa|and for 0.14 consider long chain avoidance + deletion of failed creations? 236 2016-12-08 19:27:15 0|wumpus|although I'm not entirely sure when we want to do 0.13.2 237 2016-12-08 19:27:31 0|gmaxwell|wumpus: I want to do 0.13.2 238 2016-12-08 19:27:32 0|morcos|i mean if we do think this is such a large problem that it HAS to be addressed in a back port... then i'd argue we should include 9262, because at least if that works right, it means all the other functionality we'll backport will get used much less often 239 2016-12-08 19:27:43 0|wumpus|gmaxwell: I'm asking when, not whether 240 2016-12-08 19:27:53 0|gmaxwell|morcos: that was my thinking. 241 2016-12-08 19:28:02 0|sdaftuar|i lean towards backporting 9262, myself 242 2016-12-08 19:28:04 0|gmaxwell|wumpus: oops, I missed the word when. 243 2016-12-08 19:28:29 0|morcos|i'd rather have a lot less people asking about rpc calls that look like they work but theres no tx in mempool or random rebroadcasts a day later when parts of the chain confirm 244 2016-12-08 19:28:34 0|sipa|imho not reporting the txid of a tx that was added to your wallet is the worat bug here 245 2016-12-08 19:28:41 0|sipa|*worst 246 2016-12-08 19:28:43 0|sdaftuar|sipa: agree! 247 2016-12-08 19:28:45 0|jonasschnelli|Agree 248 2016-12-08 19:28:55 0|jonasschnelli|Reporting the txid seems worth a backport 249 2016-12-08 19:29:02 0|jonasschnelli|And the API change is accaptable 250 2016-12-08 19:29:06 0|wumpus|yes 251 2016-12-08 19:29:13 0|sipa|i don't have much opinion on 9262 252 2016-12-08 19:29:15 0|gmaxwell|morcos: I am unsure of how much reduction it will get. It will be a reduction, but at least 2 out of 3 people I've directly helped in this condition had no other coins in their wallet, as the wallet was created with a single large lump payment. 253 2016-12-08 19:29:25 0|CodeShark|then a separate call to check whether it failed to broadcast? 254 2016-12-08 19:29:38 0|MarcoFalke_|So reporting the txid would hide the fact that ATMP failed? 255 2016-12-08 19:29:41 0|gmaxwell|the third, however, was making large chains pointlessly and their problem would have been avoided by 9262. 256 2016-12-08 19:30:05 0|sipa|CodeShark: we can't make people change the way they use the api 257 2016-12-08 19:30:14 0|sipa|not in the short term 258 2016-12-08 19:30:18 0|jonasschnelli|9262 is great. But whats the reason for a backport? Is a wallet function, users can and should upgrade to 0.14? 259 2016-12-08 19:30:22 0|CodeShark|imho, sendtoaddress should be deprecated in the long run 260 2016-12-08 19:30:23 0|morcos|realistically speaking what's the date when 13.2 would be out vs 14.0.. and would people be more likely to want 13.2 261 2016-12-08 19:30:25 0|wumpus|not in a backport at least 262 2016-12-08 19:30:31 0|CodeShark|but yeah, nearterm compatibility is important 263 2016-12-08 19:30:40 0|wumpus|CodeShark: we're talking about what to do in a backport 264 2016-12-08 19:30:44 0|sipa|CodeShark: maybe, but that's totally off topic in this discussion 265 2016-12-08 19:30:46 0|gmaxwell|My view on what we should eventually do: If a failure is perminante we should fail the send, and not save the txn. If the failure is temporary, we should return the txid and rebroadcast when we can. We should try to avoid creating temporary failures. 266 2016-12-08 19:30:49 0|wumpus|not what to do in the long run 267 2016-12-08 19:30:52 0|CodeShark|right 268 2016-12-08 19:31:33 0|gmaxwell|I was of the view that the case where we will ever create a non-temporary failure now is basically non-existant already. 269 2016-12-08 19:31:49 0|sipa|gmaxwell: it certainly seems infrequent 270 2016-12-08 19:31:52 0|gmaxwell|so I haven't given any thought to the 'not save the txn' branch above. 271 2016-12-08 19:32:11 0|gmaxwell|There may be fringe cases, so belt and suspenders would be good for robustness. 272 2016-12-08 19:32:26 0|jonasschnelli|hmm.. not saving the tx would mean, the wallet rpc functions depend fully on the mempool policy? 273 2016-12-08 19:32:36 0|sipa|so rebroadcast + avoid long chains + report txid anyway... all for 0.13.2? 274 2016-12-08 19:32:54 0|morcos|if its really rare, it might be we just track failures to reaccept and when they hit a cerain number, stop trying and have a way of reproting those txs for manual abandonment 275 2016-12-08 19:32:54 0|wumpus|when do we want to do 0.13.2? 276 2016-12-08 19:33:03 0|wumpus|is it some short term thing or januari? 277 2016-12-08 19:33:15 0|gmaxwell|As far as when 0.13.2 I've personally been spending almost all my recent attention on the remaining things I thought 0.13.2 needed. I had hoped in december. 278 2016-12-08 19:33:23 0|morcos|sipa: it seems thats what people are arguing for 279 2016-12-08 19:33:29 0|jonasschnelli|wumpus: +1 month after 0.14? 280 2016-12-08 19:33:32 0|wumpus|this sounds like it still needs a lot of work and testing and new things 281 2016-12-08 19:33:54 0|morcos|wumpus: reporting the txid anyway is probably super simple... just a question of thinking about the consequences 282 2016-12-08 19:33:55 0|sipa|jonasschnelli: a new 0.13 after 0.14 makes little sense 283 2016-12-08 19:33:55 0|wumpus|cfields also thought it was this week, he felt guilty he couldn't sign it this week :) 284 2016-12-08 19:34:00 0|gmaxwell|These things (and the open backport PR) are the only things I'm perosnally tracking for 0.13.2 (I made a call in #bitcoin this morning for bugreports against 0.13.1 with an eye towards getting 0.13.2 ready). 285 2016-12-08 19:34:05 0|morcos|so not unheard of that all these things could be merged into master by tomorrow 286 2016-12-08 19:34:28 0|wumpus|morcos: they're not even in master yet, I'm not sure of merging so much new stuff into a backport 287 2016-12-08 19:35:18 0|morcos|wumpus: well neither am i... i personally favor less emphasis on backports.. but i'm saying if we are going to do it, well lets get to it... 288 2016-12-08 19:35:20 0|wumpus|I really think we should make a choice here and solve the worst problems for 0.13.2 instead of trying to rush everything into it 289 2016-12-08 19:35:21 0|gmaxwell|I didn't even know about the rebroadcast behavior that 9290 fixed until discussion about this subject. :( 290 2016-12-08 19:35:43 0|wumpus|could always do a 0.13.3 later 291 2016-12-08 19:36:34 0|wumpus|jonasschnelli: I think the idea was to do it before 0.14. If after, none of these things are a problem 292 2016-12-08 19:36:45 0|gmaxwell|This discussion revealed that we also need the return txid anyways change, that is also a serious bug. 293 2016-12-08 19:36:46 0|morcos|i guess i believe that all or nothing makes sense, simply b/c anything less than the all sipa mentioned still leaves a big problem "rebroadcast + avoid long chains + report txid anyway." 294 2016-12-08 19:36:52 0|jonasschnelli|wumpus: Yes. Right. 295 2016-12-08 19:37:14 0|morcos|i would vote nothing, but i recognize i am outvoted 296 2016-12-08 19:37:17 0|sipa|morcos: i think the long chain avoidance is the least important in that set 297 2016-12-08 19:37:19 0|wumpus|but does the wallet get enough testing on 0.13.2 to warrant this? 298 2016-12-08 19:37:26 0|gmaxwell|I do believe we could leave the avoidance out and at least not be buggy in any risky way. Just potentially creating a needlessly bad performance. 299 2016-12-08 19:37:31 0|wumpus|I sometimes even doubt it gets enough testing on master 300 2016-12-08 19:37:49 0|MarcoFalke_|The rc1 for 0.13.2 should probably happen in Dec, otherwise it will "overlap" with 0.14 301 2016-12-08 19:37:58 0|gmaxwell|wumpus: I think wallet sometimes gets more testing on backport than on master. 302 2016-12-08 19:38:21 0|wumpus|MarcoFalke_: agreed, and people will probably be away lot later this month 303 2016-12-08 19:38:38 0|luke-jr|I think there'd be value in 0.13.x beyond 0.14, but realistically it won't get enough testing, so if we want a well-tested 0.13.x we should aim for before 0.14 304 2016-12-08 19:38:44 0|gmaxwell|wumpus: perhaps we should table this and (1) get the things we have open into master. (2) get a return txid fix. 305 2016-12-08 19:38:45 0|morcos|sipa: my reason for including the avoidance would be to limit the number of people affected by the other two changes.. but i guess i'm not sure how helpful it will be.. sure 306 2016-12-08 19:39:47 0|morcos|it always worries me when we change the behavior 307 2016-12-08 19:40:05 0|morcos|it seems people are always dependent on existing behvaior or using the bitcoind in a way we didn't anticipate 308 2016-12-08 19:40:12 0|CodeShark|why not preserve the current behavior for the existing API call and instead create a new API call that has the desired behavior? 309 2016-12-08 19:40:33 0|jonasschnelli|CodeShark: bugfix with a new feature? :) 310 2016-12-08 19:40:36 0|wumpus|gmaxwell: I suppose what is in 0.13.2 right now is already enough for a release? we could do the wallet stuff in a 0.13.3 311 2016-12-08 19:40:42 0|gmaxwell|Let my summarize the bug and why I think it's important to fix. Right now normal use of the wallet for some users can suffer inexplicible failures due to creating long transactions. These long transactions will look like the send failed, but it will still go into the wallet and _still_ be broadcast later potentially (After a restart). Users lose access to their funds and may falsely believe a 312 2016-12-08 19:40:43 0|morcos|the avoidance (if its not buggy) just works magic behind the scenes 313 2016-12-08 19:40:48 0|gmaxwell|wallet is empty. Users may double pay as a result. 314 2016-12-08 19:40:57 0|MarcoFalke_|CodeShark: We'd end with an new API every release. :) 315 2016-12-08 19:41:07 0|CodeShark|lol 316 2016-12-08 19:41:15 0|gmaxwell|These are all serious money losing bugs. And are the most reported issue I've dealt with users for existing software. 317 2016-12-08 19:41:16 0|wumpus|CodeShark: I think the point is fixing the current behavior 318 2016-12-08 19:41:56 0|CodeShark|the current behavior is it still stores the transaction in the wallet even if ATMP fails? 319 2016-12-08 19:41:58 0|sipa|CodeShark: this is all besides the issue. the current behaviour is clearly broken in numerous ways, and it should be fixed 320 2016-12-08 19:42:18 0|gmaxwell|if not for that, I wouldn't bother with wanting any of this backported. 321 2016-12-08 19:42:18 0|sipa|CodeShark: new APIs are possible that avoid some of the pitfalls we've learned about in earlier designs 322 2016-12-08 19:42:33 0|gmaxwell|(not for the fact that people are hitting it and can lose money as a result) 323 2016-12-08 19:42:48 0|Chris_Stewart_5|gmaxwell: 'long chains of txs' or just large txs for inexplicable failures? 324 2016-12-08 19:43:05 0|gmaxwell|Chris_Stewart_5: large transactions will not cause the behavior I described. 325 2016-12-08 19:43:08 0|sipa|CodeShark: yes 326 2016-12-08 19:43:20 0|MarcoFalke_|Chris_Stewart_5: mempool chains. 327 2016-12-08 19:43:23 0|jonasschnelli|Agree with gmaxwell: But I think we must at least offer a way how to detect this on the RPC consumer side and mention it in the release nots 328 2016-12-08 19:43:24 0|gmaxwell|The send mail fail but the failure is clean and won't freeze the users funds and/or send anyways. 329 2016-12-08 19:43:35 0|jonasschnelli|Reporting txid seems to be the sane way for a backport IMO 330 2016-12-08 19:43:55 0|gmaxwell|I think reporting the txid is correct too. I agree. 331 2016-12-08 19:44:21 0|gmaxwell|If its possible that the send will go through we must report the txid. Right now we don't. 332 2016-12-08 19:44:33 0|luke-jr|another potential way to address this particular case, would be to simply toggle the default of -spendzeroconfchange I think? 333 2016-12-08 19:44:42 0|wumpus|yes, if the transaction is added to the wallet it should be reported 334 2016-12-08 19:44:54 0|luke-jr|not the best way, but perhaps good enough to solve the critical part of the issue 335 2016-12-08 19:45:03 0|morcos|I'd rather spend less days arguing about it and more days testing the RC that fixes it... so can someone add the report txid anyway PR and lets merge that, #9262 and #9290 into master 336 2016-12-08 19:45:06 0|gribble|https://github.com/bitcoin/bitcoin/issues/9262 | Prefer coins that have fewer ancestors, sanity check txn before ATMP by instagibbs ÃÂ· Pull Request #9262 ÃÂ· bitcoin/bitcoin ÃÂ· GitHub 337 2016-12-08 19:45:07 0|gribble|https://github.com/bitcoin/bitcoin/issues/9290 | Make RelayWalletTransaction attempt to AcceptToMemoryPool. by gmaxwell ÃÂ· Pull Request #9290 ÃÂ· bitcoin/bitcoin ÃÂ· GitHub 338 2016-12-08 19:45:10 0|gmaxwell|None of the users reporting issues I worked with had been tripped up by the failure to return a txid (at least not that they noticed). 339 2016-12-08 19:45:12 0|wumpus|and that doesn't sound like a very risky or large change 340 2016-12-08 19:45:23 0|MarcoFalke_|#action create report txid patch 341 2016-12-08 19:45:37 0|sipa|MarcoFalke_: already on it 342 2016-12-08 19:45:43 0|jonasschnelli|sipa: nice! 343 2016-12-08 19:45:49 0|jonasschnelli|(just wanted to start) :) 344 2016-12-08 19:45:59 0|morcos|sipa: are you typing one-handed, its taking you a while 345 2016-12-08 19:46:30 0|sipa|morcos: i just switched to my laptop 346 2016-12-08 19:46:31 0|gmaxwell|luke-jr: I think szcc=0 is a huge disruptive and surprising change. :( 347 2016-12-08 19:46:51 0|wumpus|it's throwing out the baby with the bath water too 348 2016-12-08 19:47:06 0|luke-jr|gmaxwell: but it can't result in losing money (I agree a proper fix would be better though) 349 2016-12-08 19:47:15 0|gmaxwell|it's almost like "we could make sendtoaddress always fail." :) yes, that would fix the problem.. but.. 350 2016-12-08 19:47:31 0|wumpus|if it is really a critical problem we could consider that 351 2016-12-08 19:47:57 0|gmaxwell|but I suppose I would consider it if we really felt we couldn't do a better fix soon. 352 2016-12-08 19:48:00 0|wumpus|I remember we've done that before, in the time of the malleability problem 353 2016-12-08 19:48:04 0|wumpus|but preferably not, no 354 2016-12-08 19:48:40 0|gmaxwell|but I think we have a collection of better fixes which (with the txid return) will be more than sufficient. 355 2016-12-08 19:48:51 0|gmaxwell|so I'd rather not think about szcc=0. :) 356 2016-12-08 19:48:54 0|luke-jr|k 357 2016-12-08 19:49:13 0|morcos|actually i guess its not as simple as i thought 358 2016-12-08 19:50:09 0|gmaxwell|morcos: returning a txid? 359 2016-12-08 19:50:11 0|bitcoin-git|[13bitcoin] 15sipa opened pull request #9302: Return txid even if ATMP fails for new transaction (06master...06failedtxid) 02https://github.com/bitcoin/bitcoin/pull/9302 360 2016-12-08 19:50:16 0|gmaxwell|I believe thats as simple as 361 2016-12-08 19:50:35 0|gmaxwell|^ yep, thats the change I imagined. 362 2016-12-08 19:50:58 0|CodeShark|I never thought sendtoaddress was a reliable call as far as error handling so I sort of stopped thinking about how to do the error handling from the app side - not sure what issues people have had because of this behavior 363 2016-12-08 19:51:04 0|morcos|ha ha ha 364 2016-12-08 19:51:40 0|jonasschnelli|sipa: I think you should also change the logprint ("CommitTransaction(): Error: Transaction not valid, %s\n"), but meh, OT. 365 2016-12-08 19:51:47 0|sdaftuar|jonasschnelli: +1 :) 366 2016-12-08 19:51:55 0|sipa|jonasschnelli: we don't know if it's not valid 367 2016-12-08 19:52:12 0|sipa|jonasschnelli: wait, i don't see the change 368 2016-12-08 19:52:18 0|jonasschnelli|"ATMP failed" or something. 369 2016-12-08 19:52:19 0|gmaxwell|sipa: maybe that was the point of jonasschnelli's comment 370 2016-12-08 19:52:22 0|sipa|ah! 371 2016-12-08 19:52:36 0|sipa|i thought you said "change it TO ..." 372 2016-12-08 19:52:59 0|morcos|thanks sipa 373 2016-12-08 19:53:05 0|jonasschnelli|No. Just criticised the current one. 374 2016-12-08 19:53:08 0|jonasschnelli|Yes. Thanks sipa. 375 2016-12-08 19:53:12 0|jonasschnelli|Next time please faster 376 2016-12-08 19:53:17 0|gmaxwell|so: action proposed, 9302, 9290, 9262 and help get them into master. 377 2016-12-08 19:53:18 0|luke-jr|._. 378 2016-12-08 19:53:42 0|sdaftuar|gmaxwell: concur 379 2016-12-08 19:53:45 0|luke-jr|gmaxwell: sgtm 380 2016-12-08 19:54:01 0|morcos|gmaxwell: i think thats the stable equilibrium... if 9262 seems dicey we can ditch, but i think its good 381 2016-12-08 19:54:04 0|morcos|can we briefly discuss tx expiry if no one else has another unrelated topic 382 2016-12-08 19:54:19 0|gmaxwell|yes, 9262 is the most optional, esp with the first two in. 383 2016-12-08 19:54:25 0|wumpus|at least 9290 and 9302 384 2016-12-08 19:54:35 0|gmaxwell|morcos: I would like to discuss expiry. 385 2016-12-08 19:54:43 0|wumpus|the latter should obv get into master but not sure about 0.13.2 386 2016-12-08 19:54:46 0|MarcoFalke_|#action 9302, 9290, 9262 for master (and backport), 9262 optional backport 387 2016-12-08 19:55:00 0|MarcoFalke_|^fine this way? 388 2016-12-08 19:55:08 0|wumpus|#topic mempool expiry time increase 389 2016-12-08 19:55:16 0|instagibbs|I still think preferential coin choosing should go in, even if we drop the abort 390 2016-12-08 19:55:17 0|wumpus|5 minutes to go ^^ 391 2016-12-08 19:55:21 0|instagibbs|sorry, continue 392 2016-12-08 19:55:24 0|morcos|i'd like to raise the time to at least 1 week... although we could use a few more heads thinking about whether there are any issues.. obv after 9290, it doesn't matter as much for gtting yhour own txs confirmed 393 2016-12-08 19:55:48 0|gmaxwell|instagibbs: I'd like to default the abort to off, with the rest it won't be needed. We can discuss later. 394 2016-12-08 19:55:55 0|morcos|but i think if we want to be able to fully utilize weekly cycles in the tx volume, then we need to have txs which sit around for a week or more to measure how long it takes them to get confirmed 395 2016-12-08 19:56:23 0|wumpus|morcos: would it make much of a difference in practice? wouldn't the transactions be evicted due to the mempool limit first? 396 2016-12-08 19:56:27 0|luke-jr|morcos: I can't think of any reason this wouldn't be okay. (but haven't given it thought before now) 397 2016-12-08 19:56:29 0|morcos|i'm not really sure that the problems that expiry were meant to protect against are actually any more prevent with 3 days vs say 14 398 2016-12-08 19:56:33 0|gmaxwell|morcos: I do believe I made the argument for a week way back when on this basis. OTOH, the mempool is simply not large enough to exploit the weekly cycle currently. 399 2016-12-08 19:56:56 0|wumpus|morcos: apart from that I don't see any problems with it 400 2016-12-08 19:57:05 0|morcos|wumpus: no.. any tx with fee rate > 1.5 sat / byte gets evicted b/c of 3 day limit and would otherwise get mined within a week (and usually does b/c of rebroadcast) 401 2016-12-08 19:57:08 0|instagibbs|does the wallet "abort" if it drops from mempool, or does it resubmit 402 2016-12-08 19:57:12 0|sipa|luke-jr: i think the expectation should be that everything in the mempool leaves it either due to accept/conflict or fee based eviction 403 2016-12-08 19:57:13 0|instagibbs|I assume resubmits 404 2016-12-08 19:57:16 0|gmaxwell|My view on the expiration is that it removes high fee cruft that got softforked out but is taking up your mempool. 405 2016-12-08 19:57:24 0|morcos|gmaxwell: its way more than big enough for a week cycle 406 2016-12-08 19:57:33 0|morcos|b/c remember it only has to hodl backlog 407 2016-12-08 19:57:33 0|sipa|luke-jr: expiration is for things that somehow linger much longer 408 2016-12-08 19:57:58 0|morcos|gmaxwell: yeah, but if thats actually happening 3 days is way too long, and is breaking yoru fee estimates already 409 2016-12-08 19:58:10 0|gmaxwell|morcos: okay point so long as it is at least as big as the daily cycle, txn can persist through the week. 410 2016-12-08 19:58:12 0|luke-jr|hmm 411 2016-12-08 19:58:14 0|wumpus|instagibbs: abort right now, the idea of #9290 is to change that and make it reaccept on rebroadcast 412 2016-12-08 19:58:16 0|gribble|https://github.com/bitcoin/bitcoin/issues/9290 | Make RelayWalletTransaction attempt to AcceptToMemoryPool. by gmaxwell ÃÂ· Pull Request #9290 ÃÂ· bitcoin/bitcoin ÃÂ· GitHub 413 2016-12-08 19:58:50 0|morcos|ok, i'd propose 14 days, so we don't have this problem again... and lets just think about whether anyone can think of any problems with it 414 2016-12-08 19:58:51 0|gmaxwell|morcos: in terms of fee estimates, we can address that by using a narrower filter... e.g. only consider transactions which are structurally similar to our own.. but a seperate topic. 415 2016-12-08 19:59:08 0|gmaxwell|also the expiration hardly works now in any case. 416 2016-12-08 19:59:13 0|sdaftuar|there's one other advantage of 3 days versusu a week, which is being able to double-spend a too-low-fee tx. after fee bumping, i think this reason largely goes away 417 2016-12-08 19:59:20 0|morcos|i don't think we can really take advantage of it until we change fee estimates... but i'd rather have more of the network behaving similarilyh 418 2016-12-08 19:59:29 0|morcos|and after 9290 419 2016-12-08 19:59:30 0|gmaxwell|if you are connectable there are 'helpful' parties that connect and spam you with a zillion old txn. 420 2016-12-08 19:59:32 0|instagibbs|morcos, that's too weeks of nodes not accepting fee bumps if you mess up and don't do bip125 (not sure how big an issue that is but still) 421 2016-12-08 19:59:33 0|morcos|you have a tiny windo 422 2016-12-08 19:59:33 0|sdaftuar|morcos: good point 423 2016-12-08 19:59:51 0|instagibbs|even with manual bumping* 424 2016-12-08 20:00:02 0|gmaxwell|instagibbs: I think it doesn't matter for replacement. 425 2016-12-08 20:00:12 0|morcos|instagibbs: but after 9290 your tx comes again anyway, you just lose the information that its old 426 2016-12-08 20:00:20 0|gmaxwell|Right now replacement of non-replacable transactions works even a day later fine, due to restarts and fullrbf miners. 427 2016-12-08 20:00:22 0|luke-jr|instagibbs: if the fee is that excessively small though, it will get bumped out by non-conflicting transactions sooner probably 428 2016-12-08 20:00:22 0|morcos|i want to retain that information 429 2016-12-08 20:00:35 0|gmaxwell|instagibbs: also what luke said. 430 2016-12-08 20:00:46 0|morcos|nothing with a fee rate > 1.5 sat / byte as ever been evicted due to low fee rate 431 2016-12-08 20:00:50 0|gmaxwell|morcos: does it need to be 14 days or is 7 sufficient to exploit the weekly cycle? 432 2016-12-08 20:01:15 0|morcos|i don't know... maybe 7.. but maybe you need more data points that are older than that to know things that don't get confirmed in 7 days 433 2016-12-08 20:01:19 0|morcos|which is kind of importnat 434 2016-12-08 20:01:28 0|gmaxwell|oh I see, for the estimator. 435 2016-12-08 20:02:02 0|sipa|very short announcement: github now supports listing reviewers for your PR... always feel free to list me 436 2016-12-08 20:02:04 0|morcos|anyway, all i wanted to do is raise the topic, so other people cna think of potential problems 437 2016-12-08 20:02:15 0|gmaxwell|morcos: OKAY! 438 2016-12-08 20:02:28 0|gmaxwell|morcos: just open an PR and set sipa as the reviewer. Done. 439 2016-12-08 20:02:43 0|wumpus|#endmeeting 440 2016-12-08 20:02:44 0|lightningbot|Log: http://www.erisian.com.au/meetbot/bitcoin-core-dev/2016/bitcoin-core-dev.2016-12-08-19.00.log.html 441 2016-12-08 20:02:44 0|lightningbot|Meeting ended Thu Dec 8 20:02:43 2016 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4) 442 2016-12-08 20:02:44 0|lightningbot|Minutes: http://www.erisian.com.au/meetbot/bitcoin-core-dev/2016/bitcoin-core-dev.2016-12-08-19.00.html 443 2016-12-08 20:02:44 0|lightningbot|Minutes (text): http://www.erisian.com.au/meetbot/bitcoin-core-dev/2016/bitcoin-core-dev.2016-12-08-19.00.txt 444 2016-12-08 20:04:06 0|gmaxwell|instagibbs: I think of the 9262 "failure" case as a lot like spendzeroconfchange-- basically we replace a messy error with an even worse error but one which is cleaner to deal with. 445 2016-12-08 20:04:18 0|gmaxwell|(at least assuming the rebroadcast and txid return problems are solved) 446 2016-12-08 20:04:29 0|instagibbs|sure, I don't mind if there's something better in place removing it or turning it off by default 447 2016-12-08 20:05:08 0|Chris_Stewart_5|what does the acronym ATMP stand for? 448 2016-12-08 20:05:13 0|instagibbs|AcceptToMemoryPool 449 2016-12-08 20:05:15 0|gmaxwell|instagibbs: I think a proper mental model is that ignoring out of funds conditions-- which are likely "handled" by running getbalance before the send--, callers have no error handling on sendtoaddress. 450 2016-12-08 20:05:20 0|Chris_Stewart_5|ah, thanks instagibbs 451 2016-12-08 20:06:27 0|btcdrak|Can I scrounge some urgent review for https://github.com/bitcoin/libblkmaker/pull/6 please. It's required for some downstream miners for segwit. 452 2016-12-08 20:06:41 0|gmaxwell|or another way of thinking about it: Users will have no error handling for an error condition which isn't either Obvious (out of funds) or Very easily encountered in practice (also out of funds)... even fairly advanced users will not handle errors unless we either have an error simulator that returns them or very clear documentation which says "here are all the errors you will have to handle". 453 2016-12-08 20:07:41 0|gmaxwell|So given that I think we should assume the best handling users commonly have for sendtoaddress failure of "stop the world, something unexpected happened." 454 2016-12-08 20:19:36 0|btcdrak|morcos: ok I think I fixed that PR. Fingers crossed on Travis. 455 2016-12-08 20:26:18 0|morcos|btcdrak: i guess we won't be in favor of any soft forks that depend on tx version again 456 2016-12-08 20:47:27 0|btcdrak|morcos: I wouldnt say that necessarily, it's just we never did and were relying of default values. 457 2016-12-08 20:49:12 0|btcdrak|It reminds me that one shouldn't use API defaults for versioning.