--- Log opened Sat Apr 11 00:00:49 2020 00:57 < kcalvinalvin> adiabat should understanding the code be independent of the Utreexo paper? 00:58 < kcalvinalvin> I'm going through the batch deletion part and I think it's pretty graspable if you have a paper next to you *but* is impossible if you don't have the paper next to you 06:00 -!- ysangkok is now known as j 06:04 -!- j is now known as Guest67228 06:06 -!- Guest67228 is now known as ja 11:11 < adiabat> kcalvinalvin: heh ok yeah maybe I can make a readme that's separate from the paper I guess? 11:12 < adiabat> the batch deletion part in the paper is kindof weird as it's like an appendix, maybe it should be a real part of the paper 11:14 < adiabat> I put it in because... yeah it's pretty hard to understand. But sounds like the paper appendix helps! :) 11:15 < adiabat> I guess it's OK to have comments in the code that refer to sections of the paper to describe the algorithm... but there can be better explanation / readmes in the code as well 11:20 < kcalvinalvin> Haha yeah appendix is helping a lot. We should talk about documentation on Tuesday 11:21 < kcalvinalvin> Binary release should happen with like a godoc thingy at least 11:26 < ja> kcalvinalvin: hey did you have a look at my PR with random forests? 11:32 < kcalvinalvin> ja hmm ok a right child empty error on forest.Modify() 11:33 < ja> well, i dunno about the bug, just wondering if the test makes sense 11:34 < kcalvinalvin> I'll have to do a longer look. Not sure if the test is wrong or if the code is wrong. It is 3:30am in Korea now so will prob do so when I wake up 11:34 < kcalvinalvin> adiabat did you take a look? 11:35 < ja> kcalvinalvin: ah sure, there is no hurry :) 19:40 < adiabat> ja: hi- looking at it 19:40 < ja> thanks! 19:40 < adiabat> I think the panic is because there are hashes which are all 0s 19:40 < adiabat> the leafTxo := LeafTXO{Hash: Hash{firstLeafHashByte}} part 19:41 < adiabat> there are several places where it panics if it sees a "hash" that's all 0s, mostly because I had lots of bugs involving that 19:41 < adiabat> and it seemed safe because no actual hash would be all 0s, so the panics are still in there... I could take then out I guess 19:42 < ja> in my example run the sample data it fails on doesn't contain 0 in the map, though 19:42 < adiabat> hm ok there could be different things going on, that was the first one I saw 19:42 < adiabat> I will add a Modify check for 0 hash add 19:42 < adiabat> since that's not really documented or obvious that you can't do that 19:43 < ja> yeah, that would be nice 19:46 < ja> i'll adjust the code to avoid zeroes.. 19:46 < adiabat> but yeah that's not the only problem, I'm getting a different error now, looking 19:50 < ja> sometimes it fails the proveblock check, sometimes it fails deletion 19:50 < ja> i'll avoid amending the commit so you can see what i fixed 19:52 < ja> ok, i pushed one commit 19:59 < adiabat> ok. hm 20:00 < adiabat> for me now, it fails when there are 2 leaves left. 20:00 < adiabat> looks like a real bug :) 20:01 < ja> all right, hope it is an easy fix ;) 20:02 < adiabat> heh it's probably something dumb; I've hardly ever tested with 2 or 4 leaves 20:05 < ja> yeah i know it is a bit silly, but i just had to try this to boost my confidence in the algorithm... 20:14 < adiabat> ja: yeah, thanks though this is good! it's a bug that's hard to find 20:15 < adiabat> I'm making a specific test that causes it now; add 5 remove 3 seems to do it. but only removing some, not others 20:24 < adiabat> hm, not sure what's going on; I'm trying to reproduce with a similar, non-randomized test and not getting the error. will push that test 20:34 < ja> i was afraid that there would be some global state somewhere, but last time i had that suspicion, that wasn't the problem... 20:41 < adiabat> the failures I'm getting say both 20:41 < adiabat> proveblock failed proving existing leaf 20:42 < adiabat> and verifyblockproof failed verifying proof for existing leaf 20:43 < adiabat> I can't tell what the errors are though... will add that 20:45 < ja> adiabat: oh , looks like i should have used FailNow instead of Fail() 20:45 < ja> or actually, since there is always a log line, Fatal is best 20:45 < ja> i can fix it if you didn't already start? 20:46 < adiabat> hm. I think it's a positionMap problem with low numbers of leaves 20:46 < adiabat> yeah I'm just poking around, you can change anything in the PR 20:46 < ja> ok, i'll fix it 20:46 < adiabat> actually I have to go to bed soon, but it seems to be positionMap getting in a wrong state with low numbers of leaves 20:47 < adiabat> that makes sense as positionMap was changed most recently and I sortof rush changed it back to how it was before 20:51 < ja> ah, hopefully that's it. i fixed the abortion on error. it's pushed! 20:51 < ja> but yeah, it's late for gnarly issues :P 20:53 < ja> one issue with all our prints is that they seem to appear after the log output of the test. so currently, i get a wall of text and i have to search for the test name to find the actual log output for that single test 20:53 < adiabat> ok cool, I think I know where the problem is... will try to fix tomorrow. Thanks for finding this! 20:53 < ja> great! no problem --- Log closed Sun Apr 12 00:00:49 2020