02:45:12 I'm trying to build Monero following the github resources. My make command is failing due to external miniupnp submodule not up to date. I've tried to pull the sub directly from the github repo, but it wont work and my 'git submodule update --init --force' is failing due to the upload-pack not containing 'our ref'. I noticed there was a commit 6 days ago, could there be something missing there? 03:01:36 is the "1" in support flags listed in the print_cn output indicative of a public RPC node? 03:19:15 I haven't made it that far, still building it with make 03:36:13 oh sorry, i was just asking the room :) 03:37:13 Opps 03:37:28 Just new :( 03:45:17 welcome! oh regarding that thing PvtCaboose , try git submodule sync , then git submodule update 04:03:48 Look on the bright side. At least you don't need to obsess over signs of life from FUK now. 04:05:49 Thanks Gingeropolous, I did manage to get it to build, but I had to skip those submodules, nothing I was trying was working. I was able to make it now thankfully! 04:11:38 I usually clone with --recursive, not sure if that might help 04:12:33 I did do that as well, and did try the submodule update. It had a hash value that it didn't like when I was trying to 'make' I had to bypass with cmake -DMANUAL_SUBMODULE=1 12:32:55 moneromooo, how can I increase the log level for Unit Tests? 12:33:13 I see the logs being produced in the UT dir with INFO. 12:33:20 MONERO_LOGS=2 unit_tests 12:33:29 Great. Thx 12:54:01 I will let the test run for a couple of hours. It will end up with a detailed log for a successful run and one for a failed run. 12:57:09 It can't bind listening acceptor to 58080/48080 due to another socket in TIME_WAIT state with endpoints local(127.0.0.1:48080/58080), remote(127.0.0.1:5262) 12:59:31 it can be reproduced locally 13:20:49 I've just reproduced it as well and have all the logs. 13:21:31 I will take it up but will gladly ask questions. 13:23:12 nothing interesting in logs even with '*:TRACE' 13:27:39 there must be some edge case when 13:27:46 https://paste.debian.net/1192373/ 13:27:52 This is the first difference. 13:28:19 it's unrelated 13:28:24 I think that some prior test doesn't clean up in time or is not let to clean up. This is to say, that the failing test is not the cause of the problem, it only detects it. 13:29:39 * there must be some edge case when non listening socket in TIME_WAIT state blocks bind to the same port though it should not happen 13:30:44 It only happens if I run all the tests. If I filter out all others and run zmq*, bind* and node*, it doesn't happen. 13:30:51 *all the unit tests 13:31:37 wfaressuissia[m], I'd expect to see another service using 48080/58080, but I can't find any. 13:31:47 "https://paste.debian.net/hidden/2eccc559/" that test can test node_server with 127.0.0.1 instead of 0.0.0.0, it removes the above failure 13:33:12 Interesting. Let's put it on the gramophone ... 13:36:11 "https://paste.debian.net/hidden/a1bbfa8b/" 127.0.0.1 -> 127.0.0.2 13:39:04 "https://paste.debian.net/hidden/7a5ab8dc/" or this one 13:39:57 but in any case the point is to use different IPs for endpoints of different tests 13:46:20 Still crashed after the first patch. Trying the other ones. 13:46:38 first with 127.0.0.1 ? 13:47:14 Yes 13:47:24 that's expecetd, that patch is deleted now 13:48:09 I get your argument about endpoints. 13:48:48 So if 0.2 works, we should focus on making other tests unique. Is this what what you're about? 13:49:09 Anyway. Running wuth 0.2 13:51:07 that's very specific edge cases since only 48080/58080 ports are being observed for sockets with TIME_WAIT state; 13:51:32 if you have a lot of time then try to reproduce this bind failure in isolated test and find the real reason 13:52:34 otherwise no need to replace IPs for other tests 14:00:06 Unfortunately 0.2 crashed. 14:01:05 crap sorry. It's a different test, that crashed... 14:03:28 How many iterations without failure of that node_server.* test ? 14:03:59 I didn't check that. It's just a while loop. 14:04:09 it was 300+ here 14:04:13 On GitHub it was 10% of chance. 14:04:25 "... It's just a while loop." add some counter 14:04:36 Are you running all the tests or just node_server.*? 14:04:43 In the latter case it never failed. 14:04:47 on my machine 14:05:05 not all, not only that one 14:05:29 I'm almost sure you won't repro it this way. 14:08:05 How many seconds per iteration in your case ? 14:09:37 "https://paste.debian.net/hidden/f2276ddb/" 5 seconds with this filter 14:10:17 I need about 2 minutes. 14:10:52 But do you mean that you are able to reproduce with this filter? 14:10:59 and the above filter is sufficient to trigger that error without fix 14:11:16 Excellent. Will be useful in the future. 14:15:15 "--gtest_filter='test_epee_connection.test_lifetime:node_server.bind_same_p2p_port'" this filter is sufficient too 14:15:25 probably the smallest possible one 14:18:06 time to start deep diving :D if you have time 14:21:46 Quick fixing and deep diving are candidates for 2 separate PRs. For the quickfix I will write some comment written why 127.0.0.2, but that's it. Other problems are waiting as well :) 14:23:52 and quick fix is likely needed for both branches 14:33:22 reproduced on release-v0.17 branch too 14:41:40 True that 14:42:27 To be safe, I will try to reproduce the crash using your filter without the IP change. 14:42:54 It has been already reproduced few times 14:47:41 OK, same here. Great. 14:48:02 wfaressuissia[m], I'd like to add you to the credits of my PR. What's your GitHub handle? 14:48:55 "https://paste.debian.net/hidden/ea0956ec/" wait, isolated reproduction in python 14:52:10 Cool. 14:53:12 Python tests go to functional_ 14:53:57 Are you sure you want to mix one quick fix and a full blown isolation? 14:55:21 I'm searching the reason 14:56:06 From my experience already medium sized PRs are hard to be merged. Quick fix just work. 14:56:21 So one doesn't disturb another, I'd say. 14:59:24 "A TCP local socket address that has been bound is unavailable for some time after closing, unless the SO_REUSEADDR flag has been set." 14:59:45 That's why connections with automatically assigned source port 48080/58080 from previous test blocks the next to bind acceptor 15:00:07 so solution is to either set reuse_addr option for each socket in all tests 15:00:32 or use ip different from localhost for acceptors in order to not interfere with automatically assigned source endpoints 15:00:46 That would be your explanation why '127.0.0.2' 15:01:39 "https://paste.debian.net/hidden/98c79d3b/" an example with reuse_addr for all connections in previous test 15:03:40 "https://www.man7.org/linux/man-pages/man7/ip.7.html" relevant part about REUSEADDR from man 15:06:05 A personal question: Are you a machine? :) 15:15:00 How is it decided who can comment on issues/PRs in the main repo? I have previously merged commits but still zero permissions. Can’t even comment on my own PR :/ 15:15:24 is your git email linked with github? 15:16:04 every previous contributor should have access, github apparently counts you as a contributor if your git email is linked with github 15:18:25 https://github.com/monero-project/monero/graphs/contributors 15:18:34 if you show up here you *should* have access 15:24:53 Yea my name shows up there 15:27:19 I use my personal email as my primary account email and sign commits with that email. My school email is also associated w the account. When I try to add my users.noreply@github it says email is already in use 15:55:03 https://github.com/monero-project/monero/pull/7646 <-- node_server test fix for master 15:55:03 https://github.com/monero-project/monero/pull/7647 <-- node_server test fix for release-v.0.17 15:57:41 The rest is entirely your show wfaressuissia[m]. 15:57:58 Unless you need me to help with testing. 17:37:30 fwiw -> https://old.reddit.com/r/Monero/comments/mkp0zy/bulletproof_tests_are_too_naive/ 18:27:22 Tests is an important subject that needs an audit of its own. 18:27:36 ... in every project BTW. 19:09:52 Anyone know about the problems with monerod rpc 'Transfer-Enconding: chunked' and also why it returns a 200 on errors? I'm trying to monitor the daemon with a tool that uses this by default and it breaks it. Here's a packet log: http://0x0.st/-ce1.pcap (ignore the late responses, it's still syncing) 19:12:43 * moneromooo not quite sure whether JSON RPC errors are meant to be 200 with a JSON with an error object or not 200. 19:13:25 either case, the transfer encoding is still a the main question 19:13:28 If some RPC doesn't do the same as others, it can be fixed. 19:13:36 Ah. 19:13:58 * moneromooo has no idea about encoding, waits for someone else 19:16:13 What kind of person steals from own community? np.reddit.com/r/Monero/comments/6d6okb/_/ Your own leaders are laughing at how stupid you are for falling for thier 'Magical Crypto Friendship' 21:50:11 .merge+ 7350 7321 21:50:11 Added 21:54:50 .merge+ 7580 7635 7639 7646 7647 21:54:50 Added 22:14:08 vtnerd: since https://github.com/monero-project/monero/pull/7021 the daemon often shows "Unable to send transaction(s), no available connections" on startup 22:14:16 is this something you can take a look at? it confuses users 22:14:37 I'm quite sure it shows up since 7021, but not guranteed 22:15:00 yeah crap thats a weird one 22:15:06 Hello, I am new to Monero and wanted to start contributing. I cloned the repo recursively and changed to the release branch. The build failed because the submodule defintion for miniupnp was different between master and release-v0.17. The error wasn't obvious to me at first, so I wanted to submit a small patch to the README. https://gist.github.com/georgeleege/f778e48bcf9ff374d1850ee0b3da8102 22:15:11 because its dependent on making new outgoing connections 22:16:21 georgeleege: thanks, I can submit it for you, sorry for the locked repo but someone is annoying with spam 22:24:05 georgeleege: git submodule sync 22:24:49 Oh nvm. Thanks for the patch :) 22:25:03 selsta: thank you 22:25:03 moneromooo: :) 22:27:12 What's the best way to start contributing? Thinking of reading through the test cases and running them to get an understanding of the codebase. 22:27:48 What I do is find something that annoys me in whatever codebase I want to start contributing to, and fix/improve it. 22:27:53 Small things to start with. 22:29:09 Github issues might also point to some of these bits that some want changed. 22:39:41 makes sense. thanks for the advice 22:53:17 .merge+ 7650 22:53:17 Added