1 2014-08-11 00:00:47 JackH has quit (Ping timeout: 260 seconds)
   2 2014-08-11 00:02:30 xeb has quit (Ping timeout: 260 seconds)
   3 2014-08-11 00:03:43 mpmcsweeney has quit (Remote host closed the connection)
   4 2014-08-11 00:04:19 xeb has joined
   5 2014-08-11 00:05:00 elgrecoFL2 has joined
   6 2014-08-11 00:06:56 elgrecoFL2 is now known as elgrecoFL
   7 2014-08-11 00:07:11 elgrecoFL has quit (Changing host)
   8 2014-08-11 00:07:11 elgrecoFL has joined
   9 2014-08-11 00:07:11 elgrecoFL has quit (Changing host)
  10 2014-08-11 00:07:11 elgrecoFL has joined
  11 2014-08-11 00:08:33 sahlhoff has quit (Quit: sahlhoff)
  12 2014-08-11 00:15:22 xeb has quit (Ping timeout: 240 seconds)
  13 2014-08-11 00:16:01 xeb has joined
  14 2014-08-11 00:17:03 xeb has quit (Max SendQ exceeded)
  15 2014-08-11 00:17:30 xeb has joined
  16 2014-08-11 00:19:38 fanquake has joined
  17 2014-08-11 00:20:42 yubrew has joined
  18 2014-08-11 00:28:50 fanquake has left ()
  19 2014-08-11 00:34:14 Aido_ has joined
  20 2014-08-11 00:36:32 Aido has quit (Ping timeout: 240 seconds)
  21 2014-08-11 00:36:39 IGHOR has joined
  22 2014-08-11 00:36:49 ak_ has quit (Read error: Connection reset by peer)
  23 2014-08-11 00:36:49 akstunt600 has quit (Read error: Connection reset by peer)
  24 2014-08-11 00:36:54 IGHOR has quit (Client Quit)
  25 2014-08-11 00:37:37 akstunt600 has joined
  26 2014-08-11 00:37:41 IGHOR has joined
  27 2014-08-11 00:37:48 ak_ has joined
  28 2014-08-11 00:43:41 AaronvanW has quit (Ping timeout: 245 seconds)
  29 2014-08-11 00:43:59 pecket has quit (Ping timeout: 246 seconds)
  30 2014-08-11 00:46:02 HaltingState has joined
  31 2014-08-11 00:46:04 HaltingState has quit (Changing host)
  32 2014-08-11 00:46:04 HaltingState has joined
  33 2014-08-11 00:47:29 xeb has quit (Ping timeout: 246 seconds)
  34 2014-08-11 00:47:54 xeb has joined
  35 2014-08-11 00:56:43 one_zero has joined
  36 2014-08-11 00:59:21 xeb has quit (Ping timeout: 260 seconds)
  37 2014-08-11 01:01:53 sahlhoff has joined
  38 2014-08-11 01:08:15 ionstorm has joined
  39 2014-08-11 01:08:37 weilu has joined
  40 2014-08-11 01:12:06 <BlueMatt> ahmed_: yep, thats me
  41 2014-08-11 01:13:17 wallet42 has joined
  42 2014-08-11 01:18:23 ztoshi has joined
  43 2014-08-11 01:22:08 ztoshi has quit (Client Quit)
  44 2014-08-11 01:26:12 ShawnLeary has joined
  45 2014-08-11 01:28:17 Application has quit (Ping timeout: 255 seconds)
  46 2014-08-11 01:30:02 <ahmed_> BlueMatt: any advicr/help on starting my own ppa
  47 2014-08-11 01:30:07 akstunt600 has quit (Read error: Connection reset by peer)
  48 2014-08-11 01:30:07 ak_ has quit (Read error: Connection reset by peer)
  49 2014-08-11 01:30:51 ak_ has joined
  50 2014-08-11 01:31:01 akstunt600 has joined
  51 2014-08-11 01:33:03 <BlueMatt> ahmed_: why?
  52 2014-08-11 01:35:10 <ahmed_> BlueMatt: mainly just incase you stop coming out with new versions and because I have a personal copy of bitcoind with sn empty testnet to save me redownloading always so a ppa makes it easier for me
  53 2014-08-11 01:35:19 <ahmed_> When spinning up vms
  54 2014-08-11 01:35:55 <BlueMatt> meh, up until the latest release the ~bitcoin ppa has been up-to-date within a day or so of release
  55 2014-08-11 01:36:19 <BlueMatt> and its officially supported, so that should continue to be the case
  56 2014-08-11 01:36:31 <ahmed_> BlueMatt: yeah thats just one of  the reasons tho like I said
  57 2014-08-11 01:36:33 <BlueMatt> ofc if you really want your own, just copy contrib/debian to debian and use standard debian release tools
  58 2014-08-11 01:36:51 <ahmed_> Okay thanks :)
  59 2014-08-11 01:37:11 <BlueMatt> ofc if you're doing this because you want your own, I highly recommend against a ppa (using launchpad) and suggest you run your own
  60 2014-08-11 01:37:21 <BlueMatt> or make your own .deb via debuild and then scp it around
  61 2014-08-11 01:37:34 <BlueMatt> because that would be much more secure than trusting launchpad's build infrastructure
  62 2014-08-11 01:37:42 <ahmed_> Ahh not too bad of an idea
  63 2014-08-11 01:37:49 <ahmed_> Much easier too
  64 2014-08-11 01:38:10 <ahmed_> Thanks :)
  65 2014-08-11 01:38:11 davispuh has quit (Ping timeout: 245 seconds)
  66 2014-08-11 01:39:35 oPen_syLar has quit (Ping timeout: 244 seconds)
  67 2014-08-11 01:40:33 oPen_syLar has joined
  68 2014-08-11 01:45:44 <Luke-Jr> did we break boost compat? why is https://gist.github.com/janx/10465121 telling people to build their own boost? :/
  69 2014-08-11 01:47:52 <BlueMatt> maybe its useless?
  70 2014-08-11 01:47:57 <BlueMatt> have you asked janx?
  71 2014-08-11 01:49:37 fabianfabian has quit (Quit: what)
  72 2014-08-11 01:50:54 <Luke-Jr> dunno who janx is :P
  73 2014-08-11 01:52:39 dignork has quit (Remote host closed the connection)
  74 2014-08-11 01:54:10 dignork has joined
  75 2014-08-11 01:58:14 pen has quit (Ping timeout: 260 seconds)
  76 2014-08-11 01:59:30 Dr-G2 has joined
  77 2014-08-11 02:01:22 banghouse has quit (Remote host closed the connection)
  78 2014-08-11 02:02:45 Dr-G has quit (Ping timeout: 264 seconds)
  79 2014-08-11 02:02:51 WeCluster has joined
  80 2014-08-11 02:04:50 Burrito has quit (Quit: Leaving)
  81 2014-08-11 02:05:08 Andymeows has joined
  82 2014-08-11 02:07:36 Application has joined
  83 2014-08-11 02:09:52 Subo1977_ has joined
  84 2014-08-11 02:12:19 wallet42 has quit (Read error: Connection reset by peer)
  85 2014-08-11 02:12:25 wallet421 has joined
  86 2014-08-11 02:12:25 wallet421 is now known as wallet42
  87 2014-08-11 02:14:09 Subo1977 has quit (Ping timeout: 264 seconds)
  88 2014-08-11 02:15:42 sahlhoff has quit (Quit: sahlhoff)
  89 2014-08-11 02:18:23 llllllllll has quit ()
  90 2014-08-11 02:19:03 sahlhoff has joined
  91 2014-08-11 02:23:40 akstunt600 has quit (Read error: Connection reset by peer)
  92 2014-08-11 02:24:35 akstunt600 has joined
  93 2014-08-11 02:27:47 agricocb has joined
  94 2014-08-11 02:29:05 agricocb has quit (Client Quit)
  95 2014-08-11 02:29:20 agricocb has joined
  96 2014-08-11 02:29:48 pen has joined
  97 2014-08-11 02:32:11 jchp has quit (Ping timeout: 255 seconds)
  98 2014-08-11 02:36:22 jchp has joined
  99 2014-08-11 02:39:49 antizionist__ has quit (Quit: Connection closed for inactivity)
 100 2014-08-11 02:47:15 banghouse has joined
 101 2014-08-11 02:47:59 Eiii has quit ()
 102 2014-08-11 02:56:18 Zarutian has quit (Quit: Zarutian)
 103 2014-08-11 02:57:35 DigiByte has quit (Quit: Leaving)
 104 2014-08-11 02:58:26 DigiByte has joined
 105 2014-08-11 03:01:13 codice has quit (Ping timeout: 244 seconds)
 106 2014-08-11 03:02:55 codice has joined
 107 2014-08-11 03:04:59 Andrewmeows has joined
 108 2014-08-11 03:06:32 oPen_syLar has quit (Ping timeout: 260 seconds)
 109 2014-08-11 03:07:55 xdotcommer has quit ()
 110 2014-08-11 03:09:19 wallet42 has quit (Quit: Leaving.)
 111 2014-08-11 03:09:21 Andymeows has quit (Ping timeout: 272 seconds)
 112 2014-08-11 03:10:26 Aido has joined
 113 2014-08-11 03:11:14 at0mat has quit ()
 114 2014-08-11 03:11:27 MKCoin has quit (Ping timeout: 272 seconds)
 115 2014-08-11 03:12:48 Aido_ has quit (Ping timeout: 255 seconds)
 116 2014-08-11 03:15:38 super3 has joined
 117 2014-08-11 03:16:46 ak_ has quit (Read error: Connection reset by peer)
 118 2014-08-11 03:16:46 akstunt600 has quit (Read error: Connection reset by peer)
 119 2014-08-11 03:16:50 HostFat has joined
 120 2014-08-11 03:17:29 ak_ has joined
 121 2014-08-11 03:17:38 akstunt600 has joined
 122 2014-08-11 03:19:33 spike1 has quit (Ping timeout: 240 seconds)
 123 2014-08-11 03:23:43 Andrewmeows is now known as Andymeows
 124 2014-08-11 03:24:03 MKCoin has joined
 125 2014-08-11 03:29:26 cadaverr has quit (Quit: cadaverr)
 126 2014-08-11 03:29:53 CheckDavid has quit (Quit: Connection closed for inactivity)
 127 2014-08-11 03:37:04 mpmcsweeney has joined
 128 2014-08-11 03:37:18 mpmcsweeney has quit (Remote host closed the connection)
 129 2014-08-11 03:43:58 fanquake has joined
 130 2014-08-11 03:47:34 roconnor_ has joined
 131 2014-08-11 03:48:41 roconnor has quit (Ping timeout: 245 seconds)
 132 2014-08-11 03:49:03 Andymeows is now known as sporkling
 133 2014-08-11 03:49:33 sporkling is now known as Guest29352
 134 2014-08-11 03:49:45 Guest29352 is now known as Andymeows
 135 2014-08-11 03:53:25 TheSeven has quit (Ping timeout: 260 seconds)
 136 2014-08-11 03:54:51 TheSeven has joined
 137 2014-08-11 03:58:34 banghouse has quit (Remote host closed the connection)
 138 2014-08-11 04:04:59 Andymeows is now known as Andrewmeows
 139 2014-08-11 04:09:28 Andrewmeows is now known as Andymeows
 140 2014-08-11 04:09:57 rdponticelli has quit (Ping timeout: 264 seconds)
 141 2014-08-11 04:10:05 akstunt600 has quit (Read error: Connection reset by peer)
 142 2014-08-11 04:10:05 ak_ has quit (Read error: Connection reset by peer)
 143 2014-08-11 04:10:43 akstunt600 has joined
 144 2014-08-11 04:11:03 ak_ has joined
 145 2014-08-11 04:11:21 dgenr8 has quit (Quit: Leaving)
 146 2014-08-11 04:15:40 yubrew has quit (Remote host closed the connection)
 147 2014-08-11 04:18:17 skinnkavaj has quit (Ping timeout: 245 seconds)
 148 2014-08-11 04:20:25 <iwilcox> Sorry to repeat, but is there an obvious explanation for why higher mem use caused by higher checkblocks/checklevel should persist past the initial check?
 149 2014-08-11 04:20:34 <iwilcox> http://0bin.net/paste/TJFBbprrUO7rPV8Y#iDuZBJa2KCD9FckfPhONUD2TBcfccgK+aoCg3CsSAs0
 150 2014-08-11 04:21:53 <iwilcox> cb=200 ran into bad_alloc @~450s so might not be representative.  I'm just thinking that if it's cached, I wouldn't be triggering bad_allocs because bitcoind would just throw something out.
 151 2014-08-11 04:23:32 <iwilcox> Maybe if I just let cb=25 run for hours it'd eventually climb to RSS ~500k anyway.
 152 2014-08-11 04:24:45 <iwilcox> That was with addrindex but Amphibian got very similar numbers without: http://pastebin.ubuntu.com/8013660/
 153 2014-08-11 04:25:24 <gmaxwell> iwilcox: wrt throw something out, absolutely not.
 154 2014-08-11 04:27:20 <gmaxwell> iwilcox: basically all 'general computer' software is written assuming that the computer has infinite memory/swap. There may be _some_ facility for handling a failed allocation, but those code paths often don't work right— worse on many operating systems the system overcommits, allocations will be successful even if there isn't enough memory— and then only when you try to write to some of that allocation will the OS tell you (by ...
 155 2014-08-11 04:27:26 <gmaxwell> ... killing the process)
 156 2014-08-11 04:28:06 <Luke-Jr> (or killing another unrelated process)
 157 2014-08-11 04:28:36 <gmaxwell> (the reason for overcommit is because there are many cases where a process may reasonably allocate a bunch of additional memory that it doesn't need, never write to it, and drop it later.  The canonical example being the whole extra copy of the current process when you fork() only to throw it out a moment later when you exec())
 158 2014-08-11 04:28:59 <iwilcox> Sure.  Makes sense, overoptimistic of me :)
 159 2014-08-11 04:30:28 <gmaxwell> (personally— having spent too much time working on codecs and realtime systems— I like to write software where the memory usage is determinstic, allocated all up front— so no surprises. Unfortunately, thats not compatible with the "safe C++" style that uses dynamically allocated container objects everywhere)
 160 2014-08-11 04:30:56 <iwilcox> So what's the determining factor for a bitcoind instance?
 161 2014-08-11 04:31:27 <gmaxwell> iwilcox: determining what factor?
 162 2014-08-11 04:31:43 <iwilcox> Memory use doesn't just grow, unbounded.
 163 2014-08-11 04:32:11 hmsimha has quit (Ping timeout: 246 seconds)
 164 2014-08-11 04:33:13 <iwilcox> bitcoind is stable at ~0.5G, but presumably if there's no inbuilt cap on use then it depends on some aspect of the chain or mempool or something.
 165 2014-08-11 04:33:31 dgenr8 has joined
 166 2014-08-11 04:33:33 <gmaxwell> There is no cap though nothing that grows over time uses much memory.
 167 2014-08-11 04:33:52 paxtoncamaro91 has joined
 168 2014-08-11 04:34:51 <gmaxwell> most of the usage is death by 100 cuts. Every thread uses an 8mb for stack plus some amount of per-thread heap thats allocated to it. A lot of this isn't mapped in until its used, but if its used once it doesn't get released.  At startup checkblocks checks the database in a very sound way by undoing a bunch of recent blocks and redoing them (like a reorg), it does this in memory to avoid writing anything to disk, this creates a memory ...
 169 2014-08-11 04:34:57 <gmaxwell> ... usage peak, for some reason not all of this gets released (there may be some fragmentation contributing to that).
 170 2014-08-11 04:35:41 <gmaxwell> now that we don't have huge per-peer buffers there really isn't a reason for bitcoind to be using a bunch of ram, just no one has successfully tracked down the main depynessnesses.
 171 2014-08-11 04:37:08 <gmaxwell> Malloc profiling only explains about half the allocations, and a lot of what it does explain is things like the per-thread overheads which can be reduced with some amount of work. The unexplained parts are unclear.
 172 2014-08-11 04:38:51 <iwilcox> OK, probably no easy gains then.  I'm just looking at this from the PoV of "how long can this hardware keep running a node", generally.
 173 2014-08-11 04:40:55 <iwilcox> sipa said on bitcointalk "The primary reason for -checkblocks ... is preventing accidental disk corruption of the block chain file, which could result in rejecting the best chain."
 174 2014-08-11 04:41:19 <iwilcox> How would that happen?  How would the check prevent that?
 175 2014-08-11 04:41:40 <iwilcox> Just wondering what I'd be trading off by less thorough/less deep checks.
 176 2014-08-11 04:41:45 Eiii has joined
 177 2014-08-11 04:48:07 A has joined
 178 2014-08-11 04:55:24 copumpkin has joined
 179 2014-08-11 04:59:07 nullbyte has quit (Ping timeout: 272 seconds)
 180 2014-08-11 05:03:30 akstunt600 has quit (Read error: Connection reset by peer)
 181 2014-08-11 05:04:18 akstunt600 has joined
 182 2014-08-11 05:07:23 Aido_ has joined
 183 2014-08-11 05:08:37 paveljanik has joined
 184 2014-08-11 05:09:02 ionstorm has quit (Remote host closed the connection)
 185 2014-08-11 05:09:21 Aido has quit (Ping timeout: 244 seconds)
 186 2014-08-11 05:09:43 ionstorm has joined
 187 2014-08-11 05:09:55 banghouse has joined
 188 2014-08-11 05:10:01 dparrish has joined
 189 2014-08-11 05:12:32 Aido has joined
 190 2014-08-11 05:13:01 derbumi_ has joined
 191 2014-08-11 05:14:00 derbumi has quit (Ping timeout: 244 seconds)
 192 2014-08-11 05:14:00 derbumi_ is now known as derbumi
 193 2014-08-11 05:15:22 Aido_ has quit (Ping timeout: 245 seconds)
 194 2014-08-11 05:19:29 wateratosthenes has joined
 195 2014-08-11 05:22:28 chax has joined
 196 2014-08-11 05:25:50 wateratosthenes has quit (Ping timeout: 240 seconds)
 197 2014-08-11 05:28:53 <wumpus> iwilcox: during the checkblocks two CCoinsViewCaches grow to enormous size
 198 2014-08-11 05:29:56 <wumpus> iwilcox: one of those is released immediately after, but the other (pcoinsTip) persists for a while, until it is flushed at some point, probably in WriteChainState
 199 2014-08-11 05:30:15 <iwilcox> What triggers that flush?
 200 2014-08-11 05:30:43 <wumpus> if (pcoinsTip->GetCacheSize() > nCoinCacheSize || (!IsInitialBlockDownload() && GetTimeMicros() > nLastWrite + 600*1000000))
 201 2014-08-11 05:30:56 <wumpus> src/main.cpp, line 1869
 202 2014-08-11 05:31:54 <iwilcox> So at least every 10m?
 203 2014-08-11 05:33:00 <wumpus> anyhow the initial growth is what causes memory usage, this could be becuase lots of little records are being allocated, so the memory space gets fragmented, which makes it harder to return to the OS
 204 2014-08-11 05:34:02 <wumpus> one solution would be to limit the size of a CCoinsViewCache w/ a mru cache, for example
 205 2014-08-11 05:35:03 moarrr has joined
 206 2014-08-11 05:35:39 <wumpus> but I noticed it too, the coinsviewcache is what causes the large memory usage, after loading the block index only ~80MiB of heap is used, during the check it's ~500MiB, and afterwards about ~250
 207 2014-08-11 05:37:44 <wumpus> so you can save a lot of memory on a stable node by reducing the checkblocks size
 208 2014-08-11 05:38:17 <wumpus> on a node that is reindexing the ccoinsviewcache will never hit that size due to the regular flush
 209 2014-08-11 05:39:52 wateratosthenes has joined
 210 2014-08-11 05:41:09 xdotcommer has joined
 211 2014-08-11 05:42:36 <wumpus> nCoinsCacheSize is 5000, which is supposed to be a limit, the actual size that those monsters grow to is 77711 and 157546
 212 2014-08-11 05:46:09 <iwilcox> So what's the risk introduced by tuning checkblocks down?  I don't quite grasp what sipa is saying in that quotation above.
 213 2014-08-11 05:46:14 wateratosthenes has quit (Ping timeout: 240 seconds)
 214 2014-08-11 05:46:37 <wumpus> the 77k one is pCoinsTip, it will get a BatchWrite() at some point, which possibly will generate a very large leveldb batch (I haven't verified this, though)
 215 2014-08-11 05:46:58 <iwilcox> A previous instance crashes out, trashes only recent blocks but <checkblocks, ...?
 216 2014-08-11 05:50:14 <wumpus> a previous instance may not have processed recent blocks yet or updated the database for them
 217 2014-08-11 05:50:21 moarrr is now known as moarrr_hahaha
 218 2014-08-11 05:50:23 moarrr_hahaha is now known as moarrr_mircea
 219 2014-08-11 05:50:25 moarrr_mircea is now known as moarrr_haha
 220 2014-08-11 05:50:30 moarrr_haha is now known as moarrr
 221 2014-08-11 05:53:21 fr0sty has joined
 222 2014-08-11 05:53:37 <fr0sty> hey guys,  i have a question about bitcoin mining, can anyone help me out?
 223 2014-08-11 05:54:03 <iwilcox> Try #bitcoin-mining, but start by asking the actual question!
 224 2014-08-11 05:54:13 <fr0sty> thanks!
 225 2014-08-11 05:54:25 fr0sty has quit (Client Quit)
 226 2014-08-11 05:54:28 hmsimha has joined
 227 2014-08-11 05:58:18 <wumpus> cfields: I didn't do that yet; I've been mostly focused on the ccoinsviewcaches issue, so I don't need that level of type detail yet
 228 2014-08-11 05:58:24 benrcole has joined
 229 2014-08-11 06:00:49 stickyfingers has joined
 230 2014-08-11 06:01:37 <sipa> iwilcox, wumpus, gmaxwell: the memory intensive part of checkblocks (level 3 and 4) are only done as far as the coin cache size allows
 231 2014-08-11 06:02:15 <sipa> which is limited in terms of how many txid entries, not in bytes (it uses some fixed conversion rate between them)
 232 2014-08-11 06:02:26 <wumpus> sipa: well the stages before that seem plenty memory intentive as well
 233 2014-08-11 06:02:35 <sipa> huh?
 234 2014-08-11 06:02:47 <sipa> that shouldn't be
 235 2014-08-11 06:02:53 <wumpus> please read back
 236 2014-08-11 06:02:58 <sipa> they just load blocks from disk and throw them away
 237 2014-08-11 06:02:59 <sipa> ok
 238 2014-08-11 06:03:36 <wumpus> during the check there are two coinsview caches, one grows to 77k and  one to 157k
 239 2014-08-11 06:03:45 <wumpus> (entries)
 240 2014-08-11 06:03:56 <wumpus> this is about 500MiB of memory
 241 2014-08-11 06:04:22 <sipa> yes, but that is all because of chrcklevel 3
 242 2014-08-11 06:04:29 <sipa> ot should be
 243 2014-08-11 06:05:05 <sipa> if you set -dbcache higher or lwer, checklevel 3 and 4 will be performed for more or less blocks
 244 2014-08-11 06:05:26 <sipa> for as many transactions as fit in the coin cache limit
 245 2014-08-11 06:05:29 WeCluster has quit (Ping timeout: 255 seconds)
 246 2014-08-11 06:06:18 <wumpus> I'll try with checklevel=2
 247 2014-08-11 06:06:59 <sipa> level 1 and 2 are indepdent consistency checks for blocks
 248 2014-08-11 06:07:12 <sipa> level 3 is a rollback of the chainstate in memory
 249 2014-08-11 06:07:25 <wumpus> but my tests above were all at the default checklevel and checkblocks as well as dbcache size, so maybe one of those should be toned down a bit
 250 2014-08-11 06:08:10 <sipa> no, the conversion between dbcache and number of ccoins entries is probably off
 251 2014-08-11 06:08:26 <sipa> level3 rolls back until the coin cache is full
 252 2014-08-11 06:08:46 neozaru has joined
 253 2014-08-11 06:08:51 <sipa> (and not more than -checkblocks says)
 254 2014-08-11 06:09:25 <iwilcox> So level 3 is constrained but the level 2 checks always go back by <checkblocks>?
 255 2014-08-11 06:09:31 <sipa> yes
 256 2014-08-11 06:09:34 <wumpus> maybe it forgets that there are two coin caches being filled up?
 257 2014-08-11 06:09:59 shesek has joined
 258 2014-08-11 06:10:19 <sipa> wumpus: one is the 'master' coin cache pcoinsTip, which is backed by the database - reading things from it will cause the cache to grow
 259 2014-08-11 06:10:33 wateratosthenes has joined
 260 2014-08-11 06:10:38 <sipa> the other is one in which all modifications are made
 261 2014-08-11 06:10:55 <wumpus> ok, indeed, with checklevel=2 the total heap usage stays at 77MiB after the blocks verification 
 262 2014-08-11 06:11:15 <sipa> so the first has all original coins entries, the second has all the changed ones due to the rollback
 263 2014-08-11 06:11:33 <sipa> iirc, the second one's size (in nunber of entries) is constrained
 264 2014-08-11 06:11:44 <sipa> as it's always larger than the first one
 265 2014-08-11 06:11:49 MolokoBot has joined
 266 2014-08-11 06:11:51 <wumpus> yes it's about twice as large
 267 2014-08-11 06:11:54 execut3 has quit (Ping timeout: 255 seconds)
 268 2014-08-11 06:12:24 <sipa> ideally, caches would account for their size accurately
 269 2014-08-11 06:12:28 <iwilcox> The fact that there are so many levels and it's seen as worth doing at every start, tells me I'm still missing something about how easily this should be spotting problems.
 270 2014-08-11 06:12:49 <iwilcox> "a previous instance may not have processed recent blocks yet or updated the database for them" — under what sort of circumstances?
 271 2014-08-11 06:13:00 <sipa> a crash
 272 2014-08-11 06:13:04 <wumpus> iwilcox: when it crashes!
 273 2014-08-11 06:13:08 <wumpus> like in any database program
 274 2014-08-11 06:13:57 <sipa> wumpus: the check shoukd probably be done on pcoinsTip->size + the size of the roll back cache
 275 2014-08-11 06:14:01 benrcole has quit (Quit: Leaving.)
 276 2014-08-11 06:14:08 <sipa> but that won'y change that much
 277 2014-08-11 06:14:08 <wumpus> the fact that it runs is not a problem, but it should probably use less memory
 278 2014-08-11 06:15:00 <sipa> we could do a flush on pcoinstip after the consistency check to make it release the memory ut used
 279 2014-08-11 06:15:10 <iwilcox> What point could bitcoind crash at that had hundreds of blocks unprocessed?
 280 2014-08-11 06:15:19 <wumpus> sipa: btw will the flush write all those touched records to disk?
 281 2014-08-11 06:15:30 <sipa> but that's just temporary... it shouldn't change peak usage
 282 2014-08-11 06:15:44 <sipa> wumpus: yes, which is why it needs to get dirtyness tracking
 283 2014-08-11 06:15:57 <wumpus> then it builds a 77k leveldb batch :(
 284 2014-08-11 06:15:58 <sipa> so undirty old records can judt be deleted rather than written
 285 2014-08-11 06:16:14 <sipa> it *always* builds such a batch when flushing
 286 2014-08-11 06:16:15 yubrew has joined
 287 2014-08-11 06:16:19 <wumpus> 77k entires that is... leveldb builds huge std::strings internally
 288 2014-08-11 06:16:34 <sipa> not only after checkblocks
 289 2014-08-11 06:16:37 <sipa> yes, i kbow
 290 2014-08-11 06:16:52 <sipa> i've been planning to improve that cache behavior since forever
 291 2014-08-11 06:17:02 wateratosthenes has quit (Ping timeout: 240 seconds)
 292 2014-08-11 06:17:07 <wumpus> but always that size?
 293 2014-08-11 06:17:14 <sipa> yes
 294 2014-08-11 06:17:18 <wumpus> nCoinCacheSize defaults to 5000, so I expected it to be more around that
 295 2014-08-11 06:17:28 <sipa> ugh, wait
 296 2014-08-11 06:17:52 <sipa> nCoinCacheSize defaults to some formula based off dbcache
 297 2014-08-11 06:17:53 <wumpus> that's just the default in the source code though, it is updated in init
 298 2014-08-11 06:17:57 <wumpus> yes
 299 2014-08-11 06:18:05 <sipa> yes, ignore that static defauly
 300 2014-08-11 06:19:34 <sipa> pcoinsTip should not grow in number of entries over nCoinCacheSize
 301 2014-08-11 06:19:51 <sipa> and whenever it does reach that, the entire cache is flushed
 302 2014-08-11 06:20:21 <sipa> which is silly, as the entries could be kept, but in a nondirty state that allows them to be removed from the cache without risk
 303 2014-08-11 06:20:53 yubrew has quit (Ping timeout: 260 seconds)
 304 2014-08-11 06:21:13 wateratosthenes has joined
 305 2014-08-11 06:21:49 <wumpus> nCoinCacheSize is 171267
 306 2014-08-11 06:22:02 <wumpus> okay, that explains something
 307 2014-08-11 06:22:15 benrcole has joined
 308 2014-08-11 06:23:18 <wumpus> my rough computations says that the memory usage per coin is more like 2000 bytes than 300
 309 2014-08-11 06:23:47 <wumpus> (based on the total extra memory usage during the check)
 310 2014-08-11 06:24:09 <sipa> strange that it seems to work fine duting sync
 311 2014-08-11 06:24:17 e4xit has quit (Read error: Connection reset by peer)
 312 2014-08-11 06:24:25 sahlhoff has quit (Quit: sahlhoff)
 313 2014-08-11 06:25:15 e4xit has joined
 314 2014-08-11 06:25:57 robonerd has quit (Ping timeout: 246 seconds)
 315 2014-08-11 06:26:09 <sipa> oh it does use both cache sizes
 316 2014-08-11 06:26:21 <wumpus> indeed, during the sync the behavior is ok
 317 2014-08-11 06:26:28 <sipa> but limits them to "2 * nCoinsCacheSize + 32000"
 318 2014-08-11 06:26:35 <wumpus> up until now I always did memory profiling while reindexing so I never  noticed this
 319 2014-08-11 06:27:09 <sipa> let's just start by changing that to nCoinsCacheSize
 320 2014-08-11 06:27:20 <wumpus> ok!
 321 2014-08-11 06:27:41 robonerd has joined
 322 2014-08-11 06:27:50 wateratosthenes has quit (Ping timeout: 240 seconds)
 323 2014-08-11 06:30:57 <wumpus> profiling...
 324 2014-08-11 06:31:31 pecket has joined
 325 2014-08-11 06:32:13 <BlueMatt> hmm...making a shared library exposing a useful VerifyScript was easier than I thought
 326 2014-08-11 06:33:46 <BlueMatt> ofc it weighs 10x what it should, but for minimal code-moving its not bad
 327 2014-08-11 06:34:16 <wumpus> BlueMatt: yeah, usefulness is a much bigger concern here
 328 2014-08-11 06:34:37 <BlueMatt> it exposes a VerifyScript that only takes byte arrays (and does deserialization itself)
 329 2014-08-11 06:34:39 <BlueMatt> so its useful
 330 2014-08-11 06:34:52 <wumpus> that's also how I imagined it
 331 2014-08-11 06:35:06 <sipa> cool
 332 2014-08-11 06:35:16 * BlueMatt plans to hack bitcoinj to use it tomorrow
 333 2014-08-11 06:35:25 <BlueMatt> and then clean up the code moves and pull req
 334 2014-08-11 06:35:40 <BlueMatt> https://github.com/TheBlueMatt/bitcoin/tree/libscript
 335 2014-08-11 06:36:20 <wumpus> passing around only byte arrays on the interface avoids the discussion about what should be exposed on the interface
 336 2014-08-11 06:36:30 <BlueMatt> indeed
 337 2014-08-11 06:36:37 <sipa> but you need the spending transaction too
 338 2014-08-11 06:36:37 <BlueMatt> its also more generically useful
 339 2014-08-11 06:36:40 mpmcsweeney has joined
 340 2014-08-11 06:36:45 <sipa> you pass that in serialized form as well?
 341 2014-08-11 06:36:47 <BlueMatt> yea, you pass in a serialized spending transaction
 342 2014-08-11 06:36:48 <BlueMatt> yes
 343 2014-08-11 06:36:57 wallet42 has joined
 344 2014-08-11 06:37:03 <wumpus> and you can even use it trivially with python ctypes and such
 345 2014-08-11 06:37:05 <BlueMatt> not idea, but probably better than any other alternative
 346 2014-08-11 06:37:16 * BlueMatt -> out
 347 2014-08-11 06:38:35 abossard has joined
 348 2014-08-11 06:38:56 wallet42 has quit (Client Quit)
 349 2014-08-11 06:39:33 <wumpus> sipa: changing that single line changed peak memory usage from 500+ MiB to the normal 250MiB which it can grow to anyway
 350 2014-08-11 06:40:42 fabianfabian has joined
 351 2014-08-11 06:40:45 fabianfabian has quit (Client Quit)
 352 2014-08-11 06:40:50 <sipa> cool
 353 2014-08-11 06:42:07 DigiByte has quit (Quit: Leaving)
 354 2014-08-11 06:44:02 banghouse has quit (Quit: g2g bbiab)
 355 2014-08-11 06:48:52 YoY has quit (Ping timeout: 240 seconds)
 356 2014-08-11 06:50:04 akstunt600 has quit (Read error: Connection reset by peer)
 357 2014-08-11 06:50:04 ak_ has quit (Read error: Connection reset by peer)
 358 2014-08-11 06:50:46 ak_ has joined
 359 2014-08-11 06:50:48 <wumpus> iwilcox, sipa: https://github.com/bitcoin/bitcoin/pull/4675
 360 2014-08-11 06:50:56 akstunt600 has joined
 361 2014-08-11 06:51:14 yubrew has joined
 362 2014-08-11 06:52:22 <gmaxwell> wumpus: was it correctly freeing the memory after the verification was complete?
 363 2014-08-11 06:52:28 benrcole has quit (Read error: No route to host)
 364 2014-08-11 06:52:35 benrcole1 has joined
 365 2014-08-11 06:52:52 <wumpus> gmaxwell: yes; the temporary ccoinsviewcache is completely freed, the pcoinsviewtip lingers around until the next regular flush
 366 2014-08-11 06:53:07 <wumpus> (which is expected)
 367 2014-08-11 06:53:08 DougieBot5000 has quit (Quit: Leaving)
 368 2014-08-11 06:53:33 <wumpus> it's not a memory leak
 369 2014-08-11 06:54:11 <wumpus> sipa suggested adding a flush right after the verification, we might as well do that too
 370 2014-08-11 06:54:26 <wumpus> although it shouldn't make a difference for peak memory usage
 371 2014-08-11 06:55:36 <gmaxwell> right. I wasn't sure if you were addressing peak or sustained (maybe not a leak— e.g. peak could be high and it could keep the memory around but still use it again)
 372 2014-08-11 06:56:19 <sipa> the reason for keeping it is assuming that the last blocks' outputs are likely to be consumed soon
 373 2014-08-11 06:56:41 <wumpus> sipa: yes, agreed, it makes sense to keep it
 374 2014-08-11 06:56:47 benrcole1 has quit (Read error: No route to host)
 375 2014-08-11 06:56:59 benrcole has joined
 376 2014-08-11 06:57:18 <wumpus> there is no problem with the verification 'priming' the cache
 377 2014-08-11 06:57:50 <wumpus> so let's not add a flush
 378 2014-08-11 06:57:52 W0rmDr1nk has quit (Ping timeout: 240 seconds)
 379 2014-08-11 06:58:02 <sipa> and with proper dirtyness tracking, all of them would be 'clean'
 380 2014-08-11 06:58:24 derbumi has quit (Quit: derbumi)
 381 2014-08-11 06:58:34 <wumpus> indeed
 382 2014-08-11 07:00:30 chax has quit (Remote host closed the connection)
 383 2014-08-11 07:00:56 chax has joined
 384 2014-08-11 07:01:45 derbumi has joined
 385 2014-08-11 07:03:04 home_jg is now known as jgarzik
 386 2014-08-11 07:03:05 derbumi has quit (Client Quit)
 387 2014-08-11 07:04:04 HideousSquid has joined
 388 2014-08-11 07:04:33 Andymeows has quit (Ping timeout: 255 seconds)
 389 2014-08-11 07:04:34 benrcole has quit (Ping timeout: 244 seconds)
 390 2014-08-11 07:04:35 derbumi has joined
 391 2014-08-11 07:04:42 Andymeows has joined
 392 2014-08-11 07:05:16 <HideousSquid> Heya all
 393 2014-08-11 07:05:47 chax has quit (Ping timeout: 255 seconds)
 394 2014-08-11 07:05:56 <HideousSquid> Have a question, anyone ever try to use the bitsafe device?
 395 2014-08-11 07:06:11 <wumpus> #bitcoin please
 396 2014-08-11 07:06:27 <HideousSquid> I'm deving software for it
 397 2014-08-11 07:07:11 <HideousSquid> Was wondering if anyone was familiar with the header format of the input for the transaction packets
 398 2014-08-11 07:08:06 <wumpus> that's more on-topic
 399 2014-08-11 07:08:54 <HideousSquid> ;-) I can't seem to make sense of the 3 bytes that come after the address handle
 400 2014-08-11 07:08:58 derbumi has quit (Client Quit)
 401 2014-08-11 07:09:27 <HideousSquid> For example: 2323000a0000017f080112fa020101000000
 402 2014-08-11 07:09:58 <HideousSquid> 2323 magic 000a command 0000017f payload size then payload begins...
 403 2014-08-11 07:10:06 <HideousSquid> 0801 address handle
 404 2014-08-11 07:10:26 <HideousSquid> 12fa02 <---- what the heck is this?
 405 2014-08-11 07:11:18 <HideousSquid> 01 is is_ref=input then 01000000 is the output number
 406 2014-08-11 07:11:37 benrcole has joined
 407 2014-08-11 07:11:38 <HideousSquid> (after that is the parent transaction etc. in standard hex)\
 408 2014-08-11 07:12:32 <sipa> you'll have to talk to the hardware manufacturers about that
 409 2014-08-11 07:12:46 <sipa> the transaction serialization itself isnontopic here
 410 2014-08-11 07:12:55 <sipa> *is on topic hete
 411 2014-08-11 07:14:00 Raziel has joined
 412 2014-08-11 07:15:08 HideousS_ has joined
 413 2014-08-11 07:16:26 <HideousS_> I'm building the hardware myself. Was interested if anyone had tried the software out before. It's the someone42 hardware wallet code
 414 2014-08-11 07:16:42 DigiByte has joined
 415 2014-08-11 07:18:27 HideousSquid has quit (Ping timeout: 272 seconds)
 416 2014-08-11 07:19:34 HideousS_ has quit (Client Quit)
 417 2014-08-11 07:19:47 thesquid has joined
 418 2014-08-11 07:19:53 thesquid is now known as HideousSquid
 419 2014-08-11 07:25:25 Grouver has joined
 420 2014-08-11 07:25:36 psgs is now known as away!~psgs@2001:41d0:1:68a3::39|psgs
 421 2014-08-11 07:29:12 Aahzmundus has quit (Remote host closed the connection)
 422 2014-08-11 07:29:25 Aahzmundus has joined
 423 2014-08-11 07:29:48 Aahzmundus is now known as Guest39243
 424 2014-08-11 07:30:31 ionstorm has quit (Remote host closed the connection)
 425 2014-08-11 07:32:18 W0rmDr1nk has joined
 426 2014-08-11 07:34:06 mpmcsweeney has quit (Remote host closed the connection)
 427 2014-08-11 07:34:35 berndj-blackout has quit (Ping timeout: 250 seconds)
 428 2014-08-11 07:36:30 ThomasV has joined
 429 2014-08-11 07:37:20 berndj-blackout has joined
 430 2014-08-11 07:38:56 derbumi has joined
 431 2014-08-11 07:39:42 moarrr has quit ()
 432 2014-08-11 07:41:12 Soligor has quit (Ping timeout: 246 seconds)
 433 2014-08-11 07:42:22 mpmcsweeney has joined
 434 2014-08-11 07:43:02 benrcole has quit (Read error: No route to host)
 435 2014-08-11 07:43:41 benrcole has joined
 436 2014-08-11 07:43:41 akstunt600 has quit (Read error: Connection reset by peer)
 437 2014-08-11 07:44:29 akstunt600 has joined
 438 2014-08-11 07:44:59 edulix has quit (Ping timeout: 250 seconds)
 439 2014-08-11 07:45:39 wallet42 has joined
 440 2014-08-11 07:46:05 erasmospunk has joined
 441 2014-08-11 07:46:08 super3 has quit (Ping timeout: 272 seconds)
 442 2014-08-11 07:46:14 mpmcsweeney has quit (Remote host closed the connection)
 443 2014-08-11 07:46:27 AaronvanW has joined
 444 2014-08-11 07:50:10 jordandotdev has joined
 445 2014-08-11 07:50:33 derbumi has quit (Quit: derbumi)
 446 2014-08-11 07:51:08 edulix has joined
 447 2014-08-11 07:51:24 Eiii has quit ()
 448 2014-08-11 07:54:51 wombatlover has joined
 449 2014-08-11 07:55:59 Soligor has joined
 450 2014-08-11 07:57:02 edulix has quit (Ping timeout: 240 seconds)
 451 2014-08-11 07:57:06 derbumi has joined
 452 2014-08-11 07:57:10 t7 has joined
 453 2014-08-11 07:57:22 pen has quit (Ping timeout: 245 seconds)
 454 2014-08-11 07:57:22 cym has joined
 455 2014-08-11 07:58:14 hmsimha has quit (Ping timeout: 240 seconds)
 456 2014-08-11 07:58:29 rubensayshi has joined
 457 2014-08-11 08:00:00 ValiantThor has quit (Quit: Leaving)
 458 2014-08-11 08:00:18 Internet13 has quit (Ping timeout: 260 seconds)
 459 2014-08-11 08:00:25 ValiantThor has joined
 460 2014-08-11 08:00:54 derbumi has quit (Client Quit)
 461 2014-08-11 08:02:52 wallet42 has quit (Quit: Leaving.)
 462 2014-08-11 08:03:16 edulix has joined
 463 2014-08-11 08:03:17 HideousS_ has joined
 464 2014-08-11 08:03:31 JackH has joined
 465 2014-08-11 08:03:50 Internet13 has joined
 466 2014-08-11 08:05:34 tarantillo_ has quit (Remote host closed the connection)
 467 2014-08-11 08:05:50 HideousSquid has quit (Ping timeout: 240 seconds)
 468 2014-08-11 08:05:51 tarantillo_ has joined
 469 2014-08-11 08:11:16 pen has joined
 470 2014-08-11 08:12:50 <wumpus> I've added some instrumentation to the loop in VerifyDB with checklevel=3, I log the size of the caches along with the total amount of allocated heap memory (allocated-freed)
 471 2014-08-11 08:12:53 <wumpus> 2014-08-11 07:30:04 caches: 0 0 (total 0, limit 171267): memory in use 77MiB
 472 2014-08-11 08:13:05 <wumpus> 2014-08-11 07:39:29 caches: 113393 58197 (total 171590, limit 171267): memory in use 428MiB
 473 2014-08-11 08:13:05 <wumpus>  
 474 2014-08-11 08:13:07 <wumpus> at the end
 475 2014-08-11 08:14:11 cym has quit (Ping timeout: 272 seconds)
 476 2014-08-11 08:14:48 psgs is now known as psgs|away
 477 2014-08-11 08:14:49 <wumpus> so a simple computation (428-77)*1048576/171590 would make me believe that the usage per cache entry is 2144 bytes
 478 2014-08-11 08:15:16 <wumpus> (although it scaled sub-linearly, but not by much)
 479 2014-08-11 08:15:54 <wumpus> I'll make a plot
 480 2014-08-11 08:17:33 <gmaxwell> thats ... awful big, esp since utxo demonstratiably take nowhere near that much on disk.
 481 2014-08-11 08:17:33 <wumpus> but this is quite far away from our estimate of 300 bytes per coin in init.cpp
 482 2014-08-11 08:18:07 ninsei has quit (Remote host closed the connection)
 483 2014-08-11 08:18:21 da2ce7 has joined
 484 2014-08-11 08:19:25 <jgarzik> Parting thought for the night:  would valgrind's heap profiler (massif) be useful?
 485 2014-08-11 08:19:47 <wumpus> if you provide the default of dbcache=100 it's supposed to use about 50MiB for the coinsdb cache
 486 2014-08-11 08:20:02 <wumpus> jgarzik: I'm using the gperftools heap profiler
 487 2014-08-11 08:22:05 <wumpus> jgarzik: which only hooks the allocation functions, so it causes less slow-down than valgrinds tools, I'm not sure how it compares apart from that
 488 2014-08-11 08:23:38 <wumpus> for every allocation it tracks where it was allocated, this is somewhat useful
 489 2014-08-11 08:24:31 graingert has joined
 490 2014-08-11 08:24:31 graingert has quit (Changing host)
 491 2014-08-11 08:24:31 graingert has joined
 492 2014-08-11 08:24:44 <wumpus> at least for looking at the bigger picture: it can't answer questions like 'why does this data structure use so much memory'
 493 2014-08-11 08:25:34 t7 has quit (Quit: brb)
 494 2014-08-11 08:26:01 <gmaxwell> I wish bitcoin were P2SH only, utxo could be constant size. :P
 495 2014-08-11 08:26:03 <wumpus> or even what data structure takes the memory; for the VerifyDB loop it's clear that all the memory is allocated under DisconnectBlock, but we could have guessed that
 496 2014-08-11 08:26:24 <wumpus> gmaxwell: heh indeed!
 497 2014-08-11 08:29:12 OneMiner has quit (Ping timeout: 272 seconds)
 498 2014-08-11 08:29:56 ThomasV has quit (Ping timeout: 255 seconds)
 499 2014-08-11 08:31:13 <wumpus> the cache contains a map from uint256 to CCoins ... a CCoins is just a bool, a vector<CTxOut>, and two integers
 500 2014-08-11 08:31:32 <wumpus> a CTxOUt is a 64-bit integer and a CScript
 501 2014-08-11 08:31:37 JackH has quit (Quit: JackH)
 502 2014-08-11 08:32:02 RBecker is now known as RyanB
 503 2014-08-11 08:33:38 <wumpus> and CScript is a vector<unsigned char> with some helper methods, no extra fields
 504 2014-08-11 08:34:39 <jgarzik> how much map overhead?   IIRC it has internal leave in a tree due to btree sorting method?
 505 2014-08-11 08:34:43 <wumpus> I wonder how much overhead is caused by us, and how much is just inherent to c++'s data structures and extra pointers and so
 506 2014-08-11 08:34:44 <jgarzik> *leaves
 507 2014-08-11 08:34:48 OneMiner has joined
 508 2014-08-11 08:35:28 <wumpus> well we switched to a boost::unordered_map recently, which uses a hash table instead of a tree, so that should help
 509 2014-08-11 08:35:51 benrcole has quit (Read error: Connection reset by peer)
 510 2014-08-11 08:35:59 benrcole has joined
 511 2014-08-11 08:36:07 <jgarzik> wumpus, is that a single array (the hash table) + linked list for buckets with >1 member?
 512 2014-08-11 08:36:26 <wumpus> jgarzik:you'd suppose so - but  I don't know how it's implemented in boost
 513 2014-08-11 08:36:43 ak_ has quit (Read error: Connection reset by peer)
 514 2014-08-11 08:36:43 akstunt600 has quit (Read error: Connection reset by peer)
 515 2014-08-11 08:37:25 ak_ has joined
 516 2014-08-11 08:37:33 akstunt600 has joined
 517 2014-08-11 08:37:34 karc has quit (Quit: leaving)
 518 2014-08-11 08:37:41 benrcole has quit (Read error: No route to host)
 519 2014-08-11 08:37:51 benrcole has joined
 520 2014-08-11 08:38:09 karc has joined
 521 2014-08-11 08:38:40 da2ce7 has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
 522 2014-08-11 08:39:14 davispuh has joined
 523 2014-08-11 08:41:38 darenthis has joined
 524 2014-08-11 08:43:44 t7 has joined
 525 2014-08-11 08:46:25 MoALTz has joined
 526 2014-08-11 08:49:16 RyanB is now known as RBecker
 527 2014-08-11 08:50:16 darenthis has quit (Remote host closed the connection)
 528 2014-08-11 08:51:43 benrcole has quit (Read error: Connection reset by peer)
 529 2014-08-11 08:52:11 benrcole has joined
 530 2014-08-11 08:56:30 benrcole has quit (Ping timeout: 250 seconds)
 531 2014-08-11 09:00:10 JackH has joined
 532 2014-08-11 09:05:10 plaprade has joined
 533 2014-08-11 09:06:14 dyoder has quit (Remote host closed the connection)
 534 2014-08-11 09:06:19 psgs is now known as away!~psgs@2001:41d0:1:68a3::39|psgs
 535 2014-08-11 09:07:15 HideousS_ has quit (Remote host closed the connection)
 536 2014-08-11 09:07:42 HideousSquid has joined
 537 2014-08-11 09:08:11 roconnor__ has joined
 538 2014-08-11 09:08:41 haskoiner has quit (Quit: haskoiner)
 539 2014-08-11 09:09:02 roconnor_ has quit (Ping timeout: 240 seconds)
 540 2014-08-11 09:11:59 hearn has joined
 541 2014-08-11 09:15:37 darenthis has joined
 542 2014-08-11 09:16:27 da2ce7 has joined
 543 2014-08-11 09:17:11 dyoder has joined
 544 2014-08-11 09:22:15 benrcole has joined
 545 2014-08-11 09:24:09 <wumpus> I added very naive GetMemorySize() accounting to CCoinsViewCache, but it seems pretty close 2014-08-11 09:17:41 caches: 113398/164MiB 58277/167MiB (total 171675/332MiB, limit 171267): memory in use 431MiB
 546 2014-08-11 09:24:56 <wumpus> so starting memory use is 77MiB, final memory use is 431MiB,  it counts the total size of the data structures as 332MiB
 547 2014-08-11 09:25:13 ThomasV has joined
 548 2014-08-11 09:25:45 dyoder has quit (Remote host closed the connection)
 549 2014-08-11 09:26:06 <wumpus> for 171675 records there is only 22MiB unaccounted for, so part of boost::unordered_map or vector that we don't know of
 550 2014-08-11 09:26:32 benrcole has quit (Ping timeout: 245 seconds)
 551 2014-08-11 09:27:01 dyoder has joined
 552 2014-08-11 09:27:03 <gmaxwell> wumpus: but where is the actual size going? it's surely not the data.
 553 2014-08-11 09:27:05 <wumpus> so the next thing would be to limit the CCoinsViewCache based on memory size instead of # entries
 554 2014-08-11 09:28:05 <gmaxwell> might be better to first get rid of the n-fold overhead though. The cache has a large impact on performance.
 555 2014-08-11 09:28:20 <wumpus> well it's possible to combine it with an increase of the default size
 556 2014-08-11 09:28:29 <wumpus> so that overall behavior stays exactly the same
 557 2014-08-11 09:28:44 <wumpus> but we don't lie about dbcache size anymore :P
 558 2014-08-11 09:28:45 Jamesz has quit (Ping timeout: 272 seconds)
 559 2014-08-11 09:28:50 <wumpus> but sure, solving the overhead would be even better
 560 2014-08-11 09:30:05 ak_ has quit (Read error: Connection reset by peer)
 561 2014-08-11 09:30:05 akstunt600 has quit (Read error: Connection reset by peer)
 562 2014-08-11 09:30:59 ak_ has joined
 563 2014-08-11 09:31:09 akstunt600 has joined
 564 2014-08-11 09:33:36 haskoiner has joined
 565 2014-08-11 09:33:46 dream4u has quit (Quit: dream4u)
 566 2014-08-11 09:34:25 YoY has joined
 567 2014-08-11 09:34:25 benrcole has joined
 568 2014-08-11 09:34:46 <sipa> wumpus: i have a branch which adds a GetMemoryUsage templated function for many of our data structures, and standard containers (including a constant for accounting for malloc overhead)
 569 2014-08-11 09:34:59 <wumpus> oh, so I'm doing duplicate work again :/
 570 2014-08-11 09:36:10 <sipa> don't have access to it right now; but i can polish it a bit tonight
 571 2014-08-11 09:36:42 benrcole1 has joined
 572 2014-08-11 09:36:49 <wumpus> btw, why does it need a templated function?
 573 2014-08-11 09:37:12 <sipa> to make it work automatically for containers
 574 2014-08-11 09:37:29 <sipa> i
 575 2014-08-11 09:37:54 <wumpus> ok, makes sense
 576 2014-08-11 09:38:23 <sipa> it's similar to serialize.h; it has default implementations for many standard data structures, and allows implementing your own method for classes
 577 2014-08-11 09:38:32 benrcole has quit (Ping timeout: 244 seconds)
 578 2014-08-11 09:38:46 <hearn> why do we have CCoinsViewCache, again? leveldb has its own cache as does the kernel
 579 2014-08-11 09:38:53 derbumi has joined
 580 2014-08-11 09:39:14 <gmaxwell> hearn: because leveldb alone is very slow.
 581 2014-08-11 09:39:24 <sipa> hearn: which only has serialized data; not directly updatable c++ data structures
 582 2014-08-11 09:39:53 <wumpus> hearn: try running with a very small -dbcache to find out
 583 2014-08-11 09:39:54 <sipa> the idea is to batch many changes before issuing a write, to avoid deserializing and reserializing all the time
 584 2014-08-11 09:40:07 <hearn> ah ok
 585 2014-08-11 09:40:21 <hearn> right, serialization overhead is pretty big
 586 2014-08-11 09:40:29 <sipa> it may be that if we changed the leveldb structure to be per-txout rather than per-tx, it would be different
 587 2014-08-11 09:40:40 graingert has quit (Quit: Ex-Chat)
 588 2014-08-11 09:40:41 <sipa> as it would make the in-db entries immutable - just create and delete
 589 2014-08-11 09:40:53 <hearn> or maybe used a serialization format for the database that's memcpyable, a la cap'n proto
 590 2014-08-11 09:40:55 graingert has joined
 591 2014-08-11 09:40:59 dyoder has quit (Remote host closed the connection)
 592 2014-08-11 09:41:05 <hearn> from the perspective of leveldb it doesn't make much difference i think
 593 2014-08-11 09:41:05 graingert has quit (Changing host)
 594 2014-08-11 09:41:05 graingert has joined
 595 2014-08-11 09:41:14 <hearn> an overwrite looks the same internally as a create/delete
 596 2014-08-11 09:41:17 <sipa> there's a factor 10 at least in memory usage between in the in-memory form and the serialized form
 597 2014-08-11 09:41:35 <hearn> yes because of the compression
 598 2014-08-11 09:41:48 <sipa> mostly because of std:;vector overhead
 599 2014-08-11 09:41:50 <wumpus> we don't use compression
 600 2014-08-11 09:42:06 <wumpus> at least not the leveldb compression
 601 2014-08-11 09:42:06 <gmaxwell> and the leveldb compression isn't helpful for us.
 602 2014-08-11 09:42:33 <wumpus> I'm trying to figure out what exactly the overhead is
 603 2014-08-11 09:42:40 <sipa> hearn: yes, but if it was only create-delete, there would be much less use for an in-memory updatable structure
 604 2014-08-11 09:42:58 <hearn> wumpus: yeah i meant the special sipa hand-rolled compression
 605 2014-08-11 09:43:05 <sipa> though it would still need deserialization at least
 606 2014-08-11 09:44:38 derbumi has quit (Quit: derbumi)
 607 2014-08-11 09:44:43 dyoder has joined
 608 2014-08-11 09:44:50 justanotheruser has quit (Ping timeout: 260 seconds)
 609 2014-08-11 09:47:18 derbumi has joined
 610 2014-08-11 09:47:45 dyoder has quit (Remote host closed the connection)
 611 2014-08-11 09:48:11 dyoder has joined
 612 2014-08-11 09:53:35 xenog has joined
 613 2014-08-11 09:57:25 llllllllll has joined
 614 2014-08-11 09:58:04 erasmospunk has quit (Quit: ttm)
 615 2014-08-11 10:01:34 one_zero has quit ()
 616 2014-08-11 10:01:45 derbumi has quit (Quit: derbumi)
 617 2014-08-11 10:02:22 derbumi has joined
 618 2014-08-11 10:03:17 derbumi has quit (Client Quit)
 619 2014-08-11 10:09:47 benrcole has joined
 620 2014-08-11 10:11:20 <wumpus> it looks like the main source of overhead are the CTxOut structs themselves, they take up 32 bytes a piece
 621 2014-08-11 10:11:22 benrcole1 has quit (Ping timeout: 250 seconds)
 622 2014-08-11 10:12:20 msvb-lab has joined
 623 2014-08-11 10:14:00 <wumpus> the scriptPubKeys on average take about 12.4 bytes
 624 2014-08-11 10:15:45 RAM518 has joined
 625 2014-08-11 10:18:23 derbumi has joined
 626 2014-08-11 10:19:45 <wumpus> so the minimum size of a TxOut would be 8 bytes (nValue) plus the size of the script, ie ~20 bytes on average total, whereas now it takes 32 + 12.4=44 per txout + extra malloc overhead
 627 2014-08-11 10:20:52 CheckDavid has joined
 628 2014-08-11 10:23:22 ak_ has quit (Read error: Connection reset by peer)
 629 2014-08-11 10:23:22 akstunt600 has quit (Read error: Connection reset by peer)
 630 2014-08-11 10:24:03 ak_ has joined
 631 2014-08-11 10:24:13 akstunt600 has joined
 632 2014-08-11 10:24:52 <hearn> wumpus: alignment padding too? also i wonder if we should store nValue as a varint. those top bytes will basically always be zero
 633 2014-08-11 10:25:09 <hearn> unless the bitcoin economy becomes totally fucked and one output ends up owning half the wealth the entire economy :-)
 634 2014-08-11 10:26:05 <wumpus> well on disk it is encoded as a sort of varint, in memory that's less practical
 635 2014-08-11 10:28:41 <wumpus> and indeed the reason why a structure with a int64 and a vector would be 32 bytes must be alignment
 636 2014-08-11 10:29:04 <wumpus> there are some gcc pragmas for affecting that
 637 2014-08-11 10:29:19 <gmaxwell> wumpus: 44 bytes isn't a big deal. I still don't see how we're getting to 2000 bytes per cache entry.
 638 2014-08-11 10:29:32 hearn has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
 639 2014-08-11 10:29:33 xenog has quit (Quit: Leaving.)
 640 2014-08-11 10:31:37 Zarutian has joined
 641 2014-08-11 10:32:08 <wumpus> Dump: Total 170 MiB: uint256 3 MiB (112953 * 32.0), CCoins 4 MiB (112953 * 40.0), CTxOut 118 MiB (3881766 * 32.0), scriptPubKey 44 MiB (3881766 * 11.9)
 642 2014-08-11 10:32:41 <wumpus> 3881766 times 44 is a lot
 643 2014-08-11 10:32:55 JackH has quit (Remote host closed the connection)
 644 2014-08-11 10:32:59 JackH1 has joined
 645 2014-08-11 10:38:20 <wumpus> ohh sizeof(CScript) is 24 (same as sizeof(std::vector<unsigned char>) )
 646 2014-08-11 10:38:54 <wumpus> so on average the vector struct itself is larger than the data stored in it :p
 647 2014-08-11 10:39:03 robonerd has quit (Ping timeout: 260 seconds)
 648 2014-08-11 10:39:12 <wumpus> (which is allocated separately)
 649 2014-08-11 10:39:14 <Luke-Jr> XD
 650 2014-08-11 10:42:18 robonerd has joined
 651 2014-08-11 10:42:22 MoALTz has quit (Ping timeout: 245 seconds)
 652 2014-08-11 10:42:59 rdbell has joined
 653 2014-08-11 10:43:05 MoALTz has joined
 654 2014-08-11 10:43:47 <wumpus> huh does this make sense - for pcoinsTip, after verification is complete, the average number of CTxOuts per CCoins is 68
 655 2014-08-11 10:47:20 Tiraspol has quit (Ping timeout: 250 seconds)
 656 2014-08-11 10:47:41 Tiraspol has joined
 657 2014-08-11 10:49:38 rdymac has quit (Excess Flood)
 658 2014-08-11 10:50:09 lewellyn has joined
 659 2014-08-11 10:53:18 rdymac has joined
 660 2014-08-11 10:55:10 skinnkavaj has joined
 661 2014-08-11 10:56:50 <wumpus> ehh 0811168291a1adc418509d42b37679fe006a3fc3d24b2f39b392e6c8abc2a39e 2328
 662 2014-08-11 10:57:12 <wumpus> ugh, *2328* outputs
 663 2014-08-11 10:58:05 <wumpus> so yes, the 68 is correct -- most transactions by number have 0/1/2 outputs, but quite a few have extremely large numbers of outputs, pulling up the average
 664 2014-08-11 11:00:22 derbumi has quit (Quit: derbumi)
 665 2014-08-11 11:02:09 MaxSan has quit (Quit: Leaving.)
 666 2014-08-11 11:09:24 <wumpus> eh, pcoinsTip doesn't have transactions with 0 outputs
 667 2014-08-11 11:09:27 RagnarDanneskjol has quit (Ping timeout: 246 seconds)
 668 2014-08-11 11:10:26 <wumpus> (the temporary CCoinsViewDB in VerifyDB has, thus that one has a lower average txouts/tx)
 669 2014-08-11 11:11:03 theorbtwo has quit (Ping timeout: 240 seconds)
 670 2014-08-11 11:14:53 theorbtwo has joined
 671 2014-08-11 11:14:53 theorbtwo has quit (Read error: Connection reset by peer)
 672 2014-08-11 11:14:58 psgs is now known as psgs|away
 673 2014-08-11 11:15:51 moarrr has joined
 674 2014-08-11 11:16:38 da2ce7 has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
 675 2014-08-11 11:16:44 ak_ has quit (Read error: Connection reset by peer)
 676 2014-08-11 11:16:44 akstunt600 has quit (Read error: Connection reset by peer)
 677 2014-08-11 11:17:38 ak_ has joined
 678 2014-08-11 11:17:39 akstunt600 has joined
 679 2014-08-11 11:19:50 theorbtwo has joined
 680 2014-08-11 11:20:58 benrcole has quit (Quit: Leaving.)
 681 2014-08-11 11:21:21 weilu has quit (Remote host closed the connection)
 682 2014-08-11 11:24:02 putler has joined
 683 2014-08-11 11:28:08 wallet42 has joined
 684 2014-08-11 11:30:10 putler has quit (Quit: leaving)
 685 2014-08-11 11:30:24 putler has joined
 686 2014-08-11 11:30:57 moarrr has quit (Quit: I will be dead within two weeks most likely)
 687 2014-08-11 11:31:00 ThomasV has quit (Quit: Quitte)
 688 2014-08-11 11:31:08 weilu has joined
 689 2014-08-11 11:39:22 shesek has quit (Ping timeout: 240 seconds)
 690 2014-08-11 11:40:36 <wumpus> distribution of scriptpubsizes in the CCoinsViewCache: http://www.hastebin.com/ipagonafol.md   99.9%  of the outputs are sizes  0 (spent) and 25, so it makes sense to optimize for those, sizes >25 are extrememly uncommon as expected
 691 2014-08-11 11:40:55 da2ce7 has joined
 692 2014-08-11 11:41:55 <sipa> that sounds like a medicin...
 693 2014-08-11 11:42:01 <sipa> (ipagonafol)
 694 2014-08-11 11:42:26 <gmaxwell> you'd think there would be some optimization for size zero vectors...
 695 2014-08-11 11:43:02 <sipa> gmaxwell: there should be
 696 2014-08-11 11:43:14 <sipa> they shouldn't use any dynamic memory
 697 2014-08-11 11:43:30 <wumpus> well, size zero vectors probably don't allocate any memory, they 'only' take the 24 bytes overhead
 698 2014-08-11 11:43:37 <sipa> yup
 699 2014-08-11 11:43:40 <wumpus> (12 on 32-bit)
 700 2014-08-11 11:43:47 <sipa> (note that vector.clear() does _not_ release memory though)
 701 2014-08-11 11:44:17 <wumpus> right, that clears size() but not capacity()
 702 2014-08-11 11:44:35 <sipa> you need vector.swap(std::vector<bla>()) for that...
 703 2014-08-11 11:44:37 shesek has joined
 704 2014-08-11 11:46:22 <wumpus> sipa: hmm CTxOut::SetNull() just uses clear()
 705 2014-08-11 11:47:36 <sipa> CCoins::Cleanup() does release memory though
 706 2014-08-11 11:48:13 fanquake has left ()
 707 2014-08-11 11:48:35 putler has quit (Quit: leaving)
 708 2014-08-11 11:48:36 <sipa> but that CTxOut::SetNull() could be improved
 709 2014-08-11 11:48:48 putler has joined
 710 2014-08-11 11:48:49 <wumpus> yes, if the txout vector itself is empty it's swapped with an empty vector
 711 2014-08-11 11:48:55 <gmaxwell> probably results in more memory usage when txouts get spent during the reorg test, no?
 712 2014-08-11 11:48:59 <gmaxwell> ah. okay.
 713 2014-08-11 11:49:42 <wumpus> I don't think it can ever result in more memory usage
 714 2014-08-11 11:50:15 <gmaxwell> It might just be prudent to swallow the testing overhead and have a -lowmem=1 option that ruthlessly reduces memory usage at the expense of performance.
 715 2014-08-11 11:50:39 <gmaxwell> wumpus: I meant more compared to what I would have anticipated (just the vector overhead)
 716 2014-08-11 11:51:05 <sipa> wumpus: basically that means that spending an output does not release any memory until that tx is entirely spent
 717 2014-08-11 11:51:11 putler has quit (Client Quit)
 718 2014-08-11 11:51:19 xenog has joined
 719 2014-08-11 11:51:40 <sipa> wumpus: i don't think there is any reason not to release the script vector in CTxOut::SetNull
 720 2014-08-11 11:51:43 putler has joined
 721 2014-08-11 11:52:00 <gmaxwell> oh it isn't releasing it. cool.
 722 2014-08-11 11:52:11 <gmaxwell> that will probably have a nice impact.
 723 2014-08-11 11:52:50 putler has quit (Client Quit)
 724 2014-08-11 11:53:54 HANTI is now known as hanti
 725 2014-08-11 11:54:10 xenog has quit (Client Quit)
 726 2014-08-11 11:54:12 putler has joined
 727 2014-08-11 11:56:19 putler has quit (Client Quit)
 728 2014-08-11 11:56:29 putler has joined
 729 2014-08-11 11:57:05 <lewellyn> blarg.
 730 2014-08-11 11:57:11 putler has quit (Client Quit)
 731 2014-08-11 11:57:12 <lewellyn> https://github.com/bitcoin/bitcoin/blob/master/src/addrman.h#L304 is upsetting my gcc. :(
 732 2014-08-11 11:57:31 putler has joined
 733 2014-08-11 11:57:33 <sipa> lewellyn: why?
 734 2014-08-11 11:58:05 <lewellyn> it thinks there's a const_iterator and i can't figure out why.
 735 2014-08-11 11:58:17 <lewellyn> error: conversion from 'std::_Tree<std::_Tset_traits<int, std::less<int>, std::allocator<int>, false> >::const_iterator' to non-scalar type 'std::set<int>::iterator {aka std::_Tree<std::_Tset_traits<int, std::less<int>, std::allocator<int>, false> >::iterator}' requested
 736 2014-08-11 11:58:33 putler has quit (Client Quit)
 737 2014-08-11 11:58:58 <lewellyn> i assume i'm not the first one to be compiling this on not-x86 and/or not-linux :P
 738 2014-08-11 11:59:04 putler has joined
 739 2014-08-11 11:59:06 <lewellyn> (and yes, that's a gcc error)
 740 2014-08-11 11:59:24 <sipa> non-linux happens all the time
 741 2014-08-11 11:59:34 <lewellyn> figured so much. and i assumed arm, as well.
 742 2014-08-11 11:59:39 <wumpus> you're trying to convert a const_iterator to an iterator
 743 2014-08-11 11:59:45 <wumpus> yes, ARM happens a lot
 744 2014-08-11 11:59:49 <lewellyn> wumpus: i didn't touch that file :P
 745 2014-08-11 12:00:01 <lewellyn> i can't figure out where the const_iterator is.
 746 2014-08-11 12:00:33 <lewellyn> er. iterator.
 747 2014-08-11 12:00:36 <lewellyn> whatever. it's late :D
 748 2014-08-11 12:00:37 <wumpus> probably you're using XX::iterator on field in  a method marked const
 749 2014-08-11 12:00:44 <sipa> no
 750 2014-08-11 12:01:02 <sipa> it's a vector of sets
 751 2014-08-11 12:01:13 hearn has joined
 752 2014-08-11 12:01:16 <sipa> the vector iterator type wraps a set iterator type i suppose
 753 2014-08-11 12:01:38 <gmaxwell> lewellyn: gcc version?
 754 2014-08-11 12:02:01 dabura667 has joined
 755 2014-08-11 12:02:22 HostFat has quit (Ping timeout: 240 seconds)
 756 2014-08-11 12:02:29 <lewellyn> 4.6.3
 757 2014-08-11 12:06:48 <gmaxwell> not hideously old, though older than what I use on arm.
 758 2014-08-11 12:07:00 derbumi has joined
 759 2014-08-11 12:07:32 mpmcsweeney has joined
 760 2014-08-11 12:07:48 mpmcsweeney has quit (Read error: Connection reset by peer)
 761 2014-08-11 12:08:08 <lewellyn> yeah. apparently i get a newer gcc if i target a later os release than i want to target. :(
 762 2014-08-11 12:08:31 derbumi has quit (Client Quit)
 763 2014-08-11 12:08:32 <lewellyn> i might end up sleeping on it and figuring out how to handle it.
 764 2014-08-11 12:09:34 derbumi has joined
 765 2014-08-11 12:10:02 ak_ has quit (Read error: Connection reset by peer)
 766 2014-08-11 12:10:02 akstunt600 has quit (Read error: Connection reset by peer)
 767 2014-08-11 12:10:04 derbumi has quit (Client Quit)
 768 2014-08-11 12:10:42 ak_ has joined
 769 2014-08-11 12:10:51 akstunt600 has joined
 770 2014-08-11 12:13:35 putler has quit (Quit: leaving)
 771 2014-08-11 12:14:05 putler has joined
 772 2014-08-11 12:14:24 derbumi has joined
 773 2014-08-11 12:18:10 ericmuys_ has joined
 774 2014-08-11 12:19:02 ericmuyser has quit (Ping timeout: 245 seconds)
 775 2014-08-11 12:20:13 putler has quit (Quit: leaving)
 776 2014-08-11 12:20:24 putler has joined
 777 2014-08-11 12:21:04 putler has quit (Client Quit)
 778 2014-08-11 12:21:48 putler has joined
 779 2014-08-11 12:22:16 putler has quit (Client Quit)
 780 2014-08-11 12:23:15 IGHOR has quit ()
 781 2014-08-11 12:24:04 ThomasV has joined
 782 2014-08-11 12:24:54 putler has joined
 783 2014-08-11 12:25:00 derbumi has quit (Quit: derbumi)
 784 2014-08-11 12:27:22 MoALTz has quit (Ping timeout: 240 seconds)
 785 2014-08-11 12:37:21 rdbell has quit (Quit: Computer has gone to sleep.)
 786 2014-08-11 12:37:55 rdbell has joined
 787 2014-08-11 12:38:06 wallet42 has quit (Quit: Leaving.)
 788 2014-08-11 12:42:03 grubles has quit (Ping timeout: 240 seconds)
 789 2014-08-11 12:42:47 mpmcsweeney has joined
 790 2014-08-11 12:42:52 wallet42 has joined
 791 2014-08-11 12:43:04 xenog has joined
 792 2014-08-11 12:44:35 rdponticelli has joined
 793 2014-08-11 12:52:06 Andrewmeows has joined
 794 2014-08-11 12:52:29 Andymeows is now known as Guest49715
 795 2014-08-11 12:52:29 Guest49715 has quit (Killed (weber.freenode.net (Nickname regained by services)))
 796 2014-08-11 12:52:29 Andrewmeows is now known as Andymeows
 797 2014-08-11 13:01:37 wallet42 has quit (Quit: Leaving.)
 798 2014-08-11 13:02:32 <michagogo> We should be about 27 hours away from hitting 7 days since https://bugs.launchpad.net/ubuntu/+source/bitcoin/+bug/1314616/comments/5
 799 2014-08-11 13:03:27 <michagogo> Tomorrow night I should be able to poke Chris Halse Rogers (RAOF) or Chris Arges (arges) and finally get 0.3.24 removed from Ubuntu Precise 12.04 LTS
 800 2014-08-11 13:03:49 akstunt600 has quit (Read error: Connection reset by peer)
 801 2014-08-11 13:04:16 ak_ has quit (Read error: Connection reset by peer)
 802 2014-08-11 13:04:39 akstunt600 has joined
 803 2014-08-11 13:04:56 ak_ has joined
 804 2014-08-11 13:05:30 YoY has quit (Ping timeout: 260 seconds)
 805 2014-08-11 13:06:14 lclc has joined
 806 2014-08-11 13:06:30 wallet42 has joined
 807 2014-08-11 13:06:32 <wumpus> wasn't that impossible for some reason?
 808 2014-08-11 13:07:02 <wumpus> or do you mean replaced with a dummy package?
 809 2014-08-11 13:07:14 YoY has joined
 810 2014-08-11 13:07:41 <michagogo> wumpus: yes, I do mean that
 811 2014-08-11 13:07:54 <wumpus> ok!
 812 2014-08-11 13:09:08 <michagogo> wumpus: https://i175917225.restricted.launchpadlibrarian.net/175917225/b75b8604-df93-11e3-968c-002481e91f22.txt?token=8aa196fa08c3bd1f11b392cf0bc1e72d
 813 2014-08-11 13:11:53 putler has quit (Quit: leaving)
 814 2014-08-11 13:12:06 putler has joined
 815 2014-08-11 13:13:27 Andymeows has quit (Ping timeout: 255 seconds)
 816 2014-08-11 13:23:04 MaxSan has joined
 817 2014-08-11 13:23:40 wallet42 has quit (Quit: Leaving.)
 818 2014-08-11 13:24:21 random_cat has quit (Ping timeout: 264 seconds)
 819 2014-08-11 13:25:06 <gmaxwell> sipa: So I either made secp256k1 verification 1.6% faster, or introduced a cryptographic weakness that the tests are unable to detect. (considering that I'm not feeling well and haven't slept, the latter is probably more likely)
 820 2014-08-11 13:26:12 hearn has quit (Ping timeout: 245 seconds)
 821 2014-08-11 13:26:14 <sipa> gmaxwell: code?
 822 2014-08-11 13:26:36 derbumi has joined
 823 2014-08-11 13:27:40 <gmaxwell> sipa: knowing that modular inversions are slow, I was thinking about batching the inversions in verification. But before I got that far, I thought— oh one of these is just the conversion from the jacobian to get the x for comparison to r, so why not instead multiply r by pr.z^2 and compare that way?
 824 2014-08-11 13:27:53 <gmaxwell> seemed like too easy an optimiztion to work.
 825 2014-08-11 13:29:23 hearn has joined
 826 2014-08-11 13:29:33 <sipa> ha!
 827 2014-08-11 13:30:42 <sipa> i don't see why that would be a problem
 828 2014-08-11 13:30:45 ThomasV has quit (Quit: Quitte)
 829 2014-08-11 13:30:55 <gmaxwell> yea nor did I, tests pass.
 830 2014-08-11 13:31:02 <gmaxwell> I just monkey patched it in to see if it would work.
 831 2014-08-11 13:31:47 dream4u has joined
 832 2014-08-11 13:31:56 <gmaxwell> first invert could still benefit from batching.
 833 2014-08-11 13:31:59 HideousS_ has joined
 834 2014-08-11 13:32:01 <sipa> yup
 835 2014-08-11 13:32:13 <sipa> and may well make it acceptable to use a naive inversion implementation
 836 2014-08-11 13:32:19 <sipa> (which doesn't need gmp)
 837 2014-08-11 13:32:38 <gmaxwell> right, this was most of why I was even thinking about this.
 838 2014-08-11 13:33:31 <gmaxwell> as a principle in general any place in _verification_ where there is a division its best to try to work backwards so you can multiply instead. :)
 839 2014-08-11 13:35:35 askuck has joined
 840 2014-08-11 13:35:44 HideousSquid has quit (Ping timeout: 272 seconds)
 841 2014-08-11 13:36:56 random_cat has joined
 842 2014-08-11 13:37:41 Zarutian has quit (Quit: Zarutian)
 843 2014-08-11 13:39:59 dream4u has quit (Quit: dream4u)
 844 2014-08-11 13:42:15 <gmaxwell> sipa: in any case you're welcome to my monkey patch code,  though I'll send a proper pull later once I've slept and can figure out how I ought to properly be coercing this num into a field element. http://0bin.net/paste/7xAu-+EeN-1Rk5AA#T32S3NGUWJ3y9Ku39x4WCl1cPKnkb+IoVclT7ua0XtW
 845 2014-08-11 13:42:49 <sipa> you need to convert to a 32-byte array using set_bin and get_bin
 846 2014-08-11 13:42:54 <sipa> intermediary
 847 2014-08-11 13:42:56 Andymeows has joined
 848 2014-08-11 13:44:44 <gmaxwell> sipa: thats what the aformentioned monkey patch is doing, which seemed kinda hideous. So perhaps I need to add a convert function or deseralize the signature differently.
 849 2014-08-11 13:48:19 yubrew has quit (Remote host closed the connection)
 850 2014-08-11 13:48:49 Eiii has joined
 851 2014-08-11 13:48:49 Eiii has quit (Changing host)
 852 2014-08-11 13:48:49 Eiii has joined
 853 2014-08-11 13:50:21 hearn has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
 854 2014-08-11 13:51:26 <sipa> r is already constrained to be in [1,n-1], so modulo n  r*s == zG + rQ should be equivalent to r == (z/s)G + (r/s)Q
 855 2014-08-11 13:55:24 hearn has joined
 856 2014-08-11 13:55:53 pen has quit (Ping timeout: 240 seconds)
 857 2014-08-11 13:56:50 ak_ has quit (Read error: Connection reset by peer)
 858 2014-08-11 13:56:50 akstunt600 has quit (Read error: Connection reset by peer)
 859 2014-08-11 13:56:54 MaxSan has quit (Quit: Leaving.)
 860 2014-08-11 13:57:29 akstunt600 has joined
 861 2014-08-11 13:57:50 ak_ has joined
 862 2014-08-11 13:58:40 <gmaxwell> hah
 863 2014-08-11 13:59:13 <sipa> ?
 864 2014-08-11 13:59:20 DougieBot5000 has joined
 865 2014-08-11 13:59:51 <sipa> wait; r == [(z/s)G + (r/s)Q].x
 866 2014-08-11 13:59:53 derbumi has quit (Quit: derbumi)
 867 2014-08-11 14:00:32 <sipa> you can't multiply both sides by s
 868 2014-08-11 14:01:09 <gmaxwell> yea, alas, that was my ha but seems we can't totally eliminate the inversions.
 869 2014-08-11 14:01:35 <sipa> why did the tests work?
 870 2014-08-11 14:01:44 <gmaxwell> sipa: ah you've misunderstood what I did! :)
 871 2014-08-11 14:02:39 <sipa> ah, no
 872 2014-08-11 14:02:44 <gmaxwell> There are two inversions in the verification. S is inverted, and there is an inversion used in the conversion of the sum back to affine.
 873 2014-08-11 14:03:05 <gmaxwell> I got rid of the latter one.
 874 2014-08-11 14:03:08 <sipa> oh!
 875 2014-08-11 14:04:02 Andrewmeows has joined
 876 2014-08-11 14:04:14 Eiii has quit ()
 877 2014-08-11 14:04:16 <gmaxwell> since to convert back you do Z^-1^2 * pr.x == r  and instead I compute  r*Z^2 == pr.x.
 878 2014-08-11 14:04:21 <sipa> so we need a secp256k1_gej_compare_x
 879 2014-08-11 14:04:32 <sipa> which takes a gej and a field element
 880 2014-08-11 14:07:07 Andymeows has quit (Ping timeout: 255 seconds)
 881 2014-08-11 14:08:06 orperelman has joined
 882 2014-08-11 14:11:07 <sipa> gmaxwell: oh, no, it doesn't neatly fit within the field element code, as it's a comparison modulo the curve order...
 883 2014-08-11 14:11:23 <sipa> which you already noticed of course
 884 2014-08-11 14:12:18 orperelman has quit (Ping timeout: 250 seconds)
 885 2014-08-11 14:16:12 dream4u has joined
 886 2014-08-11 14:17:40 derbumi has joined
 887 2014-08-11 14:18:44 mpmcsweeney has quit (Remote host closed the connection)
 888 2014-08-11 14:18:55 Subo1977 has joined
 889 2014-08-11 14:20:46 Subo1977_ has quit (Ping timeout: 264 seconds)
 890 2014-08-11 14:23:14 nullbyte has joined
 891 2014-08-11 14:23:14 nullbyte has quit (Changing host)
 892 2014-08-11 14:23:14 nullbyte has joined
 893 2014-08-11 14:23:42 darkee has joined
 894 2014-08-11 14:28:58 rdponticelli has quit (Remote host closed the connection)
 895 2014-08-11 14:29:12 rdponticelli has joined
 896 2014-08-11 14:29:22 Aaaaa has joined
 897 2014-08-11 14:31:25 drazisil has joined
 898 2014-08-11 14:32:40 ThomasV has joined
 899 2014-08-11 14:33:31 Aaaaa has quit (Ping timeout: 246 seconds)
 900 2014-08-11 14:36:39 viic has quit (Ping timeout: 240 seconds)
 901 2014-08-11 14:37:07 viic has joined
 902 2014-08-11 14:40:03 iwilcox has quit (Remote host closed the connection)
 903 2014-08-11 14:40:08 iwilcox_ has joined
 904 2014-08-11 14:45:12 pen has joined
 905 2014-08-11 14:45:42 <HideousS_> Hey all, I tried to send the output of my signing device into the network (sendrawtransaction) but it spewed an error 64: non-canonical (code -26)
 906 2014-08-11 14:46:06 <HideousS_> The decoderawtransaction doesn't show any obvious errors
 907 2014-08-11 14:46:10 wallet42 has joined
 908 2014-08-11 14:46:34 <sipa> your signature isn't following the canonical encoding
 909 2014-08-11 14:46:40 <HideousS_> (I'm coding the routines to use the signing device)
 910 2014-08-11 14:46:49 <sipa> see https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki#DER_encoding
 911 2014-08-11 14:47:32 <HideousS_> Ok, let me check. I'm familiar with the coding...I may have dropped a bit
 912 2014-08-11 14:47:39 <HideousS_> Thanks!
 913 2014-08-11 14:48:22 karc has quit (Ping timeout: 264 seconds)
 914 2014-08-11 14:48:50 HideousS_ has quit (Remote host closed the connection)
 915 2014-08-11 14:49:18 HideousSquid has joined
 916 2014-08-11 14:50:03 <gmaxwell> HideousSquid: if you're building your own signer, do be careful that your nonce is cryptographically random or created according to RFC6979.
 917 2014-08-11 14:50:03 akstunt600 has quit (Read error: Connection reset by peer)
 918 2014-08-11 14:50:03 ak_ has quit (Read error: Connection reset by peer)
 919 2014-08-11 14:50:25 <gmaxwell> several times people have leaked their private keys with errors there.
 920 2014-08-11 14:50:47 <HideousSquid> Thanks. I'm doing a hardware device. I'm adding an atsha204 for the RNG
 921 2014-08-11 14:50:54 ak_ has joined
 922 2014-08-11 14:51:03 akstunt600 has joined
 923 2014-08-11 14:51:20 <HideousSquid> Thanks for the advice
 924 2014-08-11 14:51:58 rdponticelli has quit (Ping timeout: 264 seconds)
 925 2014-08-11 14:53:14 karc has joined
 926 2014-08-11 14:53:20 wateratosthenes has joined
 927 2014-08-11 14:53:41 Zarutian has joined
 928 2014-08-11 14:55:37 <HideousSquid> Bah, the DER address is correct, size of the think is correct (8b/48/41)... anything else that error refers to? Or is there an error table somewhere?
 929 2014-08-11 14:56:18 <HideousSquid> s/think/thing/
 930 2014-08-11 14:58:09 <sipa> can you paste the full hex signature?
 931 2014-08-11 14:58:24 <HideousSquid> sure
 932 2014-08-11 14:58:37 cris` has joined
 933 2014-08-11 14:58:41 <HideousSquid> 04B083E60A048BEED23542B736E7EB10980139EB97095BABE1E025D1BB5F32CD82F1C4D59173BEA2BAA56D8C6367F57AF2ECCF89A22F8C1DB82BCE8179EFD7C32A
 934 2014-08-11 14:59:10 <HideousSquid> Checks out the ripe160 and full to the base58 address
 935 2014-08-11 14:59:16 <sipa> that's a public key, not a signature5
 936 2014-08-11 14:59:22 <sipa> and please use compressed keys
 937 2014-08-11 14:59:25 <HideousSquid> Whoops, hold a sec
 938 2014-08-11 14:59:51 wateratosthenes has quit (Ping timeout: 240 seconds)
 939 2014-08-11 15:00:52 <HideousSquid> Sorry which one is the compressed? I'm generating raw transactions. You mean the ripe160?
 940 2014-08-11 15:01:01 <sipa> ...
 941 2014-08-11 15:01:26 <sipa> compressed public keys: 0x02 + 32-byte X coordinate  or  0x03 + 32-byte Y coordinate
 942 2014-08-11 15:01:43 <sipa> instead of the normal ones, which are 0x04 + 32-byte X coordinate + 32-byte Y coordinate
 943 2014-08-11 15:01:52 <sipa> it's a waste of space to use uncompressed ones
 944 2014-08-11 15:02:16 <sipa> the 0x02 or 0x03 identifies the odd/evenness of the Y coordinate
 945 2014-08-11 15:02:27 <HideousSquid> Doesn't a raw transaction need uncompressed?
 946 2014-08-11 15:02:31 <sipa> no
 947 2014-08-11 15:02:37 jprichardson has joined
 948 2014-08-11 15:02:44 wallet42 has quit (Quit: Leaving.)
 949 2014-08-11 15:02:56 <gmaxwell> HideousSquid: pub[0]=2+(pub[64]&1);pub_len=33;  but uh. please be careful, it sounds like you're new to this stuff and it can be very easy to forever lose coins while messing with directly authoring your own transactions. Are you doing this on testnet?
 950 2014-08-11 15:03:30 <HideousSquid> No, but it's low amounts
 951 2014-08-11 15:03:44 <sipa> well, your loss
 952 2014-08-11 15:03:48 <sipa> but really, seriously
 953 2014-08-11 15:03:57 <sipa> do this on testnet until it works
 954 2014-08-11 15:04:13 <HideousSquid> ok!
 955 2014-08-11 15:04:42 <sipa> now, can you paste me a signature?
 956 2014-08-11 15:05:44 <HideousSquid> 02B083E60A048BEED23542B736E7EB10980139EB97095BABE1E025D1BB5F32CD82
 957 2014-08-11 15:06:14 <sipa> that is not a valid DER encoded signature
 958 2014-08-11 15:06:48 <sipa> that looks like a compressed public key, though
 959 2014-08-11 15:07:29 <HideousSquid> Um, I just lopped off the 04 added the 02 and tacked on the first 32 bytes
 960 2014-08-11 15:07:52 <sipa> well, you also need to change your addresses
 961 2014-08-11 15:08:02 <sipa> as they are computed from the hash of the public key, and public key changed
 962 2014-08-11 15:08:05 <sipa> but yes
 963 2014-08-11 15:08:14 <sipa> now, can you please show me a signatutre?
 964 2014-08-11 15:09:26 <HideousSquid> the scriptSig I generated?
 965 2014-08-11 15:09:29 <sipa> yes
 966 2014-08-11 15:09:50 <HideousSquid> 48304502206E1EA5AB66DC7B78A8382A6817571D415D6F89545E8618E33A8853B00489B52A02210086147574095D270F3F5690F8ABDFF38B8F95CC5F76F72B86728B3C4CC6DAF64C01
 967 2014-08-11 15:11:47 viajero has joined
 968 2014-08-11 15:11:49 <sipa> looks good at first glace
 969 2014-08-11 15:11:56 <HideousSquid> hmmmm
 970 2014-08-11 15:11:58 coinheavy has joined
 971 2014-08-11 15:12:20 <HideousSquid> I had this cononical thing before but damn if I forgot what it was
 972 2014-08-11 15:13:29 <HideousSquid> May I paste you the full transaction? It's not too long
 973 2014-08-11 15:14:01 <sipa> i don't have time to look at it further
 974 2014-08-11 15:14:15 <HideousSquid> Ok, thanks for the help
 975 2014-08-11 15:15:39 <gmaxwell> HideousSquid: go yank out the canonical testing code from bitcoin and test it on your data.
 976 2014-08-11 15:15:56 <HideousSquid> Will have to do that
 977 2014-08-11 15:16:18 <gmaxwell> (since, presumably, you've missed something in the written description)
 978 2014-08-11 15:17:12 <HideousSquid> I dug through the code before but it only glancingly mentions this error
 979 2014-08-11 15:18:09 <gmaxwell> HideousSquid: there is a very extensive description of the tests performed on signatures. https://github.com/bitcoin/bitcoin/blob/master/src/script.cpp#L245
 980 2014-08-11 15:18:09 oPen_syLar has joined
 981 2014-08-11 15:18:10 oPen_syLar has quit (Changing host)
 982 2014-08-11 15:18:10 oPen_syLar has joined
 983 2014-08-11 15:18:36 edulix has quit (Ping timeout: 250 seconds)
 984 2014-08-11 15:18:40 <HideousSquid> Got it.
 985 2014-08-11 15:18:56 <sipa> also, when submitting it to bitcoind, the actual error is logged to debug.log
 986 2014-08-11 15:19:55 wallet42 has joined
 987 2014-08-11 15:19:59 <gmaxwell> your r-type above is 04
 988 2014-08-11 15:20:14 <sipa> ugh, indeed
 989 2014-08-11 15:21:24 <gmaxwell> (actoually 0x45, whatever that is— can't read hex in the morning it seems)
 990 2014-08-11 15:21:43 <sipa> eh no
 991 2014-08-11 15:21:44 <HideousSquid> No hex before coffee!
 992 2014-08-11 15:21:50 edulix has joined
 993 2014-08-11 15:21:53 <sipa> his r type is 0x02, which is correct
 994 2014-08-11 15:21:57 <sipa> 0x45 is the total len
 995 2014-08-11 15:22:02 <sipa> which is also correct
 996 2014-08-11 15:23:55 haskoiner has quit (Quit: haskoiner)
 997 2014-08-11 15:24:33 haskoiner has joined
 998 2014-08-11 15:26:00 haskoiner has quit (Client Quit)
 999 2014-08-11 15:30:33 Billdr has joined
1000 2014-08-11 15:30:36 MoALTz has joined
1001 2014-08-11 15:31:42 derbumi has quit (Quit: derbumi)
1002 2014-08-11 15:33:44 rdbell has quit (Ping timeout: 272 seconds)
1003 2014-08-11 15:35:37 t7 has quit (Quit: home)
1004 2014-08-11 15:36:03 graingert has quit (Quit: Ex-Chat)
1005 2014-08-11 15:36:22 graingert has joined
1006 2014-08-11 15:36:22 graingert has quit (Changing host)
1007 2014-08-11 15:36:22 graingert has joined
1008 2014-08-11 15:39:08 <gmaxwell> sipa: I know I was trying to eliminate inversions, but in your WNAF code did you ever try putting A's precomputation into affine so you could use the mixed projection addition, by using a batch inversion for the conversion? would only require a single inversion for the whole table.
1009 2014-08-11 15:39:48 <sipa> gmaxwell: i believe peter dettman tried that
1010 2014-08-11 15:40:19 <gmaxwell> (and even with the extra multiples for the batching I seem to recall that would save two multiplies and a squaring per point.)
1011 2014-08-11 15:40:23 <gmaxwell> oh darn.
1012 2014-08-11 15:40:27 <gmaxwell> sorry, obviously I haven't been following closely.
1013 2014-08-11 15:41:00 <gmaxwell> hm. wonder why that wasn't faster.
1014 2014-08-11 15:41:54 <sipa> because inversions are really slow
1015 2014-08-11 15:42:19 derbumi has joined
1016 2014-08-11 15:42:41 <sipa> like several microseconds
1017 2014-08-11 15:43:24 akstunt600 has quit (Read error: Connection reset by peer)
1018 2014-08-11 15:43:24 ak_ has quit (Read error: Connection reset by peer)
1019 2014-08-11 15:43:36 <Billdr> I want to clear up reddit's understanding of wallet.dat. I want to make sure I understand what's happening there first. Is there an easy way to see the functions that touch that file?
1020 2014-08-11 15:44:07 akstunt600 has joined
1021 2014-08-11 15:44:08 <gmaxwell> what are you tryint go clear up?
1022 2014-08-11 15:44:20 ak_ has joined
1023 2014-08-11 15:44:30 <gmaxwell> and ... wallet.cpp but its not organized in a way where 'the file' is a useful boundary.
1024 2014-08-11 15:44:42 <Billdr> There was some confusion on why you'd want to do a continuous backup as opposed to a one time.
1025 2014-08-11 15:44:48 <wumpus> wallet.cpp and walletdb.cpp
1026 2014-08-11 15:45:15 <Billdr> Also, I'd like to illustrate some of the advantages over a deterministic wallet.
1027 2014-08-11 15:45:21 <gmaxwell> Billdr: I don't know that there is much to be confused about, they keypool behavior is well documented.
1028 2014-08-11 15:45:37 <Billdr> Thanks wumpus.
1029 2014-08-11 15:45:54 <wumpus> Billdr: a deterministic wallet is superior in most regards
1030 2014-08-11 15:46:14 <gmaxwell> Billdr: The advantages over a determinstic wallet are key management primarly...  an old backup falling into bad hands doesn't cause you to lose funds.  Also you generally have important metadata you need to be backing up in any case.
1031 2014-08-11 15:46:46 <gmaxwell> Really ideally users would have some kind of hybrid which is determinstic mostly, but can rotate keys at well defined intervals and never leaves them hanging with respect to backups.
1032 2014-08-11 15:47:24 <wumpus> right, the only problem with (naive) determinstic wallets is that stealing one  key is enough  to gain access to all your future funds, being able to generate all keys is  both a blessing and a curse
1033 2014-08-11 15:47:30 darenthis has quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
1034 2014-08-11 15:47:39 <wumpus> but is makes backups saner and safer
1035 2014-08-11 15:47:54 Rippleflip has quit (Ping timeout: 260 seconds)
1036 2014-08-11 15:48:30 <gmaxwell> I suppose there are some implementation specific things: almost all current determinstic wallets are using the homomorphic derrivation, which is unsafe to export single private keys from.
1037 2014-08-11 15:48:35 <wumpus> with bitcoind's current key management it is very hard to make a backup strategy that is guaranteed to never let you lose keys
1038 2014-08-11 15:48:35 <Billdr> Gmaxwell: thanks. I'll try to research that in detail.
1039 2014-08-11 15:48:38 Ducky- has quit (Ping timeout: 255 seconds)
1040 2014-08-11 15:48:58 putler has quit (Ping timeout: 264 seconds)
1041 2014-08-11 15:49:05 <wumpus> ie, if you make a daily backup, you should set the keypool size to the maximum number of keys that you'll ever use in a day, and you need to know that upfront
1042 2014-08-11 15:49:06 yubrew has joined
1043 2014-08-11 15:49:28 <gmaxwell> wumpus: yea, but it's not inherent non-determinism. E.g. you could have a wallet as a bag of determinstic master keys, with the next one precomputed, and it only rotates to start using the next one backup after you've told it to change.
1044 2014-08-11 15:49:29 <Billdr> A continuous backup would cover that, no?
1045 2014-08-11 15:49:42 <wumpus> I've heard of various cases where people underestimated their number of transactions
1046 2014-08-11 15:49:51 <wumpus> it's a number they set once, then forgot about
1047 2014-08-11 15:50:00 <gmaxwell> Billdr: sure.
1048 2014-08-11 15:50:09 abossard has quit (Quit: abossard)
1049 2014-08-11 15:50:09 <wumpus> and as the keypool is automatically refilled, there is no warning when that happens
1050 2014-08-11 15:51:09 Sleepnbum has joined
1051 2014-08-11 15:51:09 <Billdr> Pairs associated with a balance always stay, I assume.
1052 2014-08-11 15:51:12 <wumpus> gmaxwell: sure, I'm talking about the current implementation in bitcoind, which will likely not change in the near future; combining determinism with rotating keys (aftera backup) would make a lot of sense
1053 2014-08-11 15:51:33 putler has joined
1054 2014-08-11 15:51:49 <gmaxwell> wumpus: I only bring it up to prevent smarter things from leaving the shared dialog. :)
1055 2014-08-11 15:53:19 <wumpus> Billdr: right - a continuous backup strategy would be the only way to be sure, or "backup after every 50th transaction"
1056 2014-08-11 15:53:46 yubrew has quit (Ping timeout: 255 seconds)
1057 2014-08-11 15:54:02 <wumpus> Billdr: but it's harder to get right, as you always need to have access to your backup, it won't work with manual off-site backups for example
1058 2014-08-11 15:54:16 DigiMan has joined
1059 2014-08-11 15:54:28 DigiMan has quit (Remote host closed the connection)
1060 2014-08-11 15:54:30 <Billdr> And of my backup tool has 5 versions of the wallet.dat I would lose keys every 250 transactions?
1061 2014-08-11 15:54:49 <gmaxwell> Billdr: old keys are kept forever.
1062 2014-08-11 15:55:09 <hearn> gmaxwell: bitcoinj's HD implementation stores multiple chains in the wallet and can do key rotation (automatically respends funds arriving at old chains to new chains)
1063 2014-08-11 15:55:22 DigiMan has joined
1064 2014-08-11 15:55:29 <wumpus> Billdr: huh? no, if you backup every N times you need a new key (so either do a transaction OR generate a new receiving address) where N is smaller than your keypool size, you'll be safe
1065 2014-08-11 15:55:39 <gmaxwell> hearn: I am aware! Hopefully it'll actually get exposed...
1066 2014-08-11 15:56:02 <hearn> i think it'll probably be automatically invoked when users do things like encrypt their wallet
1067 2014-08-11 15:56:16 <hearn> it's not really obvious to me that key rotation should be exposed to the user directly
1068 2014-08-11 15:56:48 <wumpus> well you may want to rotate the key before every backup, as gmaxwell just said, so that the new key is on the backup
1069 2014-08-11 15:57:25 <hearn> mmm. maybe. with the way bitcoin currently works a key rotation is not free. you have to pay a fee to spend money incoming on old chains to the new chains
1070 2014-08-11 15:57:27 DigiByte has quit (Ping timeout: 240 seconds)
1071 2014-08-11 15:57:43 <hearn> if we adjusted the fee rules so a one-deep tx chain inherited the priority of its parent a spend-then-immediately-respend-once pattern could be free
1072 2014-08-11 15:58:11 <gmaxwell> hearn: Thats true for a 'panic button' grade move,  vs creating a new one and prefering to just spend off the old ones as you get a chance to do it for free.
1073 2014-08-11 15:58:53 <gmaxwell> I don't see why general functioning CFPF code couldn't also work for priority.
1074 2014-08-11 15:59:13 <gmaxwell> Though I don't know that it would really help that much for this, ultimately making more transactions has a cost.
1075 2014-08-11 15:59:27 abossard has joined
1076 2014-08-11 15:59:32 <hearn> yeah, for rotations that are just general hygenie i guess we don't have to actually move money off old keyse
1077 2014-08-11 15:59:40 <hearn> i hadn't thought about non-panic-button rotations before
1078 2014-08-11 15:59:46 <hearn> it would be easy to implement though
1079 2014-08-11 15:59:54 <gmaxwell> for a 'my wallet is potentially compromised!' its worth a cost. Otherwise just doing something mostly passive as policy is.. right, it's hygenic.
1080 2014-08-11 16:00:22 <hearn> *hygiene
1081 2014-08-11 16:00:27 <hearn> (i hate english sometimes)
1082 2014-08-11 16:00:34 <gmaxwell> the software would also know the ages of the keys that have value on them, so you can ask what your exposure is and decide to hit a panic button.
1083 2014-08-11 16:00:37 rdbell has joined
1084 2014-08-11 16:01:12 Rippleflip has joined
1085 2014-08-11 16:01:12 <hearn> right.
1086 2014-08-11 16:01:34 <hearn> for triggering it off backup that can be hidden from the user entirely, as long as they don't lose their most recent backup but still have older backups
1087 2014-08-11 16:01:45 <hearn> not sure. i guess i'll mention this in the docs and let wallet authors decide
1088 2014-08-11 16:02:19 <gmaxwell> Yes, it could be background but in terms of user exposed you might want a setting which is "allow backups older than X to become invalid"
1089 2014-08-11 16:02:45 <gmaxwell> e.g. X = 1 year.
1090 2014-08-11 16:03:06 shesek has quit (Ping timeout: 246 seconds)
1091 2014-08-11 16:03:19 Grouver has quit (Quit: Leaving)
1092 2014-08-11 16:03:36 execut3 has joined
1093 2014-08-11 16:03:57 <gmaxwell> sipa: ah, the Co-z patch does the batch inversion on the precompute.
1094 2014-08-11 16:04:34 <gmaxwell> gah is there a way to get github to give more context?
1095 2014-08-11 16:05:29 <wumpus> gmaxwell:  no :-(
1096 2014-08-11 16:05:43 <wumpus> I've requested that feature a few times
1097 2014-08-11 16:05:49 <wumpus> your only choice is to show the entire file
1098 2014-08-11 16:06:18 <hearn> for a code hosting site, github's diff viewer truly sucks
1099 2014-08-11 16:06:21 <gmaxwell> I keep misreading patches due to insufficient context.
1100 2014-08-11 16:09:35 <jrick> there are "expander" buttons in the line numbers at the top and bottom of each section of the patch
1101 2014-08-11 16:10:01 <wumpus> jrick: wow, that must be new
1102 2014-08-11 16:10:01 <michagogo> wumpus: uh, yes there is
1103 2014-08-11 16:10:04 <michagogo> as jrick said
1104 2014-08-11 16:10:11 <michagogo> I don't think it's very new...
1105 2014-08-11 16:10:27 <wumpus> well I'm sure it is, or github support didn't know of it themselves
1106 2014-08-11 16:10:33 <michagogo> maybe
1107 2014-08-11 16:10:39 <michagogo> (also, how new?)
1108 2014-08-11 16:10:44 sahlhoff has joined
1109 2014-08-11 16:11:24 viajero has left ()
1110 2014-08-11 16:13:00 Belxjander has quit (Quit: Exit())
1111 2014-08-11 16:13:08 xnova has joined
1112 2014-08-11 16:14:36 Starduster_ has joined
1113 2014-08-11 16:14:38 JahPowerBit has joined
1114 2014-08-11 16:16:31 chax has joined
1115 2014-08-11 16:16:43 askuck has quit (Quit: Leaving.)
1116 2014-08-11 16:18:02 wallet42 has quit (Quit: Leaving.)
1117 2014-08-11 16:18:09 Starduster has quit (Ping timeout: 246 seconds)
1118 2014-08-11 16:19:06 Starduster__ has joined
1119 2014-08-11 16:19:39 Starduster__ is now known as Starduster
1120 2014-08-11 16:21:39 Starduster_ has quit (Ping timeout: 246 seconds)
1121 2014-08-11 16:23:03 bbrian has joined
1122 2014-08-11 16:24:48 Starduster has quit (Ping timeout: 246 seconds)
1123 2014-08-11 16:26:12 lclc has quit (Quit: Konversation terminated!)
1124 2014-08-11 16:27:05 da2ce7 has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
1125 2014-08-11 16:30:29 weex_ is now known as weex
1126 2014-08-11 16:30:37 weex has quit (Changing host)
1127 2014-08-11 16:30:37 weex has joined
1128 2014-08-11 16:31:09 justanotheruser has joined
1129 2014-08-11 16:31:15 benrcole has joined
1130 2014-08-11 16:32:54 derbumi has quit (Quit: derbumi)
1131 2014-08-11 16:36:43 akstunt600 has quit (Read error: Connection reset by peer)
1132 2014-08-11 16:36:46 ak_ has quit (Read error: Connection reset by peer)
1133 2014-08-11 16:37:04 <Billdr> Sorry, was called away. Thanks for the assistance. I'll probably run my post through here before I put it up.
1134 2014-08-11 16:37:32 ak_ has joined
1135 2014-08-11 16:37:39 akstunt600 has joined
1136 2014-08-11 16:39:29 Dagger2 has quit (Excess Flood)
1137 2014-08-11 16:39:40 Dagger2 has joined
1138 2014-08-11 16:45:00 benrcole has quit (Quit: Leaving.)
1139 2014-08-11 16:51:15 rdponticelli has joined
1140 2014-08-11 16:51:52 W0rmDr1nk has quit (Ping timeout: 250 seconds)
1141 2014-08-11 16:56:07 anddam has quit (Ping timeout: 245 seconds)
1142 2014-08-11 16:56:33 wallet42 has joined
1143 2014-08-11 16:56:57 jchp has quit (Ping timeout: 245 seconds)
1144 2014-08-11 16:57:35 anddam has joined
1145 2014-08-11 16:59:28 mpmcsweeney has joined
1146 2014-08-11 16:59:57 derbumi has joined
1147 2014-08-11 17:02:22 askuck has joined
1148 2014-08-11 17:04:26 grubles has joined
1149 2014-08-11 17:05:47 Ducky- has joined
1150 2014-08-11 17:12:05 jctb has quit (Quit: Leaving.)
1151 2014-08-11 17:12:35 jctb has joined
1152 2014-08-11 17:13:52 MaxSan has joined
1153 2014-08-11 17:13:54 darenthis has joined
1154 2014-08-11 17:16:09 darenthis has quit (Remote host closed the connection)
1155 2014-08-11 17:16:33 askuck has quit (Quit: Leaving.)
1156 2014-08-11 17:17:51 xenog has quit (Quit: Leaving.)
1157 2014-08-11 17:19:25 xenog has joined
1158 2014-08-11 17:22:50 darenthis has joined
1159 2014-08-11 17:22:52 JahPowerBit has quit (Quit: Page closed)
1160 2014-08-11 17:27:31 super3 has joined
1161 2014-08-11 17:27:57 jchp has joined
1162 2014-08-11 17:28:32 iwilcox_ is now known as iwilcox
1163 2014-08-11 17:28:49 derbumi has quit (Quit: derbumi)
1164 2014-08-11 17:29:54 Qatz is now known as SpicyShibe
1165 2014-08-11 17:29:59 pecket has quit (Quit: I'm not stupid. I'm just unlucky when I think.)
1166 2014-08-11 17:30:05 ak_ has quit (Read error: Connection reset by peer)
1167 2014-08-11 17:30:05 akstunt600 has quit (Read error: Connection reset by peer)
1168 2014-08-11 17:30:27 W0rmDr1nk has joined
1169 2014-08-11 17:30:46 akstunt600 has joined
1170 2014-08-11 17:31:06 ak_ has joined
1171 2014-08-11 17:31:28 REiN^ has joined
1172 2014-08-11 17:32:46 karc has quit (Ping timeout: 264 seconds)
1173 2014-08-11 17:32:48 darenthis has quit (Remote host closed the connection)
1174 2014-08-11 17:32:54 brson has joined
1175 2014-08-11 17:34:59 karc has joined
1176 2014-08-11 17:37:27 JackH1 has quit (Ping timeout: 240 seconds)
1177 2014-08-11 17:39:59 justanotheruser has quit (Ping timeout: 260 seconds)
1178 2014-08-11 17:40:55 HostFat has joined
1179 2014-08-11 17:41:08 RBecker is now known as RyanB
1180 2014-08-11 17:41:29 gjj has quit (Remote host closed the connection)
1181 2014-08-11 17:41:34 jammmie999 has joined
1182 2014-08-11 17:41:56 gjj has joined
1183 2014-08-11 17:41:59 dyoder has left ("Textual IRC Client: www.textualapp.com")
1184 2014-08-11 17:43:10 Starduster has joined
1185 2014-08-11 17:44:37 weilu has quit (Remote host closed the connection)
1186 2014-08-11 17:44:50 GAit has quit (Remote host closed the connection)
1187 2014-08-11 17:46:10 GAit has joined
1188 2014-08-11 17:50:00 yubrew has joined
1189 2014-08-11 17:54:47 yubrew has quit (Ping timeout: 272 seconds)
1190 2014-08-11 17:55:15 <hearn> nice visualisation: http://www.royalforkblog.com/2014/08/11/graphical-address-generator/
1191 2014-08-11 17:55:22 <hearn> although deriving private key from passphrase, ick
1192 2014-08-11 17:55:23 Lycerion has joined
1193 2014-08-11 17:56:03 Application has quit (Remote host closed the connection)
1194 2014-08-11 17:56:07 RyanB is now known as RBecker
1195 2014-08-11 17:56:44 <Emcy> nice
1196 2014-08-11 17:58:06 lclc has joined
1197 2014-08-11 17:59:12 Soligor has quit (Ping timeout: 244 seconds)
1198 2014-08-11 17:59:48 hearn has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
1199 2014-08-11 18:00:34 <Emcy> if thats goona do the rounds
1200 2014-08-11 18:00:38 Hermes has joined
1201 2014-08-11 18:00:52 <Emcy> it needs a big scary red warning not to use its output for anything real
1202 2014-08-11 18:01:30 <TD-Linux> it's got a small warning at the top. the passphrase makes it reproducible with your own code
1203 2014-08-11 18:02:18 Belkaar has quit (Ping timeout: 244 seconds)
1204 2014-08-11 18:02:18 Soligor has joined
1205 2014-08-11 18:02:34 graingert has quit (Ping timeout: 240 seconds)
1206 2014-08-11 18:02:48 jammmie999 has quit (Ping timeout: 246 seconds)
1207 2014-08-11 18:04:05 da2ce7 has joined
1208 2014-08-11 18:04:57 Belkaar has joined
1209 2014-08-11 18:06:10 askuck has joined
1210 2014-08-11 18:06:30 jammmie999 has joined
1211 2014-08-11 18:06:58 jammmie999 has quit (Client Quit)
1212 2014-08-11 18:08:27 wallet42 has quit (Quit: Leaving.)
1213 2014-08-11 18:10:46 Emzy has joined
1214 2014-08-11 18:12:15 <Emcy> why is it in a horiz scroller iframe thing
1215 2014-08-11 18:12:17 <Emcy> thats annoying
1216 2014-08-11 18:16:34 xenog has quit (Quit: Leaving.)
1217 2014-08-11 18:18:36 da2ce7 has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
1218 2014-08-11 18:20:23 pecket has joined
1219 2014-08-11 18:22:14 benrcole has joined
1220 2014-08-11 18:23:23 akstunt600 has quit (Read error: Connection reset by peer)
1221 2014-08-11 18:23:23 ak_ has quit (Read error: Connection reset by peer)
1222 2014-08-11 18:24:11 ak_ has joined
1223 2014-08-11 18:24:20 akstunt600 has joined
1224 2014-08-11 18:24:36 LarsLarsen has quit (Ping timeout: 250 seconds)
1225 2014-08-11 18:26:44 ebfull has quit (Quit: cya)
1226 2014-08-11 18:28:37 mpmcsweeney has quit (Remote host closed the connection)
1227 2014-08-11 18:31:16 EagleTM has joined
1228 2014-08-11 18:32:32 oPen_syLar has quit (Quit: Lost terminal)
1229 2014-08-11 18:32:47 super3 has quit (Ping timeout: 272 seconds)
1230 2014-08-11 18:34:09 Sauvin has quit (Remote host closed the connection)
1231 2014-08-11 18:35:27 LarsLarsen has joined
1232 2014-08-11 18:36:04 jMyles has joined
1233 2014-08-11 18:46:44 hmsimha has joined
1234 2014-08-11 18:48:32 super3 has joined
1235 2014-08-11 18:50:00 Application has joined
1236 2014-08-11 18:51:40 GM0127 has joined
1237 2014-08-11 18:52:01 Belkaar has quit (Ping timeout: 260 seconds)
1238 2014-08-11 18:52:09 Liquid has joined
1239 2014-08-11 18:52:33 Liquid is now known as Guest13885
1240 2014-08-11 18:52:53 Guest91327 has quit (Ping timeout: 264 seconds)
1241 2014-08-11 18:53:28 Belkaar has joined
1242 2014-08-11 18:54:59 sahlhoff has quit (Quit: sahlhoff)
1243 2014-08-11 18:55:29 lclc has quit (Quit: Konversation terminated!)
1244 2014-08-11 18:55:30 hmsimha has quit (Ping timeout: 260 seconds)
1245 2014-08-11 18:56:40 ThomasV has quit (Ping timeout: 250 seconds)
1246 2014-08-11 19:00:17 chax has quit (Remote host closed the connection)
1247 2014-08-11 19:00:50 chax has joined
1248 2014-08-11 19:04:58 chax has quit (Ping timeout: 245 seconds)
1249 2014-08-11 19:05:52 sahlhoff has joined
1250 2014-08-11 19:07:27 gjj_ has joined
1251 2014-08-11 19:08:53 hearn has joined
1252 2014-08-11 19:09:17 benrcole has quit (Quit: Leaving.)
1253 2014-08-11 19:10:15 gjj has quit (Ping timeout: 240 seconds)
1254 2014-08-11 19:12:10 paxtoncamaro91 has quit (Ping timeout: 250 seconds)
1255 2014-08-11 19:12:13 Billdr has quit (Ping timeout: 255 seconds)
1256 2014-08-11 19:13:10 scosant has joined
1257 2014-08-11 19:13:23 ebfull has joined
1258 2014-08-11 19:14:26 bbrian has quit (Ping timeout: 250 seconds)
1259 2014-08-11 19:16:52 ak_ has quit (Read error: Connection reset by peer)
1260 2014-08-11 19:17:45 ak_ has joined
1261 2014-08-11 19:18:10 ebfull has quit (Client Quit)
1262 2014-08-11 19:21:50 chax has joined
1263 2014-08-11 19:23:59 yubrew has joined
1264 2014-08-11 19:25:43 JackH has joined
1265 2014-08-11 19:26:24 Trix has joined
1266 2014-08-11 19:28:45 trixisowned has quit (Ping timeout: 255 seconds)
1267 2014-08-11 19:29:26 skinnkavaj has quit (Remote host closed the connection)
1268 2014-08-11 19:29:49 skinnkavaj has joined
1269 2014-08-11 19:30:00 mpmcsweeney has joined
1270 2014-08-11 19:33:10 ttttt has joined
1271 2014-08-11 19:35:10 mpmcsweeney has quit (Remote host closed the connection)
1272 2014-08-11 19:35:40 Checkup has joined
1273 2014-08-11 19:35:40 edulix has quit (Ping timeout: 250 seconds)
1274 2014-08-11 19:39:21 Pucilowski has quit (Remote host closed the connection)
1275 2014-08-11 19:39:24 edulix has joined
1276 2014-08-11 19:39:55 CheckDavid has quit (Quit: Connection closed for inactivity)
1277 2014-08-11 19:40:08 Pucilowski has joined
1278 2014-08-11 19:42:25 cagedwisdom has joined
1279 2014-08-11 19:43:09 sustrik has joined
1280 2014-08-11 19:44:30 pouta has joined
1281 2014-08-11 19:44:31 derbumi has joined
1282 2014-08-11 19:44:37 <pouta> Hi!
1283 2014-08-11 19:45:11 xenog has joined
1284 2014-08-11 19:45:50 <pouta> I have a question regarding the block creation and how transactions are used in a block.
1285 2014-08-11 19:47:17 sustrik has quit (Client Quit)
1286 2014-08-11 19:47:55 <pouta> is anyone here?
1287 2014-08-11 19:49:34 z0rg has joined
1288 2014-08-11 19:50:05 <super3> pouta: hello
1289 2014-08-11 19:50:16 <pouta> Hi!
1290 2014-08-11 19:50:23 <super3> don't ask to ask, just ask
1291 2014-08-11 19:51:02 yubrew_ has joined
1292 2014-08-11 19:51:08 jordandotdev has quit (Quit: Connection closed for inactivity)
1293 2014-08-11 19:52:10 ThomasV has joined
1294 2014-08-11 19:52:22 <pouta> we are now moving on to bloom tables for a faster block porpagation right?
1295 2014-08-11 19:52:26 <pouta> propagation*
1296 2014-08-11 19:53:48 <pouta> im talking about BIP37
1297 2014-08-11 19:54:28 <pouta> brb, 5 mins
1298 2014-08-11 19:54:49 <helo> pouta: i may be under-informed, but bloom filters are used so SPV nodes can tell full nodes what they are interested in while preserving some privacy
1299 2014-08-11 19:55:04 yubrew_ has quit (Ping timeout: 240 seconds)
1300 2014-08-11 19:55:42 <Emcy> hes talking about gavins thing
1301 2014-08-11 19:55:55 Trix is now known as trixisowned
1302 2014-08-11 19:58:09 jMyles has quit (Remote host closed the connection)
1303 2014-08-11 20:01:43 <pouta> I'm talking about this https://github.com/bitcoin/bips/blob/master/bip-0037.mediawiki
1304 2014-08-11 20:02:11 paveljanik has quit (Quit: This computer has gone to sleep)
1305 2014-08-11 20:02:38 <pouta> I think the true problem comes with miners choosing to create a smaller block in order to have less change of having it prphaned
1306 2014-08-11 20:02:56 <pouta> orphaned*
1307 2014-08-11 20:04:25 GM0127 has quit (Quit: Leaving)
1308 2014-08-11 20:05:32 <pouta> but a simple solution comes to mind, If nodes have know the transactions that are not confirmed why not let nodes reach a consesus about what transactions should be included in the next block. That way all miners would try to mine the same block leaving them with equal chance to get them orphaned.
1309 2014-08-11 20:05:41 yubrew has quit (Remote host closed the connection)
1310 2014-08-11 20:05:57 Malakai33 has joined
1311 2014-08-11 20:06:13 <helo> i don't think there's really any way for nodes to be put in charge of that
1312 2014-08-11 20:06:17 yubrew has joined
1313 2014-08-11 20:06:46 <pouta> right now there isnt
1314 2014-08-11 20:06:59 Andymeows has joined
1315 2014-08-11 20:07:05 <pouta> My question is if it can be done , why not?
1316 2014-08-11 20:07:24 <helo> well, the idea behind multiple miners is a diverse set of transactions that make it into blocks
1317 2014-08-11 20:07:28 <helo> to avoid centralized control
1318 2014-08-11 20:08:10 <helo> if everyone has to agree what is going into blocks, or if there are some odd restrictions/agreement mechanisms, it might create an avenue for censorship/control
1319 2014-08-11 20:08:34 ThomasV has quit (Ping timeout: 240 seconds)
1320 2014-08-11 20:08:36 iugfhvybu has quit (Ping timeout: 272 seconds)
1321 2014-08-11 20:09:24 Andrewmeows has quit (Ping timeout: 244 seconds)
1322 2014-08-11 20:09:28 <pouta> Yes it would, but now we have to trust our nodes, or at least 51% of them right?
1323 2014-08-11 20:10:01 <pouta> if that 51% decides that transaction x, y and z should all be in the next block why would that be bad?
1324 2014-08-11 20:10:02 akstunt600 has quit (Read error: Connection reset by peer)
1325 2014-08-11 20:10:02 ak_ has quit (Read error: Connection reset by peer)
1326 2014-08-11 20:10:48 ak_ has joined
1327 2014-08-11 20:10:53 yubrew has quit (Ping timeout: 264 seconds)
1328 2014-08-11 20:10:58 akstunt600 has joined
1329 2014-08-11 20:11:03 patxanxa has joined
1330 2014-08-11 20:11:20 e4xit has quit (Quit: Right I'm out!)
1331 2014-08-11 20:12:47 Checkup has quit (Quit: Leaving)
1332 2014-08-11 20:12:58 <pouta> Also where can I make this question to a broader audience?
1333 2014-08-11 20:13:03 iugfhvybu has joined
1334 2014-08-11 20:15:23 e4xit has joined
1335 2014-08-11 20:17:17 <helo> consider the "let nodes reach a consensus about what transactions should be included in the next block." part. it isn't easy to just wave your hands and reach a decentralized consensus. that's the hard problem that bitcoin solves to make it useful.
1336 2014-08-11 20:17:42 SpicyShibe has quit (Ping timeout: 250 seconds)
1337 2014-08-11 20:17:58 MoALTz has quit (Quit: Leaving)
1338 2014-08-11 20:18:49 <pouta> I'm not saying it is easy
1339 2014-08-11 20:19:20 <pouta> if we hardcode some rules in witch the node will decide witch transactions to use and all the nodes use the same version
1340 2014-08-11 20:19:21 <helo> the proof of work block-by-block approach that bitcoin uses is what allows consensus to be reached. there isn't another known method.
1341 2014-08-11 20:19:51 <pouta> Sorry if I explained in a bad way
1342 2014-08-11 20:19:58 <pouta> What I'm trying to say is
1343 2014-08-11 20:20:21 <helo> bitcoin basically already does what you mention, as far as i can tell. aside from "all the nodes use the same version", as that isn't in practice possible.
1344 2014-08-11 20:20:23 <pouta> right now the miners ask nodes for unconfirmed transations right?
1345 2014-08-11 20:21:31 <helo> right. many/most unconfirmed transactions are forwarded around the network to most nodes before they are seen in a block.
1346 2014-08-11 20:21:37 <pouta> yes
1347 2014-08-11 20:21:56 <pouta> so, the miners get to choose witch transations they should include in a block
1348 2014-08-11 20:21:59 ThomasV has joined
1349 2014-08-11 20:22:27 <pouta> Mining involves a lot of money so ofcourse miners want to make the most profit out of it
1350 2014-08-11 20:22:50 <pouta> that lead to miners putting less transactions in each block
1351 2014-08-11 20:22:59 <pouta> in order to make it propagate faster
1352 2014-08-11 20:23:54 <pouta> my solution is instead of them choosing witch to include we should let nodes decide since they dont get any benefit from bigger or smaller blocks.
1353 2014-08-11 20:24:12 <pouta> and ofcourse miners still verify them and all that
1354 2014-08-11 20:24:40 Qatz has joined
1355 2014-08-11 20:25:19 patxanxa has quit (Quit: telougo)
1356 2014-08-11 20:25:43 xenog has quit (Ping timeout: 245 seconds)
1357 2014-08-11 20:26:18 Raziel has quit (Read error: Connection reset by peer)
1358 2014-08-11 20:26:40 Raziel has joined
1359 2014-08-11 20:28:14 <helo> i don't see how that could work. it would be like employees choosing how much they get paid instead of the company's owners/administration. a massive "tragedy of the commons" problem is created.
1360 2014-08-11 20:28:54 CheckDavid has joined
1361 2014-08-11 20:29:06 ThomasV has quit (Ping timeout: 246 seconds)
1362 2014-08-11 20:30:04 <pouta> why is that?
1363 2014-08-11 20:30:30 <pouta> nodes dont get any money from mining, they have 0 interest to block certain transactions
1364 2014-08-11 20:30:33 <helo> nodes want to pay low fees, miners want them to pay high fees. if nodes get to choose, the miners will starve.
1365 2014-08-11 20:30:53 <pouta> and as of right now we have to trust nodes allready, at least a majority of them
1366 2014-08-11 20:31:14 <pouta> why nodes want to pay low fees=
1367 2014-08-11 20:31:16 <pouta> ?
1368 2014-08-11 20:31:19 <pouta> i didnt know that
1369 2014-08-11 20:31:51 super3 has quit (Ping timeout: 272 seconds)
1370 2014-08-11 20:32:01 <helo> nope. we trust that the majority of the mining power is not under the control of one entity, or that there is some diversity in the source of blocks.
1371 2014-08-11 20:33:04 <pouta> really? TIL
1372 2014-08-11 20:33:05 benrcole has joined
1373 2014-08-11 20:33:35 <pouta> can you tell me why nodes would gain in starving miners?
1374 2014-08-11 20:33:40 <helo> pouta: nodes are users that want to send bitcoin. miners are nodes that want to mine bitcoin.
1375 2014-08-11 20:33:41 <pouta> what*
1376 2014-08-11 20:34:38 <gmaxwell> pouta: this doesn't belone in this channel, you'll get better help in #bitcoin
1377 2014-08-11 20:35:08 xenog has joined
1378 2014-08-11 20:35:14 <pouta> I'm not trying to get answers about bitcoin
1379 2014-08-11 20:35:22 <pouta> I can search online just fine
1380 2014-08-11 20:35:24 <helo> (listen to gmaxwell)
1381 2014-08-11 20:35:43 <pouta> I'm here because you guys surelly know the protocol better then me
1382 2014-08-11 20:35:51 <helo> so does #bitcoin
1383 2014-08-11 20:35:56 <pouta> Yes
1384 2014-08-11 20:36:22 <pouta> but you guys can tell me why that would not work
1385 2014-08-11 20:37:32 <gmaxwell> pouta: because it's confused about exactly what the challenges bitcoin is solving are... you'll very likely get helpful answers in #bitcoin
1386 2014-08-11 20:38:42 yubrew has joined
1387 2014-08-11 20:39:08 <pouta> I joined here because I though #bitcoin is more about general discustion about the protocol
1388 2014-08-11 20:39:37 <pouta> and this channel more about developing for the protocol and/or sugest new Ideas in a informal way
1389 2014-08-11 20:39:56 <gmaxwell> pouta: Please go to #bitcoin-dev?
1390 2014-08-11 20:40:00 <gmaxwell> er #bitcoin
1391 2014-08-11 20:40:14 <pouta> sure thing, no problem
1392 2014-08-11 20:40:21 super3 has joined
1393 2014-08-11 20:41:34 patxanxa has joined
1394 2014-08-11 20:41:47 pouta has left ()
1395 2014-08-11 20:42:59 yubrew has quit (Ping timeout: 244 seconds)
1396 2014-08-11 20:43:23 <patxanxa> You guys should update the topic. It still has mtgox in it
1397 2014-08-11 20:43:29 rdbell has quit (Quit: Computer has gone to sleep.)
1398 2014-08-11 20:44:03 rdbell has joined
1399 2014-08-11 20:44:17 <gmaxwell> patxanxa: it's there to stop people from asking about mtgox's failure, it wasn't there while mtgox was in service IIRC.
1400 2014-08-11 20:44:39 <patxanxa> Oh, ok
1401 2014-08-11 20:44:43 <patxanxa> Thanks
1402 2014-08-11 20:44:51 chax has quit (Remote host closed the connection)
1403 2014-08-11 20:45:14 Hermes has left ("Leaving")
1404 2014-08-11 20:45:28 chax has joined
1405 2014-08-11 20:45:52 wombatlover has quit (Ping timeout: 252 seconds)
1406 2014-08-11 20:48:56 <cfields> gmaxwell: around?
1407 2014-08-11 20:49:05 ThomasV has joined
1408 2014-08-11 20:49:12 <cfields> gmaxwell: i've poked at several ways of check for valid boost symbol visibility
1409 2014-08-11 20:49:28 <cfields> i'm afraid any route will cause too many false negatives for various reasons
1410 2014-08-11 20:50:03 <gmaxwell> cfields: can't you just extract some of the code that fails or are there many different layers of failsauce?
1411 2014-08-11 20:50:04 <cfields> re #4663 for context ;)
1412 2014-08-11 20:50:24 chax has quit (Ping timeout: 272 seconds)
1413 2014-08-11 20:50:44 <cfields> gmaxwell: you can't glean failure from linkage, it has to be run
1414 2014-08-11 20:50:48 <cfields> or symbols have to be dumped
1415 2014-08-11 20:51:58 <gmaxwell> oh crud
1416 2014-08-11 20:52:07 <cfields> unless there's some trick i don't know about, which is very possible
1417 2014-08-11 20:53:57 gribble has quit (Remote host closed the connection)
1418 2014-08-11 20:54:01 ThomasV has quit (Ping timeout: 250 seconds)
1419 2014-08-11 20:54:10 <cfields> gmaxwell: problem is that without symbol visibilty forced on, we don't end up with a typeinfo for boost::thread_interrupted (and others) in our binary. So when boost throws it, we miss the catch since the type isn't recognized
1420 2014-08-11 20:54:54 <cfields> so the only way i can come up with to test it is to compile, then nm -Cg foo | grep thread_interrupted
1421 2014-08-11 20:55:04 AnoAnon has joined
1422 2014-08-11 20:55:11 <gmaxwell> why not try to compile some code that explicitly tries to catch it?
1423 2014-08-11 20:55:17 AnoAnon has quit (Max SendQ exceeded)
1424 2014-08-11 20:55:28 <cfields> and given how much toolchains can vary, i don't trust that to be portable
1425 2014-08-11 20:56:18 abrkn has joined
1426 2014-08-11 20:56:25 <gmaxwell> It's not like -fvisibility=hidden itself is a standard. But if you're not comfortable that you can make it work reliably, then lets not. Thanks for trying.
1427 2014-08-11 20:56:27 <cfields> because the typeinfo's wouldn't match up, due to differences in visibility
1428 2014-08-11 20:56:35 <cfields> that's exactly why pull-tester builds, but crashes
1429 2014-08-11 20:56:45 <abrkn> gmaxwell: we're still running the patch on justcoin to avoid spending zero conf fee. is it ever safe to stop using that?
1430 2014-08-11 20:57:16 <cfields> gmaxwell: it's not standard, but all major compilers seem to support it in some way
1431 2014-08-11 20:57:18 <abrkn> gmaxwell: we run out of inputs so often we've resorted to adding X extra outputs back to ourselves of 0.01 BTC just to have more inputs
1432 2014-08-11 20:57:46 <cfields> gmaxwell: don't get me wrong, i still want it enabled. My argument is that we should just check for boost version rather than trying to test boost functionality
1433 2014-08-11 20:58:02 <cfields> the first seems less reliable and more hackish, but either way, something's still hard-coded
1434 2014-08-11 20:58:02 Blackreign has joined
1435 2014-08-11 20:58:15 <gmaxwell> sound reasonable to me. (generally its worse to test versions, but if you can't test…)
1436 2014-08-11 20:58:43 benrcole has quit (Quit: Leaving.)
1437 2014-08-11 20:59:22 <cfields> agreed. i don't like it, but imo it's worth doing.
1438 2014-08-11 20:59:27 patxanxa has quit (Quit: telougo)
1439 2014-08-11 21:00:08 <cfields> gmaxwell: it's worth considering that it's pretty unlikely that anyone will run into this situation. unless i'm severely underestimating the number of people building on ancient OSs.
1440 2014-08-11 21:00:26 <gmaxwell> ultimately we'll draw a line in the sand and not support things below some threshold (it's a testing liability if nothing else)
1441 2014-08-11 21:00:40 benrcole has joined
1442 2014-08-11 21:00:42 benrcole has quit (Client Quit)
1443 2014-08-11 21:00:54 <gmaxwell> there really are a lot of people who use bitcoin on old debian systems. Turns out people don't like upgrading servers. :)
1444 2014-08-11 21:01:15 <cfields> well, using is fine. are they building that way?
1445 2014-08-11 21:01:29 <cfields> our releases link statically, so if they're using release binaries, it's a non-issue as well
1446 2014-08-11 21:02:05 * hearn sends some coins to open whisper systems for their new cloud sync tool
1447 2014-08-11 21:02:37 <cfields> gmaxwell: anyway, seems we're in agreement. I'll hook it up that way and update the PR
1448 2014-08-11 21:02:44 bbrian has joined
1449 2014-08-11 21:03:21 akstunt600 has quit (Read error: Connection reset by peer)
1450 2014-08-11 21:03:21 ak_ has quit (Read error: Connection reset by peer)
1451 2014-08-11 21:03:38 z0rg has quit (Ping timeout: 250 seconds)
1452 2014-08-11 21:04:03 akstunt600 has joined
1453 2014-08-11 21:04:21 ak_ has joined
1454 2014-08-11 21:05:35 Applicat_ has joined
1455 2014-08-11 21:06:04 Application has quit (Ping timeout: 240 seconds)
1456 2014-08-11 21:06:39 dustbunnytycoon has joined
1457 2014-08-11 21:07:02 <abrkn> has anyone run a test of how many addresses a bitcoind can have in its wallet? up to 60K...
1458 2014-08-11 21:07:10 <iwilcox> gmaxwell: By "old" do you mean the current aging "stable" release?
1459 2014-08-11 21:09:04 <gmaxwell> iwilcox: yes, because they believe their alternatives are "unstable"
1460 2014-08-11 21:09:31 <iwilcox> Actually mostly they believe they'll get easy security updates :)
1461 2014-08-11 21:11:52 bbrian has quit (Ping timeout: 250 seconds)
1462 2014-08-11 21:13:32 yubrew has joined
1463 2014-08-11 21:14:26 gribble has joined
1464 2014-08-11 21:17:12 Andymeows has quit (Ping timeout: 255 seconds)
1465 2014-08-11 21:17:19 abrkn\ has joined
1466 2014-08-11 21:19:57 yubrew has quit (Remote host closed the connection)
1467 2014-08-11 21:21:31 abrkn is now known as Guest55234
1468 2014-08-11 21:21:51 Guest13285 is now known as abrkn
1469 2014-08-11 21:24:40 abrkn is now known as Guest23406
1470 2014-08-11 21:24:45 dream4u has quit (Quit: dream4u)
1471 2014-08-11 21:24:47 abrkn\ is now known as abrkn
1472 2014-08-11 21:28:14 ThomasV has joined
1473 2014-08-11 21:29:33 AaronvanW has quit (Ping timeout: 245 seconds)
1474 2014-08-11 21:31:21 hearn has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
1475 2014-08-11 21:33:00 yubrew has joined
1476 2014-08-11 21:33:50 hearn has joined
1477 2014-08-11 21:33:55 super3 has quit (Ping timeout: 272 seconds)
1478 2014-08-11 21:36:09 HaltingState has quit (Quit: Leaving)
1479 2014-08-11 21:36:16 davispuh has quit (Read error: Connection reset by peer)
1480 2014-08-11 21:37:43 yubrew has quit (Ping timeout: 272 seconds)
1481 2014-08-11 21:37:55 super3 has joined
1482 2014-08-11 21:38:37 davispuh has joined
1483 2014-08-11 21:41:50 neozaru has quit (Remote host closed the connection)
1484 2014-08-11 21:42:22 dignork has quit (Ping timeout: 264 seconds)
1485 2014-08-11 21:44:17 Andymeows has joined
1486 2014-08-11 21:44:47 torsthaldo has joined
1487 2014-08-11 21:45:15 <cfields> sipa: around?
1488 2014-08-11 21:46:48 dignork has joined
1489 2014-08-11 21:46:54 dream4u has joined
1490 2014-08-11 21:47:49 caktux has quit (Quit: -)
1491 2014-08-11 21:49:42 Tonykai33 has joined
1492 2014-08-11 21:49:45 scosant has quit (Ping timeout: 272 seconds)
1493 2014-08-11 21:51:02 MiamiDDS has joined
1494 2014-08-11 21:51:20 MiamiDDS has quit (Remote host closed the connection)
1495 2014-08-11 21:52:34 MiamiDDS has joined
1496 2014-08-11 21:53:00 MiamiDDS has quit (Remote host closed the connection)
1497 2014-08-11 21:53:09 xeb has joined
1498 2014-08-11 21:53:19 Malakai33 has quit (Ping timeout: 260 seconds)
1499 2014-08-11 21:54:39 Tonykai33 has quit (Ping timeout: 240 seconds)
1500 2014-08-11 21:55:54 caktux has joined
1501 2014-08-11 21:56:41 akstunt600 has quit (Read error: Connection reset by peer)
1502 2014-08-11 21:56:41 ak_ has quit (Read error: Connection reset by peer)
1503 2014-08-11 21:57:22 ak_ has joined
1504 2014-08-11 21:57:37 akstunt600 has joined
1505 2014-08-11 21:59:20 scosant has joined
1506 2014-08-11 21:59:39 gonedrk has joined
1507 2014-08-11 22:03:08 Zarutian has quit (Quit: Zarutian)
1508 2014-08-11 22:03:16 <JohnKenney> you don't know software is stable until it's proved itself over years
1509 2014-08-11 22:03:28 <JohnKenney> that's why people run debian
1510 2014-08-11 22:05:31 <JohnKenney> rhel is similar
1511 2014-08-11 22:06:14 <Luke-Jr> gmaxwell: Debian does have a "testing" alternative ;)
1512 2014-08-11 22:06:46 <JohnKenney> that long term support is nice for servers too
1513 2014-08-11 22:09:03 wombatlover has joined
1514 2014-08-11 22:09:08 <JohnKenney> current stable version of debian isn't even that old, it's only from last year
1515 2014-08-11 22:09:23 <JohnKenney> people will still be running the old one
1516 2014-08-11 22:12:53 ThomasV has quit (Ping timeout: 250 seconds)
1517 2014-08-11 22:14:37 MolokoBot has quit (Ping timeout: 250 seconds)
1518 2014-08-11 22:15:48 bbrian has joined
1519 2014-08-11 22:19:01 chax has joined
1520 2014-08-11 22:22:28 Andymeows has left ("Leaving")
1521 2014-08-11 22:23:09 askuck has quit (Quit: Leaving.)
1522 2014-08-11 22:26:57 yubrew has joined
1523 2014-08-11 22:28:49 bbrian has quit (Ping timeout: 246 seconds)
1524 2014-08-11 22:29:00 <sipa> cfields: now i am
1525 2014-08-11 22:31:24 stickyfingers has quit (Remote host closed the connection)
1526 2014-08-11 22:31:33 yubrew has quit (Ping timeout: 245 seconds)
1527 2014-08-11 22:31:58 stickyfingers has joined
1528 2014-08-11 22:38:37 Squidicuz has joined
1529 2014-08-11 22:38:48 wombatlover has quit (Ping timeout: 252 seconds)
1530 2014-08-11 22:39:14 Squidicc has quit (Ping timeout: 244 seconds)
1531 2014-08-11 22:41:31 wombatlover has joined
1532 2014-08-11 22:45:05 ValicekB has quit (Ping timeout: 255 seconds)
1533 2014-08-11 22:46:05 <cfields> sipa: i briefly discussed with wumpus, still looking for someone to do a headers-first compatible comparison tool?
1534 2014-08-11 22:46:23 <sipa> cfields: i was planning on working on that myself very soon
1535 2014-08-11 22:46:28 <sipa> but i wouldn't mind help :)
1536 2014-08-11 22:46:33 <cfields> ah, ok
1537 2014-08-11 22:47:04 <cfields> sipa: well, my python is terrible (i assume it'll be python?). I was just volunteering if no one else was, and if it was actually holding things back
1538 2014-08-11 22:47:25 <sipa> well it will be in whatever language it gets written in
1539 2014-08-11 22:47:50 <sipa> my preference is python because of good existing bitcoin p2p network implementations already
1540 2014-08-11 22:48:07 <sipa> and an explicit wish to avoid the codebase being tested
1541 2014-08-11 22:48:36 <BlueMatt> sipa: awwww, I was gonna start that
1542 2014-08-11 22:48:38 <cfields> right. and not having to compile it is a big plus
1543 2014-08-11 22:49:08 <sipa> BlueMatt: so, we'll have BlueMatt, cfields, jtimon, me? :p
1544 2014-08-11 22:49:19 <gmaxwell> more tests are better
1545 2014-08-11 22:49:22 <sipa> yup
1546 2014-08-11 22:49:28 <cfields> heh, if there are others, count me out :)
1547 2014-08-11 22:49:31 <gmaxwell> can't really release it until it passes _something_ plausable.
1548 2014-08-11 22:49:33 <sipa> let's all write one, and let them fight to the death
1549 2014-08-11 22:49:44 <BlueMatt> well, someone needs to write the framework first, then one set of tests
1550 2014-08-11 22:49:47 <cfields> i can write just enough python to get the job done.. poorly
1551 2014-08-11 22:50:01 ak_ has quit (Read error: Connection reset by peer)
1552 2014-08-11 22:50:05 akstunt600 has quit (Read error: Connection reset by peer)
1553 2014-08-11 22:50:16 wombatlover has left ()
1554 2014-08-11 22:50:33 <gmaxwell> I wish the deseralize was only used for network traffic, then it would be easy to add a self-fuzzing mode to it.
1555 2014-08-11 22:51:02 ak_ has joined
1556 2014-08-11 22:51:04 <sipa> most basic layer is something that can maintain a hash->block mapping (perhaps a separate hash->header one), and do inv advertizements on command, and wait for the peer to reach a stable state
1557 2014-08-11 22:51:11 akstunt600 has joined
1558 2014-08-11 22:51:24 bbrian has joined
1559 2014-08-11 22:51:30 <sipa> then you need some layer to probably construct blocks easily, and make many interesting weird mutations to it (some of which are only possible after serialization)
1560 2014-08-11 22:51:34 <BlueMatt> the bitcoinj based one is like an hour of work away from that
1561 2014-08-11 22:51:51 <BlueMatt> same
1562 2014-08-11 22:51:58 <cfields> gmaxwell: i have a standalone templated serialize/deserializer that i wrote a while ago, but i assume that'd be too scary to replace with an alternate implementation all at once
1563 2014-08-11 22:52:14 <gmaxwell> we really should have multiple test harnesses in any case, it's too easy to have blindspots.
1564 2014-08-11 22:52:36 <sipa> BlueMatt: to be honest, i just hate java
1565 2014-08-11 22:52:49 <sipa> BlueMatt: but i have no actual technical reasons to avoid bitcoinj
1566 2014-08-11 22:53:02 <cfields> +1. Please no java for crucial test. That makes automation much harder
1567 2014-08-11 22:53:14 <BlueMatt> sipa: yes, I didnt think it would get picked up
1568 2014-08-11 22:53:15 <sipa> (though i think the tool shouldn't do any validation itself, just play scenarios)
1569 2014-08-11 22:53:18 <BlueMatt> cfields: huh?
1570 2014-08-11 22:53:36 <sipa> well we don't even know how to build the jar from the command line :)
1571 2014-08-11 22:53:37 <BlueMatt> sipa: well, the current one doesnt, really
1572 2014-08-11 22:53:43 ValicekB has joined
1573 2014-08-11 22:53:48 <cfields> what sipa said :)
1574 2014-08-11 22:53:49 <BlueMatt> sure we do, you can javac some stuff and eventually get it there
1575 2014-08-11 22:53:57 <gmaxwell> I don't!
1576 2014-08-11 22:54:00 <hearn> why does the existing pull tester not work with headers first?
1577 2014-08-11 22:54:00 <sipa> neither do i
1578 2014-08-11 22:54:01 <BlueMatt> you could probably figure it out in an hour
1579 2014-08-11 22:54:04 Emcy has quit (Ping timeout: 240 seconds)
1580 2014-08-11 22:54:24 <sipa> hearn: it relies on having the peer fetch blocks out of order and reconstruct the chain
1581 2014-08-11 22:54:24 <hearn> sipa: did you miss the email i sent documenting how to do that?
1582 2014-08-11 22:54:48 <hearn> sipa: to build a new jar for the pull tester, you install java, maven, and then run one command. i can't make it any simpler than that.
1583 2014-08-11 22:55:13 <sipa> hearn: which headers-first doesn't do - it would receive the headers out of order, but then fetch and verify the blocks in order
1584 2014-08-11 22:55:16 <hearn> where by "install maven" i mean "unzip it"
1585 2014-08-11 22:55:35 <sipa> hearn: well, i still find java scary/bloated/unnecessary, but as i said - no technical reasons, just feeling
1586 2014-08-11 22:55:42 <hearn> as opposed to what? python?
1587 2014-08-11 22:55:46 RagnarDanneskjol has joined
1588 2014-08-11 22:55:51 <hearn> basically any modern language has a big runtime
1589 2014-08-11 22:55:55 <sipa> as opposed to any language i know
1590 2014-08-11 22:56:01 <sipa> perhaps vb.net is worse
1591 2014-08-11 22:56:23 <sipa> but let't not discuss this; it's like asking why people dislike a painting
1592 2014-08-11 22:56:44 <hearn> well, if it's going to influence implementation decisions around testing infrastructure, it's not exactly irrelevant
1593 2014-08-11 22:57:00 <sipa> which is why i don't think we should discuss it
1594 2014-08-11 22:57:11 <sipa> anyone is free to implement a tester in whatever he's confortable with
1595 2014-08-11 22:57:12 * BlueMatt gets popcorn
1596 2014-08-11 22:57:17 <BlueMatt> how I love religious debates
1597 2014-08-11 22:57:26 <sipa> i'm trying to avoid one
1598 2014-08-11 22:57:40 <gmaxwell> We're happy to use things that work. It doesn't work right now, Matt has expressed interest in scrapping it and redoing it.
1599 2014-08-11 22:58:15 <cfields> hearn: mind forwarding along those build instructions?
1600 2014-08-11 22:58:26 <hearn> cfields: subscribe to bitcoin-development, or check the archives
1601 2014-08-11 22:59:08 <sipa> sent on august 5, title "[Bitcoin-development] How to create a pull tester JAR"
1602 2014-08-11 22:59:15 <cfields> hearn: ah, thanks
1603 2014-08-11 23:00:23 viic has quit (Ping timeout: 255 seconds)
1604 2014-08-11 23:00:32 FManTropyx has quit (Quit: Nettalk6 - www.ntalk.de)
1605 2014-08-11 23:00:40 Burrito has joined
1606 2014-08-11 23:01:05 Anduck has quit (Ping timeout: 250 seconds)
1607 2014-08-11 23:01:07 <sipa> so to test any new comparison tool (extension of an old one, a from scratch-one), we should be able to run it against historically broken old bitcoind versions
1608 2014-08-11 23:01:24 <sipa> (and non-broken ones)
1609 2014-08-11 23:02:12 dustbunnytycoon has quit (Quit: Textual IRC Client: www.textualapp.com)
1610 2014-08-11 23:05:59 Emcy has joined
1611 2014-08-11 23:06:08 Emcy has quit (Changing host)
1612 2014-08-11 23:06:08 Emcy has joined
1613 2014-08-11 23:06:15 soheil has joined
1614 2014-08-11 23:07:56 random_cat_ has joined
1615 2014-08-11 23:08:23 Anduck has joined
1616 2014-08-11 23:08:48 <hearn> BlueMatt: btw, re: earlier, the pull tester now has a dedicated jar built automatically, so the previous procedure is obsolete (whatever it was :-)
1617 2014-08-11 23:09:14 <sipa> the previous procedure was "clone matt's git repo with prebuilt jars"
1618 2014-08-11 23:09:47 <BlueMatt> the previous procedure was "tell intellij to build a jar"
1619 2014-08-11 23:09:58 random_cat has quit (Ping timeout: 264 seconds)
1620 2014-08-11 23:10:02 <gmaxwell> and there was something about a gui IDE and a bottle of tequila if you wanted to build it yourself, e.g. to add tests.
1621 2014-08-11 23:10:25 <sipa> a jar of tequila, you mean?
1622 2014-08-11 23:10:39 <hearn> BlueMatt: i've been using intellij for three years and i still don't know how to do that, actually :-)
1623 2014-08-11 23:10:43 viic has joined
1624 2014-08-11 23:10:46 viic has quit (Read error: Connection reset by peer)
1625 2014-08-11 23:10:55 <BlueMatt> they're call "artifacts"
1626 2014-08-11 23:10:56 viic has joined
1627 2014-08-11 23:11:19 MolokoDeck has joined
1628 2014-08-11 23:11:31 <hearn> yeah, i messed about with that for a while and couldn't figure it out. anyway, all solved now.
1629 2014-08-11 23:12:18 derbumi has quit (Quit: derbumi)
1630 2014-08-11 23:12:32 xenog has quit (Ping timeout: 255 seconds)
1631 2014-08-11 23:13:20 <gmaxwell> sipa: it might require a tequila factory.
1632 2014-08-11 23:13:44 <hearn> haha
1633 2014-08-11 23:13:46 kdomanski_ has joined
1634 2014-08-11 23:13:46 <jrick> lol
1635 2014-08-11 23:13:59 Raziel has quit (Ping timeout: 272 seconds)
1636 2014-08-11 23:14:01 <hearn> that sounds like an advantage to me ..... where else would you get an excuse to acquire one of those :)
1637 2014-08-11 23:14:35 wallet42 has joined
1638 2014-08-11 23:15:43 MolokoDeck has quit (Ping timeout: 246 seconds)
1639 2014-08-11 23:16:08 plaprade has quit (Ping timeout: 255 seconds)
1640 2014-08-11 23:17:03 kdomanski has quit (Ping timeout: 245 seconds)
1641 2014-08-11 23:21:11 yubrew has joined
1642 2014-08-11 23:22:54 TD-Linux is now known as TD-Daala
1643 2014-08-11 23:25:53 yubrew has quit (Ping timeout: 264 seconds)
1644 2014-08-11 23:30:00 mpmcsweeney has joined
1645 2014-08-11 23:30:41 soheil has quit ()
1646 2014-08-11 23:30:47 Eiii has joined
1647 2014-08-11 23:34:03 soheil has joined
1648 2014-08-11 23:34:49 DougieBot5000 has quit (Quit: Leaving)
1649 2014-08-11 23:37:04 sabfer has joined
1650 2014-08-11 23:40:08 JackH has quit (Ping timeout: 272 seconds)
1651 2014-08-11 23:40:52 AnoAnon has joined
1652 2014-08-11 23:41:04 AnoAnon has quit (Read error: Connection reset by peer)
1653 2014-08-11 23:41:14 Guest3970 has left ("http://quassel-irc.org - Chat comfortably. Anywhere.")
1654 2014-08-11 23:41:33 maaku has joined
1655 2014-08-11 23:41:56 soheil has quit ()
1656 2014-08-11 23:42:12 dabura667 has quit (Read error: Connection reset by peer)
1657 2014-08-11 23:43:19 akstunt600 has quit (Read error: Connection reset by peer)
1658 2014-08-11 23:43:20 ak_ has quit (Read error: Connection reset by peer)
1659 2014-08-11 23:44:06 ak_ has joined
1660 2014-08-11 23:44:15 akstunt600 has joined
1661 2014-08-11 23:47:03 Blackreign has quit ()
1662 2014-08-11 23:49:40 coinheavy_ has joined
1663 2014-08-11 23:49:40 sabfer has quit (Read error: Connection reset by peer)
1664 2014-08-11 23:50:39 sabfer has joined
1665 2014-08-11 23:50:39 bbrian has quit (Ping timeout: 255 seconds)
1666 2014-08-11 23:52:10 coinheavy has quit (Ping timeout: 272 seconds)
1667 2014-08-11 23:52:10 coinheavy_ is now known as coinheavy
1668 2014-08-11 23:56:39 caktux has quit (Quit: -)
1669 2014-08-11 23:57:11 smorim has quit (Remote host closed the connection)
1670 2014-08-11 23:57:25 oPen_syLar has joined
1671 2014-08-11 23:57:26 oPen_syLar has quit (Changing host)
1672 2014-08-11 23:57:26 oPen_syLar has joined
1673 2014-08-11 23:57:26 caktux has joined
1674 2014-08-11 23:57:37 caktux has quit (Remote host closed the connection)
1675 2014-08-11 23:59:09 oPen_syLar has quit (Client Quit)
1676 2014-08-11 23:59:18 caktux has joined
1677 2014-08-11 23:59:36 caktux has quit (Remote host closed the connection)