1 2012-05-09 00:08:15 <jgarzik> sipa: nUBucket and GetNewBucket() should be unsigned, not casted
2 2012-05-09 00:24:42 <sipa> http://bitcoin.stackexchange.com/questions/3605/turn-off-coin-generation
3 2012-05-09 00:24:43 <sipa> hmm
4 2012-05-09 00:24:55 <gmaxwell> hah
5 2012-05-09 00:26:00 <gmaxwell> sipa: or is the 100% cpu the thing that was being reported on osx here the other evening?
6 2012-05-09 00:27:03 <dwon> Could someone sanity-check my commit message here, before I send a pull request to BitcoinArmory? I want to make sure what I'm saying about spending txouts is actually correct. https://github.com/dlitz/BitcoinArmory/commit/39e102326ae318c56724da285fbc15d22b9a3f6b
7 2012-05-09 00:27:38 <sipa> gmaxwell: oh yes, indeed
8 2012-05-09 00:29:02 <sipa> dwon: i can't say anything about the change or the code, but the commit message sounds technically correct
9 2012-05-09 00:30:24 <gmaxwell> Is another here running bitcoin 0.6.2 on OSX?
10 2012-05-09 00:30:51 <dwon> sipa: That's what I was looking for. Thanks!
11 2012-05-09 00:47:08 <luke-jr> Anyone available to review https://github.com/luke-jr/bitcoin/commit/2d1efd9ef1fe43b8106beb6639ede90f91dc7cba ?
12 2012-05-09 00:47:21 <luke-jr> (completely untested so far, beware)
13 2012-05-09 00:49:33 <sipa> luke-jr: why store a pointer instead of a reference to mapinfo_t, if you always dereference anyway?
14 2012-05-09 00:50:09 <luke-jr> sipa: can you store references? O.o
15 2012-05-09 00:54:10 <sipa> sure
16 2012-05-09 00:54:45 <sipa> you need to initialize them in the constructor's initializer list, though
17 2012-05-09 00:55:00 <sipa> as you can't assign anything to them afterwards
18 2012-05-09 00:55:18 <luke-jr> sipa: I don't think that's possible here, as the std::map is implicitly creating them
19 2012-05-09 00:55:57 <sipa> ah, yes, that makes a default constructor impossible
20 2012-05-09 00:56:18 <sipa> and map's [] need a default constructor
21 2012-05-09 01:00:39 <BlueMatt> gmaxwell: you were wondering earlier what happened to my block-download-parallelization stuff, just finished redoing it...bit more to do, but it works, if you care... https://github.com/TheBlueMatt/bitcoin/commits/parallelcheck
22 2012-05-09 01:01:04 <BlueMatt> s/redoing/rebasing and redoing parts/
23 2012-05-09 01:32:07 <paulo_> is there a limit for the # of transactions per day?
24 2012-05-09 01:32:43 <sipa> as much as miners are willing to mine
25 2012-05-09 01:33:02 <paulo_> that's weird
26 2012-05-09 01:33:06 <paulo_> i just discovered today
27 2012-05-09 01:33:09 <sipa> and transactions have a minimum size, and sizes of blocks are limited, and blocks are almost-limited
28 2012-05-09 01:33:25 <paulo_> why do I have a namecoin folder beside the bitcoin folder?
29 2012-05-09 01:33:33 <sipa> i have no idea
30 2012-05-09 01:33:51 <gmaxwell> paulo_: because you started namecoin at some point or the hackers maintaining your computer did.
31 2012-05-09 01:34:08 <paulo_> is there even a windows client?
32 2012-05-09 01:34:15 <sipa> i have no idea
33 2012-05-09 01:34:24 <gmaxwell> Sure, just no gui.
34 2012-05-09 01:34:59 <paulo_> look at that, i have namecoind.exe.
35 2012-05-09 01:38:17 <gmaxwell> You may want to consider moderating your alcohol consumption. ;)
36 2012-05-09 01:38:23 <gmaxwell> Blackouts are a bad sign.
37 2012-05-09 01:38:42 <sipa> or getting alzheimer treatment
38 2012-05-09 01:38:55 <gmaxwell> "oh man, I was so drunk I installed a cryptocurrency and don't even remember it!"
39 2012-05-09 01:39:21 <sipa> now this would be a bad time to discover you also invested your life's savings into it
40 2012-05-09 01:39:30 <gmaxwell> http://en.wikipedia.org/wiki/Methylene_blue#Clinical_trials thank me if you remember to tomorrow.
41 2012-05-09 02:08:39 <DiabloD3> updated the top ten: deepbit, btcguild, slush, ozcoin, eligius, emc, p2pool, 50btc, mtred, bitminter
42 2012-05-09 02:25:18 <gribble> New news from bitcoinrss: sgaltsev opened issue 1231 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/issues/1231>
43 2012-05-09 02:47:08 <twobitcoins> sipa: Regarding the genbuild stuff in bitcoin-qt.pro, the syntax for logical or is "|", not "||". With '||', I find that the "!windows || contains(USE_BUILD_INFO, 1)" block is entered on windows.
44 2012-05-09 03:25:21 <paulo_> why was 0.6.1 suddenly replaced with 0.6.2?
45 2012-05-09 03:29:59 <BlueMatt> because there were some fixes that didnt make it before 0.6.1 was released that are moderately important
46 2012-05-09 03:31:12 <BlueMatt> or was it only one fix?
47 2012-05-09 03:31:30 <wump> yea 0.6.1 has the unstable addrman
48 2012-05-09 04:13:30 <gribble> New news from bitcoinrss: TheBlueMatt opened pull request 1232 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1232>
49 2012-05-09 04:28:59 <gribble> New news from bitcoinrss: TheBlueMatt opened pull request 1233 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1233>
50 2012-05-09 04:44:48 <topi`_> sipa: I still get the crash after reorganising the blockchain. wanna see the debug.log?
51 2012-05-09 04:44:51 <topi`_> sipa: http://pastebin.com/DcYjZUeP
52 2012-05-09 05:08:15 <dusty_> I read somewhere that in testnet after some time that no new blocks are minet the difficulty is reset to some value I don't know
53 2012-05-09 05:08:25 <dusty_> but there is no hint to that on the page https://en.bitcoin.it/wiki/Testnet
54 2012-05-09 05:08:36 <dusty_> can someone please add there the relevant info?
55 2012-05-09 05:09:28 <BTC_Bear> Yea, I think they did that after people started trading test net coins. lol
56 2012-05-09 05:12:58 <BlueMatt> no, after people started trading testnet coins, testnet was reset, that was just because it was impossibly to test with testnet
57 2012-05-09 05:13:03 <BlueMatt> (and had been for a while)
58 2012-05-09 05:13:25 <dusty_> anyway, I don't know this rule, can someone point me to the details?
59 2012-05-09 05:13:36 <BlueMatt> the only details are probably in the code...
60 2012-05-09 05:15:42 <wumpus> from what I understand, the testnet is broken at the moment and needs to be reset again
61 2012-05-09 05:15:54 <wumpus> best is to use a testnet-in-a-box when testing
62 2012-05-09 05:16:07 <wumpus> at least then you have control over everything
63 2012-05-09 05:19:23 <BlueMatt> wumpus: when did that happen?
64 2012-05-09 05:20:01 <wumpus> I don't know, I just know gavin wants to reset it with 0.7
65 2012-05-09 05:20:08 <BlueMatt> hmmm...
66 2012-05-09 05:31:59 <Nachtwind> hi, has anyone here an idea how to use getbalance via command line to return the whole balance including 0 conf transactions on windows?
67 2012-05-09 05:32:20 <Nachtwind> ./bitcoind getbalance `*` 0
68 2012-05-09 05:32:26 <Nachtwind> returns always 0.000000
69 2012-05-09 05:48:52 <sipa> topi`_: your blockchain db is corrupt, you'll need to redownload it
70 2012-05-09 05:49:36 <sipa> twobitcoins: oh, good to know
71 2012-05-09 08:04:20 <Eliel> I think something needs to be done to the user interface to help users avoid situations like this. I wonder how many have just silently just abandoned bitcoin after trying and not seeing the transaction in their client. http://www.reddit.com/r/Bitcoin/comments/tcy73/help_i_withdrew_funds_from_mtgox_gave_them_my/
72 2012-05-09 08:21:04 <drizztbsd> bitcoin 0.6.2 for archlinux committed
73 2012-05-09 08:35:11 <gmaxwell> Eliel: are you aware of other public examples of that?
74 2012-05-09 08:36:28 <Eliel> gmaxwell: no, but it's not clearly visible from the UI that you can't expect transactions to show up before the blockchain download is complete. There's also plenty of people who don't read instructions.
75 2012-05-09 08:38:33 <gmaxwell> I wasn't doubting you, I was going to open an issue on it and just wondered if you had other examples.
76 2012-05-09 08:38:45 <Eliel> I think a good way to fix this would be to show a note on the top of the transaction list that says "blockchain still downloading, some transactions may not show up"
77 2012-05-09 08:38:49 <Eliel> oh, sorry.
78 2012-05-09 08:41:30 <Eliel> gmaxwell: can you give me the link to the issue when you're done? I'll go add it to the reddit thread. (Shows developers are awake)
79 2012-05-09 08:41:34 <wumpus> the block chain is always downloading, though
80 2012-05-09 08:41:46 <wumpus> or do you mean only during initial download?
81 2012-05-09 08:41:59 <Eliel> wumpus: yes, initial download only. That's the only time this issue can manifest.
82 2012-05-09 08:42:14 <Eliel> or if there's a longer catch up download after not running the client for a while.
83 2012-05-09 08:42:17 <gmaxwell> It's not the only time this issue can manifest, but its worse for sure.
84 2012-05-09 08:43:20 <wumpus> but yes I agree, can you write the message though I'm not good at that
85 2012-05-09 08:44:11 <gribble> New news from bitcoinrss: gmaxwell opened issue 1236 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/issues/1236> || Diapolo opened pull request 1235 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1235> || gmaxwell opened issue 1234 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/issues/1234>
86 2012-05-09 08:44:21 <Eliel> "Syncing with the network, new transactions may not show up until done", how about this?
87 2012-05-09 08:45:20 <gmaxwell> Eliel: so what happens where you're just a few hours behind but the message isn't displayed because its not in initial sync?
88 2012-05-09 08:45:55 <wumpus> I don't think that's very common to be a few hours behind with a running client
89 2012-05-09 08:45:58 <Eliel> if you ask me, that message should display whenever the client is more than 3 blocks behind.
90 2012-05-09 08:46:25 <gmaxwell> Eliel: it can't tell when its "n blocks behind" in a reliable/secure way.
91 2012-05-09 08:47:06 <gmaxwell> (just taking the peer's reported height is vulnerable to troublemakers)
92 2012-05-09 08:47:25 <wumpus> yes, I think simply displaying it during the initial download (after client startup) is good enough
93 2012-05-09 08:47:32 <gmaxwell> wumpus: no, if you've been up the whole time you shouldn't be behind. But lots of people start and stop their clients.
94 2012-05-09 08:47:50 <wumpus> this also works if you are only a few blocks behind, that's considered "initial"
95 2012-05-09 08:48:07 <Eliel> maybe only show the message on client startup until the client has synced?
96 2012-05-09 08:48:09 <wumpus> (always when the progress bar is shown)
97 2012-05-09 08:48:24 <Eliel> ah, that sounds good.
98 2012-05-09 08:48:49 <vragnaroda> [20120509 10:45:55+0000]< wumpus> | I don't think that's very common to be a few hours behind with a running client <-- That's not true; I'm often days behind.
99 2012-05-09 08:49:16 <gmaxwell> vragnaroda: with a client that was left running? Then something is horribly broken.
100 2012-05-09 08:49:35 <vragnaroda> gmaxwell: No, but most of the time it's running, it hasn't been running for long.
101 2012-05-09 08:49:36 <wumpus> well if you disconnect the network it could happen :p
102 2012-05-09 08:50:12 <vragnaroda> Let's see how far behind I am now.
103 2012-05-09 08:50:15 <Eliel> people with laptops who make them sleep for long periods at at time it could happen without bitcoin being restarted in the middle.
104 2012-05-09 08:50:17 <wumpus> if there are no connections it could show the warning too
105 2012-05-09 08:50:23 <gribble> 179411
106 2012-05-09 08:50:23 <vragnaroda> ;;bc,blocks
107 2012-05-09 08:50:27 <gmaxwell> Yea, in any case I just encourage caution that the absense of the message doesnt add an additional kind of confusion. Otherwise it sounds like a good idea to do something.
108 2012-05-09 08:50:44 <wumpus> yes, it should not be something that is 100% relied on
109 2012-05-09 08:50:49 <wumpus> just another warning just in case
110 2012-05-09 08:52:10 <wumpus> like the spinner, the green tick means it received a block that was generated in the last 90 minutes, but that in itself doesn't guarantee anything
111 2012-05-09 08:52:15 <Eliel> perhaps you could automatically show the message if an hour goes past without any blocks?
112 2012-05-09 08:52:24 <wumpus> yes, like the spinner
113 2012-05-09 08:53:01 <Eliel> also if all connections are lost.
114 2012-05-09 08:53:13 <Eliel> ... although that should probably be a different message then.
115 2012-05-09 08:53:48 <wumpus> nah I don't want to overthink this, could just add that to the current message
116 2012-05-09 08:54:31 <Eliel> perhaps if the client has no connections it could show "No connection, new transactions will not be displayed"
117 2012-05-09 08:55:05 <wumpus> though that should really be obvious... much more obvious than "your client is behind"
118 2012-05-09 08:55:28 <vragnaroda> Ah, on this machine, I'm 11 days behind.
119 2012-05-09 08:55:30 <gmaxwell> wumpus: well, except they have to fuddle that out from the ideogram in the lower right.
120 2012-05-09 08:55:43 <Eliel> yes, in that case you could probably even change the titlebar of the bitcoin-window. To have (offline) in it.
121 2012-05-09 08:56:06 <gmaxwell> Actually it might make sense to always say it after startup until the next block is recieved.
122 2012-05-09 08:56:07 <wumpus> gmaxwell: which they are used to from their phones, their wifi icons, etc etc
123 2012-05-09 09:09:26 <gmaxwell> wumpus: UI wise we show that indicator in the wrong place if we're expecting people to use phones as the reference. Eh? In any case, I'm not worried about it staying disconnected isn't a common outcome except when you're totally offline. And even a dunce like me can figuring out that no network at all means no bitcoin.
124 2012-05-09 09:12:35 <vragnaroda> gmaxwell: Well, this isn't a problem for
125 2012-05-09 09:19:25 <TimothyA> is it normal that bitcoind on linux is supposed to take several minutes to reply to an RPC command?
126 2012-05-09 09:21:27 <gmaxwell> TimothyA: during initial sync it can be slow to respond, but otherwise no.
127 2012-05-09 09:25:21 <wumpus> depends on the command
128 2012-05-09 09:25:26 <wumpus> importprivkey can take a long time, for example
129 2012-05-09 09:26:11 <gribble> New news from bitcoinrss: gmaxwell opened pull request 1237 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1237>
130 2012-05-09 09:59:16 <Erdon> Hello there. I'd like to maybe pick up a small coding project involving Bitcoin to help back the community during the summer. Does Bitcoin have a page with project ideas available to pick up, similar to Tor's https://www.torproject.org/getinvolved/volunteer.html.en ?
131 2012-05-09 10:01:02 <gmaxwell> Not really, I maintain a personal feature wishlist, but not many of them are sutiable for start projects. https://en.bitcoin.it/wiki/User:Gmaxwell/features
132 2012-05-09 10:01:33 <gmaxwell> (nor have all of them been ACKed as actually desirable to have by the other developers, but I'm pretty sure most are)
133 2012-05-09 10:04:22 <gmaxwell> (and in particular, my list pretty much completely neglects the GUI because I don't use it myself)
134 2012-05-09 10:11:56 <wumpus> the github issue list also has some suggestions, though most are small stuff
135 2012-05-09 10:19:54 <Erdon> thank you, i'll look through these.
136 2012-05-09 10:22:44 <twmz> is there a known issue with CPU spiking to 100% with 0.6.2? It seems to happen reliably within 10-20 minutes of bitcoin-qt starting on my mac. Wasn't happening with 0.6.1.
137 2012-05-09 10:23:39 <twmz> http://hastebin.com/xujanijexe.txt
138 2012-05-09 10:23:42 <gmaxwell> twmz: We had a report of this in 0.6.1 with some indication of the cause.
139 2012-05-09 10:24:05 <gmaxwell> The difference between 0.6.2 and 0.6.1 should not have been able to cause that. More likely that 0.6.1 had it too and you didn't notice.
140 2012-05-09 10:24:47 <twmz> going to swap back to 0.6.1 and check. I might not hve noticed it I guess, but it is making my CPU fan spin up and be noisy which is why I noticed it now.
141 2012-05-09 10:26:17 <gmaxwell> twmz: That output doesn't seem helpful to me perhaps I don't know how to read it.
142 2012-05-09 10:26:28 <twmz> neither do I :)
143 2012-05-09 10:26:36 <gmaxwell> it looks like its saying everything it reported had about equal coverage.
144 2012-05-09 10:26:43 <wumpus> can you find out what thread it is that is causing the CPU usage?
145 2012-05-09 10:26:51 <wumpus> this seems like a snapshot of the runtime state
146 2012-05-09 10:26:55 <twmz> It's call stacks of all of the threads.
147 2012-05-09 10:27:36 <twmz> I can use whatever tool you want. that's just the tool I know about that is built into Activity Monitor on OS X.
148 2012-05-09 10:27:55 <twmz> btw, you are correct that 0.6.1 is doing it also. I just didn't notice.
149 2012-05-09 10:28:47 <wumpus> can it show cpu usage on a per-thread basis instead of for a process in total?
150 2012-05-09 10:29:19 <twmz> I have no idea. I just clicked the button in case it was useful. it might not be useful.
151 2012-05-09 10:29:41 <gmaxwell> twmz: the backtraces would be a lot more useful if we knew which of the threads was the source of the activity it's not obvious. Alas.
152 2012-05-09 10:30:21 <wumpus> though the main thread call tree is weird... a resize event inside a resize event
153 2012-05-09 10:32:27 <twmz> Debugging c++ applications on OS X is a mystery to me. I seem to be able to reproduce the problem easily enough. if someone who knows what tool to actually use can tell me what to do, I am happy to gather whatever data would be useful.
154 2012-05-09 10:33:03 <wumpus> is it doing anything special? like initial block download?
155 2012-05-09 10:34:02 <wumpus> can you try selecting an entry in the address book? does it stay selected?
156 2012-05-09 10:34:37 <wumpus> (that was an issue that should be solved in 0.6.1 though)
157 2012-05-09 10:34:48 <twmz> debug.log doesn't show anything frantic. looks like normal p2p interactions and occasional rpc requests.
158 2012-05-09 10:35:38 <twmz> yes, if I select an address in address book, it stays selected
159 2012-05-09 10:36:03 <wumpus> ok great
160 2012-05-09 10:37:04 <twmz> here are the last 60 seconds of debug.log: http://hastebin.com/xukaqevupo.txt
161 2012-05-09 10:37:29 <wumpus> I have no idea what the problem can be, then, we had a 100% issue before on mac which was caused by boost::ipc for URLs, but that was disabled
162 2012-05-09 10:39:56 <gmaxwell> The other person reporting it was saying that it was in the spinning on the csOutbound waitable... but I don't see how unless locking is just horribly broken on mac... and I wasn't real confident that he wasn't just picking the first thing he saw in a stacktrace.
163 2012-05-09 10:42:46 <twmz> I am just randomly trying things, but I just tried the Time Profiler in XCode (which I don't really know how to use).
164 2012-05-09 10:43:39 <twmz> It seems to be saying that all of the time is being spent on the thread that is in ThreadOpenConnections2 if I am not misinterpreting the output
165 2012-05-09 10:43:57 <gribble> New news from bitcoinrss: Diapolo opened pull request 1238 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1238>
166 2012-05-09 10:44:21 <sipa> gmaxwell: we could easily test, by adding a Sleep(50) or so inside WAIT
167 2012-05-09 10:44:47 <twmz> http://i.imgur.com/mwvaO.png
168 2012-05-09 10:45:15 <gmaxwell> https://svn.boost.org/trac/boost/ticket/6108
169 2012-05-09 10:46:49 <gmaxwell> twmz: thats helpful!
170 2012-05-09 10:47:23 <gmaxwell> (it really does confirm that its burning CPU in WAIT())
171 2012-05-09 10:48:44 <sipa> bleh
172 2012-05-09 10:49:09 <sipa> so you can only wait for other threads, not conditions?
173 2012-05-09 10:49:10 <gmaxwell> sipa: stick a sleep(500) in the condition so it can get shortcutted out when we're going to exit.
174 2012-05-09 10:49:29 <gmaxwell> sipa: sounds like it becomes a busyspin on the condition.
175 2012-05-09 10:49:34 <sipa> yes
176 2012-05-09 10:50:09 <wumpus> on mac, at least
177 2012-05-09 10:51:02 <wumpus> seems that boost on mac likes busy-waiting
178 2012-05-09 10:52:00 <sipa> that trac page says that this is correct behavior
179 2012-05-09 10:52:36 <sipa> so i am wrong about the semantics if condition::wait
180 2012-05-09 10:52:57 <sipa> of
181 2012-05-09 11:03:30 <sipa> twmz: can you build from source?
182 2012-05-09 11:04:28 <luke-jr> https://github.com/luke-jr/bitcoin/commit/ad70c926783e6082a731af158dcea57bf574f28f
183 2012-05-09 11:05:11 <drizztbsd> there is a feature in blockchain.info wallet that I think can be useful also on satoshi client
184 2012-05-09 11:05:37 <sipa> drizztbsd: being?
185 2012-05-09 11:05:42 <drizztbsd> you have the balance of any single addresses
186 2012-05-09 11:06:07 <drizztbsd> s/any/every/
187 2012-05-09 11:06:37 <drizztbsd> https://blockchain.info/wallet/demo-account => Receive Money
188 2012-05-09 11:07:36 <sipa> drizztbsd: that would require an index from all addresses to blocks/transactions that receive from or send coins
189 2012-05-09 11:10:37 <sipa> drizztbsd: but is that really what you as an end-user want?
190 2012-05-09 11:10:45 <gmaxwell> Certantly would make import a lot faster...
191 2012-05-09 11:10:53 <wumpus> what would the use for end users be? it would kind of break the wallet abstraction
192 2012-05-09 11:11:17 <sipa> for example a watch-only wallet, with just addresses in it, is much closer to that abstraction
193 2012-05-09 11:11:36 <sipa> though that obviously requires multi-wallet support
194 2012-05-09 11:12:05 <gmaxwell> yea, I think multi-wallet would need to come first before even talking about that.
195 2012-05-09 11:12:26 <drizztbsd> I think there is 1 or 2 clients with multi-wallet supports
196 2012-05-09 11:12:33 <wumpus> what's the big blocker for multi-wallet support?
197 2012-05-09 11:12:37 <sipa> wumpus: BDB
198 2012-05-09 11:12:38 <twmz> sipa: my OS X machine is not setup for building from souce at the moment, but I can do that after work tonight.
199 2012-05-09 11:13:12 <sipa> wumpus: if we do multi-wallet i feel we must do it properly, with users being able to "open wallet file", anywhere in the filesystem
200 2012-05-09 11:13:17 <wumpus> BDB has problems with multiple open databases?
201 2012-05-09 11:13:37 <sipa> not at all
202 2012-05-09 11:13:40 <wumpus> right, bdb can only open databases in its database path
203 2012-05-09 11:13:48 <sipa> not even
204 2012-05-09 11:13:50 <sipa> but each database requires a bdb environment
205 2012-05-09 11:13:58 <drizztbsd> which is the problem about using sqlite3?
206 2012-05-09 11:14:08 <gmaxwell> ...
207 2012-05-09 11:14:11 <wumpus> don't mention it...
208 2012-05-09 11:14:13 <sipa> drizztbsd: the fact that we don't need a database at all
209 2012-05-09 11:14:21 <drizztbsd> bdb is still a db :P
210 2012-05-09 11:14:35 <sipa> yes, and i want to get rid of it (except for the blockchain)
211 2012-05-09 11:14:38 <wumpus> so, how is that append-only log-structure dformat coming along?
212 2012-05-09 11:14:51 <sipa> wumpus: it worked
213 2012-05-09 11:14:58 <sipa> but it was a quick hack only
214 2012-05-09 11:15:06 <wumpus> we could make it optional (for external wallets only) first
215 2012-05-09 11:15:58 <sipa> doing that does require an atomic move when you want to rewrite the file, and atomic moves don't exist in boost::filesystem v2
216 2012-05-09 11:17:12 <wumpus> when would you want to re-write it? it's append-only for a reason :p
217 2012-05-09 11:17:23 <sipa> wumpus: if the useful % in it becomes too small
218 2012-05-09 11:17:43 <wumpus> I wouldn't really trust a hand-rolled wallet format, unless it promises to only ever append
219 2012-05-09 11:18:17 <sipa> maybe we could provide an external tool to compact a wallet
220 2012-05-09 11:18:24 <wumpus> if you want to delte keys use some advanced toolkit
221 2012-05-09 11:18:25 <wumpus> yeah
222 2012-05-09 11:18:39 <sipa> no, i don't mean deleting keys
223 2012-05-09 11:19:00 <wumpus> of course.. wallet encryption :/
224 2012-05-09 11:19:08 <sipa> orthogonal
225 2012-05-09 11:19:19 <sipa> right, you need a rewrite of course then
226 2012-05-09 11:19:23 <wumpus> well it needs a rewrite
227 2012-05-09 11:19:34 <wumpus> or you could just append "kindly ignore the unencrypted keys before this"
228 2012-05-09 11:19:40 <drizztbsd> to delete keys there is pywallet
229 2012-05-09 11:19:41 <drizztbsd> :P
230 2012-05-09 11:19:41 <gribble> New news from bitcoinrss: Diapolo opened pull request 1239 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1239>
231 2012-05-09 11:20:01 <sipa> wumpus: there is an alternative
232 2012-05-09 11:20:08 <sipa> have two files, a normal one and a .bak
233 2012-05-09 11:20:22 <sipa> every append goes to both
234 2012-05-09 11:20:42 <wumpus> or just avoid boost for this call and implement our own atomic rename, until we can drop boost filesystem 2 support
235 2012-05-09 11:20:57 <sipa> and when compacting, you do them both sequentially
236 2012-05-09 11:21:14 <drizztbsd> (man 2) rename should work also on windows
237 2012-05-09 11:21:17 <wumpus> yes, that could work too, some kind of double buffereing
238 2012-05-09 11:24:04 <wumpus> though I still think compaction should never be done automatically, only when requested by the user or when unavioidable (like when encrypting)
239 2012-05-09 11:24:53 <drizztbsd> defragmentation could be a problem
240 2012-05-09 11:25:29 <sipa> wallet files are typically small
241 2012-05-09 11:25:36 <sipa> drizztbsd: and i think you mean fragmentation :)
242 2012-05-09 11:25:48 <drizztbsd> ops sorry
243 2012-05-09 11:25:50 <drizztbsd> yes
244 2012-05-09 11:27:36 <wumpus> I don't think fragmentation is a problem in this case, not like with the block chain file which has a lot of information to process over a long time
245 2012-05-09 11:27:40 <sipa> indeed
246 2012-05-09 11:28:02 <sipa> except if you're deepbit, of course
247 2012-05-09 11:29:12 <wumpus> right, but they can afford to have a seperate disk especially for the wallet :p
248 2012-05-09 11:29:24 <drizztbsd> or ssd
249 2012-05-09 11:29:31 <wumpus> heh
250 2012-05-09 11:32:17 <sipa> wumpus: shouldn't be too much work to get it working really; i was quite close until i realized i need a slightly more complex locking system
251 2012-05-09 11:33:54 <Eliel> solves the need for locks as long as what's being modified is entirely in memory.
252 2012-05-09 11:35:04 <sipa> wumpus: the format is this: the file consists of a sequence of blocks, each block starts with a magic, then a sequence of records, then an end-of-records-marker, then a 64-bit checksum
253 2012-05-09 11:35:31 <sipa> if a block cannot be read entirely and the checksum matches, it is not read further
254 2012-05-09 11:35:57 <sipa> and each record is "assign key = value" or "delete key"
255 2012-05-09 11:36:33 <sipa> Eliel: STM is nice from what i hear about it, but i don't know enough details really
256 2012-05-09 11:36:48 <wumpus> Eliel: imagine writing a bitcoin client in haskell though :-) (I had a nightmare about implementing one in erlang once, must be a comparable experience)
257 2012-05-09 11:37:03 <wumpus> sipa: sounds good
258 2012-05-09 11:37:13 <sipa> wumpus: you mean purecoin?
259 2012-05-09 11:37:17 <Eliel> sipa: if you have some time on your hands, you could look at some of this stuff :) http://research.microsoft.com/en-us/um/people/simonpj/papers/stm/#beautiful
260 2012-05-09 11:37:30 <wumpus> sipa: means you can skip corrupted blocks
261 2012-05-09 11:37:31 <drizztbsd> btw cdb is the fastest one iirc
262 2012-05-09 11:37:38 <sipa> wumpus: not skip, stop
263 2012-05-09 11:37:48 <Eliel> wumpus: roconnor has already been writing one :)
264 2012-05-09 11:37:48 <sipa> wumpus: if one block is corrupt, the next ones will be too
265 2012-05-09 11:37:56 <wumpus> I don't even want one
266 2012-05-09 11:38:02 <wumpus> it was just scary :)
267 2012-05-09 11:39:24 <gmaxwell> wumpus: haskell bitcoin? You mean purecoin? (darcs http://r6.ca/Purecoin)
268 2012-05-09 11:39:28 <wumpus> sipa: not necessarily? you could do a partial recovery, recovering the uncorrupted private keys, though I agree it should not be done automatically
269 2012-05-09 11:39:45 <gmaxwell> wumpus: yea, something for a recovery tool.
270 2012-05-09 11:39:55 <sipa> wumpus: hmm
271 2012-05-09 11:40:02 <sipa> maybe blocks also need a serial
272 2012-05-09 11:40:04 <gribble> New news from bitcoinrss: luke-jr opened pull request 1240 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1240>
273 2012-05-09 11:40:23 <sipa> so if a block doesn't match, you can skip the invalid part, and find the next attempt
274 2012-05-09 11:40:35 <wumpus> error correction would be nice
275 2012-05-09 11:40:42 <sipa> so it really becomes append-only, and not append-after-last-date
276 2012-05-09 11:40:52 <sipa> let's keep reed-solomon for a future extension :)
277 2012-05-09 11:40:56 <Eliel> wumpus: however, I'd think any reimplementation of bitcoin is going to be tough :)
278 2012-05-09 11:41:07 <gmaxwell> The CRC gives you that with a sufficiently advanced recovery tool though its limited by the fact that errors are likely to kill 512 bytes or 4096 bytes at a time.
279 2012-05-09 11:41:09 <wumpus> yes... I'm not saying it should be in the first version, but it should be extendible
280 2012-05-09 11:41:23 <wumpus> gmaxwell: yes, it'd need some more thinking
281 2012-05-09 11:41:45 <gmaxwell> (really I think we should just keep around older versions of the file wallet.1 wallet.2 ... wallet.n becuase that should have good robustness properties on all filesystems)
282 2012-05-09 11:41:47 <wumpus> it's already more than bdb does
283 2012-05-09 11:42:20 <sipa> the problem seems to me that bdb tries to hard to provide durability
284 2012-05-09 11:42:36 <sipa> and when you don't want durability, you also lose consistency in its format
285 2012-05-09 11:43:27 <sipa> while for us, integrity is much more important than durability (the keypool now solves the durability problem)
286 2012-05-09 11:43:44 <wumpus> gmaxwell: good idea, just maintain multiple copies of the file, poor man's (but very reliable) error correction :p
287 2012-05-09 11:44:04 <luke-jr> sipa: blocks do have a serial O.o
288 2012-05-09 11:44:21 <wumpus> we're talking about wallet database transaction blocks, not blockchain blocks
289 2012-05-09 11:44:22 <sipa> luke-jr: talking about logdb, my wallet file implementation
290 2012-05-09 11:44:28 <luke-jr> oh, not bitcoin blocks
291 2012-05-09 11:44:34 <luke-jr> >_<
292 2012-05-09 11:45:43 <sipa> there are some further optimizations possible though; like keeping the vfSpent vector outside of the wallet data in the file format
293 2012-05-09 11:46:03 <sipa> because that gets changed frequently, and you don't want to rewrite the entire transaction every time
294 2012-05-09 11:46:06 <wumpus> sipa: seems your idea to maintain a .bak and a .dat is good for more reasons
295 2012-05-09 11:46:16 <wumpus> if it's only a cache there's no need to keep it even in the same file
296 2012-05-09 11:46:24 <sipa> wumpus: it's eto's idea really
297 2012-05-09 11:48:15 <wumpus> to keep the wallet size to a minimum (and minimize accesses), it should probably only contain information that cannot be reconstructed using other means
298 2012-05-09 11:49:09 <sipa> it should contain transactions and keys
299 2012-05-09 11:49:43 <wumpus> yes
300 2012-05-09 11:50:04 <gmaxwell> meh, and accounts/labels/comments.
301 2012-05-09 11:50:05 <ageis> i was trying to do a symbolic link and use the same blockchain files between linux and win32 on the same machine. didn't work =(
302 2012-05-09 11:50:14 <wumpus> right
303 2012-05-09 11:50:59 <sipa> ageis: it should work, actually, as long as the bdb version is exactly the same, and the database/ subdir is also shared
304 2012-05-09 11:51:33 <sipa> gmaxwell: glad we already moved settings out
305 2012-05-09 11:51:56 <wumpus> hehe indeed, otherwise you'd end up with settings mutations intertwined
306 2012-05-09 11:53:44 <sipa> that's not a problem, those are very small and infrequent typically
307 2012-05-09 11:53:50 <sipa> but it'd just be dirty
308 2012-05-09 11:55:10 <wumpus> yeah it'd just be useless
309 2012-05-09 11:55:39 <gmaxwell> wumpus: should I open an issue on the qt-console focus thing I mentioned so we don't forget it?
310 2012-05-09 11:55:40 <wumpus> certainly with multiple wallets
311 2012-05-09 11:55:57 <gmaxwell> hm
312 2012-05-09 11:55:58 <gmaxwell> bitcoin in ThreadOpenConnections()
313 2012-05-09 11:56:08 <gmaxwell> (on shutdown in -qt)
314 2012-05-09 11:56:57 <wumpus> gmaxwell: yes
315 2012-05-09 11:57:40 <gmaxwell> if (mapArgs.count("-connect"))
316 2012-05-09 11:57:41 <gmaxwell> SoftSetBoolArg("-dnsseed", false);
317 2012-05-09 11:58:00 <gmaxwell> Hm. I was complaining that sipa's onion stuff was performing proxydns when connect was set.
318 2012-05-09 11:58:12 <gmaxwell> (but it seems that dnsseed already is disabled with connect)
319 2012-05-09 11:58:24 <sipa> gmaxwell: maybe i changed that afterwards
320 2012-05-09 11:59:46 <gmaxwell> sipa: nope.
321 2012-05-09 12:00:25 <gribble> New news from bitcoinrss: gmaxwell opened issue 1241 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/issues/1241>
322 2012-05-09 12:00:30 <gmaxwell> but who knows perhaps it came in via some other commit.
323 2012-05-09 12:00:59 <gmaxwell> No.. hm. it's there in the onioncat build I tested. Whatever, I'll figure it out later.
324 2012-05-09 12:01:12 <sipa> gmaxwell: by the way, i put BIP32 on the wiki
325 2012-05-09 12:03:41 <luke-jr> sipa: fwiw, it's missing Rationale, Backwards Compatibility, and Reference Implementation sections
326 2012-05-09 12:03:50 <gmaxwell> I do wonder if we're standardizing the 'master seed' step in the process if we shouldn't stipulate a reasonable strenghtening method there?
327 2012-05-09 12:04:44 <sipa> luke-jr: i don't claim it's finished
328 2012-05-09 12:04:57 <luke-jr> sipa: just saying, since you have stubs for other sections :P
329 2012-05-09 12:05:00 <wumpus> also it'd be interesting to think about how we'd support multiple wallets in RPC... add an openwallet and closewallet call, and an extra argument wallet id to all calls (that work with the wallet) that defaults to the main wallet? or alternative versions of the commands that take the wallet argument?
330 2012-05-09 12:05:19 <sipa> wumpus: or a selectwallet call
331 2012-05-09 12:05:24 <luke-jr> wumpus: or just extend the account arguments
332 2012-05-09 12:05:34 <gmaxwell> sipa: thats awesome safe if you have multiple callers.
333 2012-05-09 12:05:34 <luke-jr> ie, "a:b" refers to account "b" in wallet "a"
334 2012-05-09 12:05:34 <wumpus> no statefulness please
335 2012-05-09 12:05:36 <gribble> New news from bitcoinrss: Folko85 opened issue 1242 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/issues/1242>
336 2012-05-09 12:05:51 <luke-jr> or perhaps "a/b" would be better syntax
337 2012-05-09 12:05:56 <wumpus> that's only work if you'd add client sessions
338 2012-05-09 12:06:03 <sipa> gmaxwell: bah, somehow i assumed an RPC session was a session
339 2012-05-09 12:06:07 <sipa> gmaxwell: of course
340 2012-05-09 12:06:23 <gmaxwell> multiple rpc ports!
341 2012-05-09 12:06:42 <wumpus> though client sessions would be useful for notifications
342 2012-05-09 12:06:49 <sipa> just put the session id in the HTTP headers
343 2012-05-09 12:06:50 <sipa> oh...
344 2012-05-09 12:07:10 <wumpus> still, I don't like the select idea, a client that supports multiple wallets would have to switch all the time
345 2012-05-09 12:07:18 <sipa> ok
346 2012-05-09 12:07:51 <luke-jr> so what's wrong with throwing it into the account choosing stuff? :p
347 2012-05-09 12:08:02 <wumpus> luke-jr: no need to hardcode it into names (what if your account name has a '/' in it)
348 2012-05-09 12:08:14 <jrmithdobbs> why would you use multiple wallets through the same instance?
349 2012-05-09 12:08:21 <wumpus> why not?
350 2012-05-09 12:08:26 <luke-jr> OK, how about using a JSON Object in place of the String?
351 2012-05-09 12:08:31 <jrmithdobbs> why's it useful?
352 2012-05-09 12:08:39 <luke-jr> jrmithdobbs: so you don't have 204.5 blockchains on your system
353 2012-05-09 12:08:41 <wumpus> and it'd be a good testing ground until the UI for multiple wallets is finished
354 2012-05-09 12:08:57 <jrmithdobbs> I can't think of a reason to have sep wallets that aren't security related and if it's security related they shouldn't be accessible by the same instance at the same time
355 2012-05-09 12:09:00 <sipa> RPC support for multiple wallets isn't immediately necessary
356 2012-05-09 12:09:12 <sipa> that's independent from actual multiple wallet support
357 2012-05-09 12:09:15 <wumpus> ok, never mind then
358 2012-05-09 12:09:29 <wumpus> you'll see it helps with testing
359 2012-05-09 12:09:30 <jrmithdobbs> wumpus: i'm actually curious about the use case here
360 2012-05-09 12:09:47 <jrmithdobbs> was an honest question, i can't think of how it'd be useful
361 2012-05-09 12:09:47 <wumpus> otherwise you always need the ui to test with multiple wallets
362 2012-05-09 12:11:28 <wumpus> I guess it could also be useful for a site that maintains different wallets for different users / purposes, or has read-only wallets to read the current status for some other wallet, etc...
363 2012-05-09 12:11:42 <gmaxwell> jrmithdobbs: anonymity related.
364 2012-05-09 12:12:08 <wumpus> gmaxwell: yes
365 2012-05-09 12:12:32 <jrmithdobbs> gmaxwell: that's a poor hack around coin selection determinism for that, imho
366 2012-05-09 12:12:48 <jrmithdobbs> gmaxwell: or maybe s/determinism/specificity/ or both, w/e it's early
367 2012-05-09 12:13:09 <wumpus> jrmithdobbs: no, it's the ideal, non-leaky abstraction for that
368 2012-05-09 12:13:14 <gmaxwell> jrmithdobbs: the UI for users keeping their coins seperate is insoluably hard. The advice will always be that if you want to keep accounts unlinked, keep them in seperate wallets.
369 2012-05-09 12:13:20 <gmaxwell> what wumpus said.
370 2012-05-09 12:13:41 <gmaxwell> I'm a fan of things like coin control and automatic linking avoidance. ... but none of that replaces true isolation.
371 2012-05-09 12:16:40 <jrmithdobbs> gmaxwell: good enough answer i suppose, i'm completely indifferent to the topic of anonyminity so hadn't thought about that
372 2012-05-09 12:16:51 <jrmithdobbs> (well, re: bitcoin txns, anyways)
373 2012-05-09 12:17:02 <sipa> anonimity and privacy are not the same thing
374 2012-05-09 12:17:51 <gmaxwell> I do think multiple wallets is a little more towards anonymity than privacy, but I guess that depends on how good widely used snoopy tools like blockchain.info become.
375 2012-05-09 12:18:57 <gmaxwell> (and I see things like automatic linking avoidance in coin selection to be more of a privacy thing)
376 2012-05-09 12:19:12 <jrmithdobbs> i'm also not so sure the UI is an unsolvable problem, maybe for all use cases, but i think coin selection on sends and some simple stuff that'd help with it could be done well
377 2012-05-09 12:20:06 <gmaxwell> jrmithdobbs: sure, but it's just pretty easy to screw up something like manual coin selection... it extra work that users will get bored with and lose vigilance with.
378 2012-05-09 12:20:17 <wumpus> gmaxwell: right
379 2012-05-09 12:21:29 <gmaxwell> (I like offering it though it fosters deeper understanding of bitcoin in the tech crowd... and does allow you to improve your privacy, I just don't consider it a solution)
380 2012-05-09 12:22:04 <jrmithdobbs> gmaxwell: I think if you aim for 100% fine grained control of the selection process, you're right
381 2012-05-09 12:22:13 <sipa> gmaxwell: exactly, i see coin selection more as educational than useful to beginning-advanced users
382 2012-05-09 12:23:25 <gmaxwell> also, should you decide you really want input control ... you're currently forced into dangerous stunts like hacking your wallet with the python tools... or exporting private keys and using them in web wallets.
383 2012-05-09 12:23:56 <jrmithdobbs> gmaxwell: but say on the send dialog you just add, effectively, a viewing pane to contain a list and an add button, the viewer adds the "groups" as you add them with the add button which should pop up a selector that lists all unspent coins ... then the coin selection process only works within the given txns
384 2012-05-09 12:24:04 <wumpus> there's no denying that it's useful to some users, and some usecases, but for most people having multiple isolated stashes of coins is simple and good enough... if you can do that with only one instance, and blockchain, the better
385 2012-05-09 12:24:13 <jrmithdobbs> gmaxwell: then it's a minor change logic-wise
386 2012-05-09 12:24:26 <gmaxwell> jrmithdobbs: have you seen the coincontrol patches?
387 2012-05-09 12:24:37 <jrmithdobbs> gmaxwell: no
388 2012-05-09 12:25:21 <gmaxwell> In any case, I'd like to pull them during 0.7.0 though they'll need rebasing and a big testing effort... was sort of waiting until after the testnet reset goes in to even think about that.
389 2012-05-09 12:25:38 <sipa> hmm, pre-reading the old blk0001.dat file into ram surely speeds up loadblock... 1 minute for 86k blocks
390 2012-05-09 12:26:02 <gmaxwell> sipa: hm, OS readahead should be doing something smart there...
391 2012-05-09 12:26:10 <drizztbsd> sipa: you need ~2gb / ram
392 2012-05-09 12:26:12 <drizztbsd> :P
393 2012-05-09 12:26:33 <sipa> drizztbsd: that'd be 0.25 here
394 2012-05-09 12:26:47 <jrmithdobbs> drizztbsd: it's 2012, the crap "nettop" thing i grabbed to play with a couple months ago has 4GB ;p
395 2012-05-09 12:26:47 <sipa> (assuming / means division)
396 2012-05-09 12:26:59 <drizztbsd> blk0001.dat is 1.3GB
397 2012-05-09 12:27:22 <drizztbsd> jrmithdobbs: many people still uses 32 bit windows, with a limit of 3gb / application
398 2012-05-09 12:27:25 <sipa> drizztbsd: yes, and i have 8 GiB
399 2012-05-09 12:27:38 <sipa> also, i'm just talking about OS cache, not a ramdrive or anything
400 2012-05-09 12:27:39 <wumpus> that's no reason to waste that much ram though :p I suppose you could read ahead less than the full file and still have the full speed gain
401 2012-05-09 12:27:41 <gmaxwell> drizztbsd: good thing thats totally irrelevant.
402 2012-05-09 12:27:57 <jrmithdobbs> drizztbsd: many people are going to start having to upgrade their hardware 10 years after they should have thanks to ms dragging their feet on their 64bit integration stuff, finally
403 2012-05-09 12:28:04 <drizztbsd> (and PAE it's not really supported in 32bit xp)
404 2012-05-09 12:28:22 <gmaxwell> hm. has someone been dos attacking bitcoin and we didn't notice? last month has had a higher chain growth rate by a fair amount.
405 2012-05-09 12:28:22 <jrmithdobbs> drizztbsd: wah ancient hardware on old software can't run new software, news at 11
406 2012-05-09 12:28:35 <sipa> gmaxwell: satoshidice?
407 2012-05-09 12:28:41 <drizztbsd> many pre-installed (OEM) laptops come with 32bit Windows 7
408 2012-05-09 12:29:22 <gmaxwell> hm. it's probably past time to do some testing on the 0001->0002 change.
409 2012-05-09 12:29:36 <jrmithdobbs> ?
410 2012-05-09 12:29:46 <sipa> gmaxwell: 1.9 GiB ought to be enough for everyone ;)
411 2012-05-09 12:29:52 <jrmithdobbs> oh, blk000?
412 2012-05-09 12:29:56 <sipa> yeah
413 2012-05-09 12:29:57 <gmaxwell> jrmithdobbs: there will be a blk0002.dat file.. yea..
414 2012-05-09 12:30:06 <drizztbsd> gmaxwell: bdb only supports 2GB/file?
415 2012-05-09 12:30:06 <gmaxwell> at just shy of 2gb.
416 2012-05-09 12:30:19 <gmaxwell> drizztbsd: ... there is no BDB involved there.
417 2012-05-09 12:30:27 <drizztbsd> and what is involved?
418 2012-05-09 12:30:28 <jrmithdobbs> drizztbsd: no, there's code to split the blockchain into 2G files
419 2012-05-09 12:30:40 <drizztbsd> what is the reason?
420 2012-05-09 12:30:40 <gmaxwell> drizztbsd: filesystems without support for files larger than 2g.
421 2012-05-09 12:30:40 <jrmithdobbs> blockchain isn't stored in bdb
422 2012-05-09 12:30:50 <sipa> satoshi developed on windows :)
423 2012-05-09 12:30:51 <drizztbsd> oh fat32 :)
424 2012-05-09 12:30:55 <jrmithdobbs> drizztbsd: so that it will be loadable on 32bit systems
425 2012-05-09 12:31:03 <jrmithdobbs> because what sipa said ya
426 2012-05-09 12:31:13 <luke-jr> fat32 supports 4 GB :p
427 2012-05-09 12:31:25 <drizztbsd> uhm right
428 2012-05-09 12:31:42 <drizztbsd> LFS?
429 2012-05-09 12:31:44 <jrmithdobbs> actually, rest of the code breaks horribley if the file gets over 2G right now on 32bit linux etc too not just win
430 2012-05-09 12:31:55 <jrmithdobbs> as i found out with the >2G log files on a 32bit linux host
431 2012-05-09 12:31:55 <sipa> // FAT32 filesize max 4GB, fseek and ftell max 2GB, so we must stay under 2GB
432 2012-05-09 12:31:56 <gmaxwell> luke-jr: fine, fat16.
433 2012-05-09 12:32:04 <sipa> is the comment in the source file
434 2012-05-09 12:32:41 <drizztbsd> the problem is that we don't use large file supports :P
435 2012-05-09 12:32:57 <sipa> sometimes i'm surprised about the code; some parts clearly are written with future growth in mind (like this), while others make me think this was really just a prototype implementation
436 2012-05-09 12:33:02 <drizztbsd> or maybe windows does not support it
437 2012-05-09 12:33:05 <gmaxwell> There is no problem.
438 2012-05-09 12:33:17 <gmaxwell> Splitting the files is a perfectly reasonable thing to do.
439 2012-05-09 12:33:36 <gmaxwell> God knows fseek in very large files is probably slow on some file systems in any case.
440 2012-05-09 12:33:44 <gribble> 2130706432
441 2012-05-09 12:33:44 <sipa> ;;calc 0x7F000000
442 2012-05-09 12:33:50 <sipa> 2.13 GB
443 2012-05-09 12:33:58 <sipa> ;;calc 0x7F000000 / 2**32
444 2012-05-09 12:33:59 <gribble> 0.49609375
445 2012-05-09 12:34:05 <sipa> eh?
446 2012-05-09 12:34:14 <sipa> oh
447 2012-05-09 12:34:16 <gribble> 1.984375
448 2012-05-09 12:34:16 <sipa> ;;calc 0x7F000000 / 2**30
449 2012-05-09 12:57:37 <drizztbsd> is anyone using bitvps?
450 2012-05-09 13:00:29 <anonyminer> how are you doing?
451 2012-05-09 13:01:16 <anonyminer> I am having a Huge Problem with the new updates for bitcoin ever since the wallet has been updated I have been getting a WARNING
452 2012-05-09 13:01:35 <drizztbsd> which warning?
453 2012-05-09 13:01:51 <anonyminer> WARNING: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.
454 2012-05-09 13:01:57 <anonyminer> Please help me fix this
455 2012-05-09 13:02:02 <sipa> how many blocks do you have already?
456 2012-05-09 13:02:12 <anonyminer> I lost all my bitcoins
457 2012-05-09 13:02:23 <sipa> you did no lose anything unless you deleted you wallet.dat
458 2012-05-09 13:02:28 <anonyminer> 121176
459 2012-05-09 13:02:34 <sipa> is that number increasing?
460 2012-05-09 13:03:00 <anonyminer> I accidently deleted my new wallet.dat... I still have a backup of my wallet.dat
461 2012-05-09 13:03:04 <anonyminer> NO
462 2012-05-09 13:03:10 <anonyminer> its Frozen
463 2012-05-09 13:03:11 <sipa> how long has it been that way?
464 2012-05-09 13:03:15 <anonyminer> and this error came up
465 2012-05-09 13:03:43 <anonyminer> It keeps doing this even on the old version I had before. 0.6.0
466 2012-05-09 13:03:57 <anonyminer> I went back to 0.6.0 and its still the same error
467 2012-05-09 13:04:03 <sipa> can you tell me how long it has been frozen
468 2012-05-09 13:04:16 <anonyminer> I want to use the new version but it won't work :(
469 2012-05-09 13:04:18 <drizztbsd> debug.log can be useful
470 2012-05-09 13:04:41 <sipa> anonyminer: and complaining won't help; if you answer my question, we can help
471 2012-05-09 13:05:25 <anonyminer> Ok I answered your question this keeps freezing everytime it gets to this point :(
472 2012-05-09 13:05:39 <sipa> you didn't answer my question :)
473 2012-05-09 13:05:45 <anonyminer> Yes I did
474 2012-05-09 13:05:56 <sipa> i asked how long it has been frozen
475 2012-05-09 13:06:06 <gmaxwell> ;;bc,tslb
476 2012-05-09 13:06:07 <gribble> Time since last block: 21 minutes and 16 seconds
477 2012-05-09 13:06:11 <anonyminer> It just froze before I went into chat with you guys.... But this is not the first time this happened
478 2012-05-09 13:06:20 <twmz_> "how long" has an answer in units of seconds, minutes, hours, days, etc...
479 2012-05-09 13:06:37 <sipa> anonyminer: i know it is not the first time, but that's not what i'd like to know
480 2012-05-09 13:06:40 <anonyminer> 5 minutes ago
481 2012-05-09 13:06:46 <anonyminer> but this is not the first time :(
482 2012-05-09 13:06:50 <sipa> ok, just wait
483 2012-05-09 13:06:53 <sipa> and keep the client open
484 2012-05-09 13:07:05 <drizztbsd> 5 minutes is not so much time
485 2012-05-09 13:07:17 <sipa> if it stalls for an hour, you may have a problem
486 2012-05-09 13:07:37 <anonyminer> common guys I have left it on over night and it still says this... I restarted it and this is where it freezes
487 2012-05-09 13:07:53 <sipa> ah, that's something else
488 2012-05-09 13:08:27 <gmaxwell> anonyminer: I dont understand that sequence of events. Why did you restart it?
489 2012-05-09 13:09:17 <anonyminer> Please someone actually try to help me... I lost 0.99 bitcoins its not a big deal its just weird that this glitch is not being taken care of... you guys keep saying its on my end.. I know for a fact its not my end... I turned my computer on 3 days ago to find that this error was showing in my BitCoin Client
490 2012-05-09 13:09:19 <anonyminer> WARNING: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.
491 2012-05-09 13:09:40 <gmaxwell> We can't help you if you evade every question we ask.
492 2012-05-09 13:09:49 <anonyminer> I restarted it because it was still frozen gmaxwell
493 2012-05-09 13:10:01 <anonyminer> it froze hours ago
494 2012-05-09 13:10:23 <anonyminer> and this is 5th time I have got this error message both on the old version
495 2012-05-09 13:10:29 <anonyminer> and on the new 0.6.2
496 2012-05-09 13:10:41 <gmaxwell> How did you know it was frozen?
497 2012-05-09 13:11:05 <gmaxwell> Are you connecting via a proxy or using the -connect option?
498 2012-05-09 13:11:19 <anonyminer> I wrote down the number of blocks... No Proxy
499 2012-05-09 13:11:44 <anonyminer> when it gets to 121176 it freezes and this error comes up WARNING: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.
500 2012-05-09 13:11:55 <gmaxwell> What do you mean by "when it gets to 121176" ?
501 2012-05-09 13:11:59 <anonyminer> the progress bar vanishes at this time
502 2012-05-09 13:12:11 <anonyminer> when the number of downloaded Blocks
503 2012-05-09 13:12:25 <gmaxwell> Are you continually deleting your blockchain?
504 2012-05-09 13:13:36 <anonyminer> No
505 2012-05-09 13:13:51 <anonyminer> I just deleted it yesterday when the error came up WARNING: Displayed transactions may not be correct! You may need to upgrade, or other nodes may need to upgrade.
506 2012-05-09 13:14:25 <anonyminer> Common please simply explain what this means and maybe I can understand this better... it says nodes may need to upgrade
507 2012-05-09 13:14:45 <anonyminer> does this mean that people need to upgrade to version 0.6.2 or what?
508 2012-05-09 13:14:47 <sipa> anonyminer: it means it detected an invalid chain of blocks that is longer than your bes block
509 2012-05-09 13:14:58 <gmaxwell> So after you deleted it yesturday what happened?
510 2012-05-09 13:15:06 <anonyminer> I Started over
511 2012-05-09 13:15:22 <sipa> so you quit the client, and deleted... what exactly?
512 2012-05-09 13:15:28 <anonyminer> My Computer Hard Drive Malfuctioned yesterday and thank god for flash drives
513 2012-05-09 13:15:54 <sipa> if you have a flaky hard drive, i'm sure you'll get errors
514 2012-05-09 13:16:07 <anonyminer> I deleted everything except wallet.dat because my pc screwed up... but this error was coming up before my pc screwed up
515 2012-05-09 13:16:57 <sipa> hard drives don't always die suddenly, there may be silect corruptions for a while before
516 2012-05-09 13:17:02 <anonyminer> Cathing up... Downloaded 121176 of 179440 blocks of transaction history Last Recieved Block was Generated 374 Days Ago
517 2012-05-09 13:17:06 <gmaxwell> anonyminer: if your hard drive is failing then you may see random errors like this. You should back up your important data right away and get your hard drive replaced.
518 2012-05-09 13:17:21 <anonyminer> This is what comes up when I mouseover my bitcoin client
519 2012-05-09 13:17:24 <sipa> and since bitcoin writes and reads a lot of data, it may make existting errors much more visible
520 2012-05-09 13:17:42 <drizztbsd> you can try to do a pass with a SMART analyzer
521 2012-05-09 13:17:43 <gribble> New news from bitcoinrss: laanwj opened pull request 1243 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1243>
522 2012-05-09 13:17:54 <anonyminer> My Hard drive is fixed common guys this happened before my hard drive has issues stop blaming it on my pc
523 2012-05-09 13:18:07 <sipa> did you replace it?
524 2012-05-09 13:18:11 <anonyminer> I know for a fact its a error or glitch
525 2012-05-09 13:18:16 <anonyminer> in bitcoin
526 2012-05-09 13:18:30 <gmaxwell> Since you know this, why are you talking to us?
527 2012-05-09 13:18:55 <sipa> if your hard drive already had glitches, and you didn't replace it, it's sure still to be flaky
528 2012-05-09 13:19:26 <gmaxwell> Bitcoin depends on the hard drive being completely reliable, it if misbehaves the client will surely fail or get stuck.
529 2012-05-09 13:19:35 <gmaxwell> (in exactly the way that yours is)
530 2012-05-09 13:19:39 <sipa> if bitcoin read corrupted block data from your disk, some incoming blocks may fail to validate
531 2012-05-09 13:19:42 <anonyminer> Because your one brain... not everyone in this room is going to think the same... Gavin said something out rebuilding the DB
532 2012-05-09 13:19:43 <Eliel> sipa: unless it was just a software glitch anyway, most people can't tell the difference.
533 2012-05-09 13:20:16 <gmaxwell> anonyminer: you erased everything. It didn't recover.
534 2012-05-09 13:20:40 <gmaxwell> This is strongly suggestive that there is nothing wrong with bitcoin. (since it starts up fresh okay for everyone else)
535 2012-05-09 13:20:47 <anonyminer> I have the Wallet.dat on a flash drive from a backup... Now I want to bring that backup back how do i do it
536 2012-05-09 13:21:14 <gmaxwell> you copy the file into the appdata directory but since your client is not working and is not current it doesn't matter.
537 2012-05-09 13:21:53 <Eliel> anonyminer: my suggestion would be to erase everything related to bitcoin from the hard drive, then reinstall newest bitcoin, let it sync up. If it gets that far, then shut it down and copy the wallet backup to the system.
538 2012-05-09 13:22:08 <sipa> Eliel: he already did that
539 2012-05-09 13:22:13 <Eliel> anonyminer: even better if you could do it on another system.
540 2012-05-09 13:22:16 <sipa> and he already experienced disk errors
541 2012-05-09 13:22:19 <anonyminer> I don't have the current client... I tried the current client and I get the same error at exactly the same block number downloaded 121176
542 2012-05-09 13:22:25 <gmaxwell> sipa: maybe.
543 2012-05-09 13:22:45 <sipa> the fact that it is exactly the same block is strange
544 2012-05-09 13:23:10 <anonyminer> Ok Let me try what Eliel has suggested that is a great suggestion...
545 2012-05-09 13:23:32 <sipa> anonyminer: you already tried deleting the block chain, no?
546 2012-05-09 13:23:39 <gmaxwell> anonyminer: search your whole computer for blk0001.dat files just to make sure you're deleting the right thing.
547 2012-05-09 13:24:04 <Eliel> anonyminer: because, since this error keeps repeating, it leads me to believe there is something on the system you didn't delete that relates to this.
548 2012-05-09 13:24:17 <sipa> also delete blkindex.dat, and files whose name starts with __ in the same directory, and the database subdirectory of it
549 2012-05-09 13:24:19 <anonyminer> @sipa ya see what I mean its very weird it has been exactly the same block number like this everytime even when I removed everything from my Partition that had Bitcoin files in it :(
550 2012-05-09 13:25:05 <gmaxwell> anonyminer: Is it possible that you had two copies and they are really being stored someplace else?
551 2012-05-09 13:26:15 <anonyminer> can't I just download blkindex.dat from someone who has it fully updated :)
552 2012-05-09 13:26:26 <anonyminer> that might work no??
553 2012-05-09 13:26:36 <sipa> if your hardware is flaky, that is likely to cause the exact same problem
554 2012-05-09 13:26:39 <anonyminer> No I don't have two copies
555 2012-05-09 13:27:20 <gmaxwell> If you're unable to fully sync it on your own then it will just fail agin.
556 2012-05-09 13:27:24 <gmaxwell> again*
557 2012-05-09 13:27:53 <anonyminer> Ok Deleted Everything Related to BITCOIN and have backed up the wallet.dat in the seperate place... Starting the Block Download again
558 2012-05-09 13:28:00 <anonyminer> ITs at 8% now
559 2012-05-09 13:28:18 <sipa> which OS is this, by the way?
560 2012-05-09 13:28:26 <anonyminer> Lets see when that error comes up again it will be exactly the same block number if it does
561 2012-05-09 13:28:30 <anonyminer> Windows 7
562 2012-05-09 13:29:25 <gmaxwell> 1557 connections on one of my local nodes' logs today no nodes at height 121175-121177.
563 2012-05-09 13:29:56 <sipa> hmm, i should put that information in seeds.txt as well
564 2012-05-09 13:30:13 <Eliel> by the way, I wonder if the main client should have the feature to clean out all data files (perhaps excluding wallet.dat) to make it easier to recover from errors?
565 2012-05-09 13:31:42 <luke-jr> &
566 2012-05-09 13:31:56 <luke-jr> then I'd have to do it
567 2012-05-09 13:32:00 <gmaxwell> Eliel: users who are more in need of xanax than tech support may over eagerly hit the button and frustrate themselves.
568 2012-05-09 13:32:46 <sipa> luke-jr: i know the information is almost-public anyway, but it's just such an easy way for finding vulnerable nodes if an attack was found
569 2012-05-09 13:36:24 <anonyminer> 51%
570 2012-05-09 13:36:47 <wumpus> Eliel: hah, at least you thought of excluding wallet.dat, otherwise it's a recipe for total disaster
571 2012-05-09 13:39:21 <Eliel> wumpus: naturally :)
572 2012-05-09 13:40:55 <gmaxwell> I guess having a function would make it less likely that the user would delete the wallet.dat in the process.. or delete things without a clean shutdown.
573 2012-05-09 13:46:03 <wumpus> I guess so... though most of the problems with the transient state (like a corrupted addr.dat) shouldn't even cause a fatal error, but simple a re-seeding
574 2012-05-09 13:46:10 <luke-jr> hmm, blocks aren't checked that their transactions are valid until after writing to disk etc? :/
575 2012-05-09 13:47:07 <sipa> luke-jr: double spending and signatures are only verified afterwards
576 2012-05-09 13:47:15 <wumpus> if the block chain is corrupted, fine, just re-download it
577 2012-05-09 13:47:37 <wumpus> unless the wallet is corrupted, it doesn't need the user in the loop at all
578 2012-05-09 13:47:52 <gmaxwell> wumpus: though corruption in things which should never become corrupt may be indicating a more serious error.
579 2012-05-09 13:48:11 <Eliel> wumpus: doesn't the structure of the blockchain allow for only redownloading damaged parts a lot of the time?
580 2012-05-09 13:48:20 <wumpus> yes it might, but it might also be simply an unclean shutdown or power failure
581 2012-05-09 13:48:23 <luke-jr> sipa: would be nice, if I could check the basic validity of a block in CreateNewBlock XD
582 2012-05-09 13:49:46 <wumpus> Eliel: I suppose so, but that's also more bug-prone than simply starting over with a fresh slate
583 2012-05-09 13:50:12 <sipa> Eliel: you'd at least need a way to prune the invalid parts
584 2012-05-09 13:50:16 <sipa> which we don't have right now
585 2012-05-09 13:51:28 <sipa> Eliel: actually, they are
586 2012-05-09 13:51:31 <wumpus> for the block log files you could just truncate at the place it starts to go awry I guess
587 2012-05-09 13:52:02 <sipa> wumpus: blk0001.dat + blkindex.dat define a tree structure; if some part is invalid, you need to prune an entire branch
588 2012-05-09 13:52:13 <sipa> but that branch may be intermingled with other branches
589 2012-05-09 13:53:18 <gmaxwell> the blk0001.. sure.. but then you still have to rebuild the indexes entirely.
590 2012-05-09 13:53:36 <wumpus> it saves part of the download, not the rebuilding
591 2012-05-09 13:54:06 <sipa> rebuild probably takes longer than redownload, if done completely separately
592 2012-05-09 13:54:12 <wumpus> then again, as I said, I prefer starting with a blank slate
593 2012-05-09 13:54:30 <gmaxwell> well.. saving some bandwidth is nice.
594 2012-05-09 13:54:47 <sipa> gmaxwell: have you tried BlueMatt's parallelcheck branch? it doesn't seem to use the parallellism for loadblocks, though
595 2012-05-09 13:55:19 <gmaxwell> (we have users on satellite links and such a full sync is a nontrivial burden for them)
596 2012-05-09 13:55:21 <wumpus> corruption should be a rare thing, better spend the time at making the wallet better-protected against disasters
597 2012-05-09 13:55:28 <wumpus> than recovering faster...
598 2012-05-09 13:55:29 <gmaxwell> sipa: I tried a really early version that didn't do much.
599 2012-05-09 13:55:58 <gmaxwell> wumpus: agreed there, and we have loadblocks which can be used to save the bandwidth.
600 2012-05-09 13:56:11 <wumpus> users on sattelite links should ideally be using lightweight clients
601 2012-05-09 13:56:36 <wumpus> yep
602 2012-05-09 13:56:39 <gmaxwell> wumpus: there is a fairly sizable miner on one for example.
603 2012-05-09 13:56:50 <gmaxwell> well. for some definition of fairly.
604 2012-05-09 13:57:20 <wumpus> yes that's why I said ideally... there's reasons not to at the moment
605 2012-05-09 13:59:08 <jgarzik> sipa: (scrolling back) you were talking about putting block height into seeds.txt? why not just exclude nodes from the list, that are not up-to-date...
606 2012-05-09 13:59:19 <jgarzik> unless I misunderstood the conversation
607 2012-05-09 13:59:36 <jgarzik> until dynamic gadgetry is up and running
608 2012-05-09 14:00:49 <sipa> ;;later tell BlueMatt in parallelcheck, i tried using ->EmitBlock(block,false) in LoadExternalBlockFile, but that either deadlocks or segfaults
609 2012-05-09 14:00:50 <gribble> The operation succeeded.
610 2012-05-09 14:06:36 <sipa> jgarzik: for some purposes, knowing nodes with few blocks is more interesting
611 2012-05-09 14:08:37 <gmaxwell> For seeding purposes you don't need to know it but if the seed collector can gather some network health data as a side effect then thats great.
612 2012-05-09 14:11:03 <luke-jr> wow
613 2012-05-09 14:11:26 <luke-jr> just found a pretty ugly bug in getmemorypool/getwork
614 2012-05-09 14:11:39 <luke-jr> things have to be pretty broken already to hit it, though
615 2012-05-09 14:12:02 <luke-jr> if CreateNewBlock fails for any reason, the next call skips it and dereferences the null pointer
616 2012-05-09 14:15:03 <gmaxwell> oh well, at least that will crash cleanly.
617 2012-05-09 14:17:49 <luke-jr> gmaxwell: if CreateNewBlock can throw an exception (I don't see how it can, right now), you could get a deleted pointer instead
618 2012-05-09 14:23:48 <luke-jr> well this is silly. CreateNewBlock builds the merkle root, but it's never used without changing it :P
619 2012-05-09 14:28:52 <gribble> New news from bitcoinrss: laanwj opened issue 1244 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/issues/1244>
620 2012-05-09 14:30:36 <sipa> ok, seeds.txt now contains last seen number of blocks as well
621 2012-05-09 14:30:50 <sipa> just the value from the version message though, no verification
622 2012-05-09 14:50:01 <anonyminer> Hi
623 2012-05-09 14:57:24 <twmz_> sipa: my OS X machine is now as setup as I can do via ssh. I just need to install the QT Creator piece when I get home. Let me know if there is a possible fix you want me to try for the cpu busy issue.
624 2012-05-09 15:00:20 <Diapolo> hi guys
625 2012-05-09 15:00:54 <Diapolo> wumpus: Have you got an idea how long it takes for Transifex to fetch the new master file?
626 2012-05-09 15:03:29 <anonyminer> Hi
627 2012-05-09 15:03:39 <anonyminer> I am still having issues and they are getting more serious
628 2012-05-09 15:04:31 <anonyminer> I removed everything and backed up wallet.dat... Downloaded a Fresh Copy of the Current Blockchain and I am getting the error I got before I formatted my PC the other day
629 2012-05-09 15:05:14 <anonyminer> EXCEPTION: 11DbException Db::get: Not enough space C:Program Files (x86)Bitcoinitcoin-qt.exe in Runaway exception EnvShutdown exception: DbEnv::close: Invalid argument (22)
630 2012-05-09 15:05:50 <anonyminer> I know I have more than enough space on my Hard Drive it has 90 GB FREE
631 2012-05-09 15:07:52 <Diapolo> What filesystem are you using? Have you correct file permissions?
632 2012-05-09 15:10:49 <sipa> twmz_: in util.h there is a macro called WAIT, with a while loop inside; can you put a "Sleep(1);" inside the loop body?
633 2012-05-09 15:11:30 <jgarzik> anonyminer: something else is going on, since others are not reporting this same issue. Is this Windows XP? Vista? 7?
634 2012-05-09 15:13:58 <Diapolo> sipa: to not consume too much CPU-Cycles? good idea
635 2012-05-09 15:14:49 <gribble> New news from bitcoinrss: luke-jr opened pull request 1245 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1245>
636 2012-05-09 15:14:59 <drizztbsd> Sleep(0) also works under windows
637 2012-05-09 15:15:05 <drizztbsd> classic yield
638 2012-05-09 15:18:38 <sipa> Diapolo: it does not use any cpu cycles, except on OSX, it seem
639 2012-05-09 15:19:19 <Diapolo> sipa: but an endless loop normaly does this, even on Windows
640 2012-05-09 15:24:42 <sipa> Diapolo: there is a condition variable wait inside that body too, which normally causes a sleep until the condition is satisfied
641 2012-05-09 15:24:55 <wumpus> Diapolo: it waits on a condition, so normally it only reaches the while() when the thread is waken up
642 2012-05-09 15:24:58 <sipa> but this doesnt seem to work on osx
643 2012-05-09 15:25:01 <wumpus> right
644 2012-05-09 15:25:14 <wumpus> Diapolo: I have no idea about transifex btw
645 2012-05-09 15:26:00 <sipa> can someone ask gavin about the condition wait? i have to go
646 2012-05-09 15:26:39 <Diapolo> wumpus: I was a bit worried, because the merge was quite a few hours ago.
647 2012-05-09 15:29:59 <gribble> New news from bitcoinrss: luke-jr opened pull request 1246 on bitcoin/bitcoin <https://github.com/bitcoin/bitcoin/pull/1246>
648 2012-05-09 15:37:36 <gavinandresen> sipa: I'll ask.
649 2012-05-09 15:48:58 <twmz_> sipa: yes, I will try that tonight
650 2012-05-09 15:49:32 <sipa> gavinandresen: people report 100% cpu usage on osx with 0.6.1+, reason is the condition variable wait in WAIT seems to be a noop sometimes; can you confirm the bug and test whether adding a Sleep(1); inside helps
651 2012-05-09 15:50:56 <gavinandresen> sure.... let me fix the typo in makefile.osx that just tripped me up...
652 2012-05-09 15:51:21 <drizztbsd> why does bitcoind need -ldl?
653 2012-05-09 15:52:33 <gavinandresen> hmmm, and the error in util.cpp: util.cpp:822: error: filesystem has not been declared
654 2012-05-09 15:54:44 <gavinandresen> drizztbsd: where to you see -ldl ?
655 2012-05-09 15:54:52 <Diapolo> gavinandresen: Which line?
656 2012-05-09 15:54:54 <drizztbsd> makefile.unix
657 2012-05-09 15:55:10 <drizztbsd> I'm asking that because on *bsd I always have to delete that line
658 2012-05-09 15:55:22 <drizztbsd> (bsd doesn't have -ldl)
659 2012-05-09 15:55:22 <gavinandresen> I don't see it in git HEAD makefile.unix
660 2012-05-09 15:55:34 <drizztbsd> it's -l dl
661 2012-05-09 15:55:39 <drizztbsd> but it's the same
662 2012-05-09 15:55:41 <drizztbsd> :P
663 2012-05-09 15:55:46 <drizztbsd> (space)
664 2012-05-09 15:55:47 <Diapolo> LOL forget my question ^^
665 2012-05-09 15:56:59 <Diapolo> gavinandresen: just add boost:: in front of filesystem this should fix it
666 2012-05-09 15:57:23 <gavinandresen> i changed the filesytem:: to fs:: (and just committed the fixes)
667 2012-05-09 15:57:29 <Diapolo> alright
668 2012-05-09 15:58:52 <gavinandresen> drizztbsd: i don't know what libdl is. Probably openssl or bdb or boost or miniupnp needs it on Linux
669 2012-05-09 16:00:44 <wumpus> libdl is the dynamic linker (provides dlopen and such), no idea who needs it though
670 2012-05-09 16:01:03 <luke-jr> gavinandresen: you only specify it if the program you are linking needs it
671 2012-05-09 16:01:12 <luke-jr> gavinandresen: libraries have their own deps&
672 2012-05-09 16:01:35 <drizztbsd> gavinandresen: it compiles under linux without that line (archlinux)
673 2012-05-09 16:01:46 <drizztbsd> g++ -O2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -g -I/home/drizzt/dev/sources/bitcoin/src -I/home/drizzt/dev/sources/bitcoin/src/obj -DUSE_UPNP=0 -DHAVE_BUILD_INFO -fno-stack-protector -fstack-protector-all -Wstack-protector -Wl,-z,relro -Wl,-z,now -D_FORTIFY_SOURCE=2 -o bitcoind obj/version.o obj/checkpoints.o obj/netbase.o obj/addrman.o obj/crypter.o obj/key.o obj/db.o obj/init.o obj/irc.o obj/
674 2012-05-09 16:01:48 <drizztbsd> keystore.o obj/main.o obj/net.o obj/protocol.o obj/bitcoinrpc.o obj/rpcdump.o obj/script.o obj/util.o obj/wallet.o obj/walletdb.o obj/noui.o -Wl,-Bdynamic -l boost_system -l boost_filesystem -l boost_program_options -l boost_thread -l db_cxx -l ssl -l crypto -l miniupnpc -Wl,-Bdynamic -l z -l pthread
675 2012-05-09 16:03:18 <denisx> sipa: I just wanted to ask if you did something about the 100% problem. nice to see you are on it
676 2012-05-09 16:06:14 <wumpus> hmm I remember this -ldl was added for a reason
677 2012-05-09 16:06:48 <drizztbsd> wumpus: maybe that reason is gone
678 2012-05-09 16:06:57 <drizztbsd> by the way I need to go
679 2012-05-09 16:06:59 <drizztbsd> bye
680 2012-05-09 16:07:53 <wumpus> I wouldn't just assume that
681 2012-05-09 16:11:35 <wumpus> though it appears that bitcoin-qt.pro doesn't include it
682 2012-05-09 16:17:54 <wumpus> the dynamic (default) compiles, links and works fine without it on ubuntu 12.04 without the -l z and -l dl
683 2012-05-09 16:17:59 <wumpus> however, the static build needs it
684 2012-05-09 16:19:00 <wumpus> (seems - crypto)
685 2012-05-09 16:19:17 <wumpus> libcrypto uses both of them, and when linking statically they need to be linked explicitly
686 2012-05-09 16:21:07 <wumpus> they could be put in the STATIC condition
687 2012-05-09 17:14:46 <luke-jr> ;;bc,blocks
688 2012-05-09 17:14:47 <gribble> 179467
689 2012-05-09 17:34:48 <gavinandresen> sipa: Sleep(1) in the WAIT macro fixes the 100% cpu issue on my Mac.
690 2012-05-09 17:40:07 <jgarzik> sipa gavinandresen: seems more appropriate to use a semaphore, initialized to the desired number of outbound connections?
691 2012-05-09 17:41:17 <sipa> gavinandresen: and Sleep(0) ?
692 2012-05-09 17:41:34 <gavinandresen> sipa: one sec, I'll recompile and try Sleep(0)
693 2012-05-09 17:41:39 <sipa> jgarzik: true
694 2012-05-09 17:42:36 <gavinandresen> jgarzik: the whole fShutdown thing is broken... I started doing some work to port to boost::thread, the right answer would be to interrupt the IO threads using the boost::threads method
695 2012-05-09 17:43:38 <jgarzik> gavinandresen: or thread->yield()
696 2012-05-09 17:43:49 <jgarzik> gavinandresen: agree we fShutdown
697 2012-05-09 17:43:54 <jgarzik> *agreed re
698 2012-05-09 17:47:59 <gavinandresen> by the way... I'm getting new warnings compiling git HEAD: https://gist.github.com/2648314
699 2012-05-09 17:48:25 <gavinandresen> compiler is: i686-apple-darwin10-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.6)
700 2012-05-09 17:48:52 <gavinandresen> sipa: Sleep(0) is also happy.
701 2012-05-09 17:49:48 <gavinandresen> (well, seems to use about 1% CPU)
702 2012-05-09 17:53:42 <sipa> gavinandresen: ok, so we just need something to yield the thread
703 2012-05-09 17:56:02 <luke-jr> at least on sipa's seeds.txt
704 2012-05-09 17:56:22 <luke-jr> surprised there's no BitcoinJ or such
705 2012-05-09 17:57:24 <sipa> luke-jr: it ignores nodes without the full node service
706 2012-05-09 17:57:31 <luke-jr> ah
707 2012-05-09 17:59:11 <luke-jr> sipa: is there any reason -loadblock can't run after the wallet is loaded? <.<
708 2012-05-09 17:59:54 <luke-jr> to avoid rescanning perhaps
709 2012-05-09 18:00:49 <BlueMatt> you want to rescan, though...
710 2012-05-09 18:01:06 <luke-jr> BlueMatt: better to just scan as it loads the blocks?
711 2012-05-09 18:01:30 <BlueMatt> it would be the same, would it not?
712 2012-05-09 18:01:51 <BlueMatt> aside from disk reads, but that would be cached
713 2012-05-09 18:01:53 <luke-jr> doubt it
714 2012-05-09 18:01:59 <luke-jr> for both
715 2012-05-09 18:02:11 <luke-jr> most OS aren't likely to cache 1.3 GB :p
716 2012-05-09 18:02:18 <BlueMatt> mine does
717 2012-05-09 18:02:38 <BlueMatt> mine has 4g cached atm, and its only been up for 32 min
718 2012-05-09 18:02:41 <luke-jr> more annoying to me, anyhow, is that my AcceptToMemoryPool checks IsMine
719 2012-05-09 18:02:59 <luke-jr> so when loadblock triggers a reorg, and that goes to add orphan txns to the memory pool, it crashes
720 2012-05-09 18:03:13 <luke-jr> BlueMatt: some users don't even have 1 GB memory
721 2012-05-09 18:03:28 <BlueMatt> thats pretty rare...
722 2012-05-09 18:03:38 <luke-jr> BlueMatt: is it? ;)
723 2012-05-09 18:04:32 <BlueMatt> well, if you are looking at avoiding looping across things multiple times, there are a /ton/ of cases you can look at...
724 2012-05-09 18:04:32 <luke-jr> "If your system isn't bleeding edge, allowing this may be necessary to ensure future versions are kept compatible with lower system requirements" :p
725 2012-05-09 18:04:44 <luke-jr> BlueMatt: I'm really looking to avoid the crash myself
726 2012-05-09 18:04:56 <luke-jr> avoiding the rescan is just an excuse :p
727 2012-05-09 18:04:57 <BlueMatt> crash as in?
728 2012-05-09 18:05:05 <luke-jr> [20:02:41] <luke-jr> more annoying to me, anyhow, is that my AcceptToMemoryPool checks IsMine
729 2012-05-09 18:05:07 <luke-jr> [20:02:59] <luke-jr> so when loadblock triggers a reorg, and that goes to add orphan txns to the memory pool, it crashes
730 2012-05-09 18:05:22 <BlueMatt> how does that cause a crash, is my question?
731 2012-05-09 18:05:33 <luke-jr> because the wallet isn't loaded yet, and IsMine requires it
732 2012-05-09 18:05:48 <BlueMatt> oh, dur
733 2012-05-09 18:06:03 <BlueMatt> Ill shut up now
734 2012-05-09 18:07:26 <luke-jr> btw, is whoever makes the blockchain snapshots using -detachdb?
735 2012-05-09 18:07:46 <BlueMatt> tcatm: ?