-
PvtCaboose
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?
-
gingeropolous
is the "1" in support flags listed in the print_cn output indicative of a public RPC node?
-
PvtCaboose
I haven't made it that far, still building it with make
-
gingeropolous
oh sorry, i was just asking the room :)
-
PvtCaboose
Opps
-
PvtCaboose
Just new :(
-
gingeropolous
welcome! oh regarding that thing PvtCaboose , try git submodule sync , then git submodule update
-
wihvgfppn
Look on the bright side. At least you don't need to obsess over signs of life from FUK now.
-
PvtCaboose
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!
-
virgildante[m]
I usually clone with --recursive, not sure if that might help
-
PvtCaboose
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
-
mj-xmr
moneromooo, how can I increase the log level for Unit Tests?
-
mj-xmr
I see the logs being produced in the UT dir with INFO.
-
moneromooo
MONERO_LOGS=2 unit_tests
-
mj-xmr
Great. Thx
-
mj-xmr
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.
-
wfaressuissia[m]
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)
-
wfaressuissia[m]
it can be reproduced locally
-
mj-xmr
I've just reproduced it as well and have all the logs.
-
mj-xmr
I will take it up but will gladly ask questions.
-
wfaressuissia[m]
nothing interesting in logs even with '*:TRACE'
-
wfaressuissia[m]
there must be some edge case when
-
mj-xmr
-
mj-xmr
This is the first difference.
-
wfaressuissia[m]
it's unrelated
-
mj-xmr
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.
-
wfaressuissia[m]
* 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
-
mj-xmr
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.
-
mj-xmr
*all the unit tests
-
mj-xmr
wfaressuissia[m], I'd expect to see another service using 48080/58080, but I can't find any.
-
wfaressuissia[m]
"
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
-
mj-xmr
Interesting. Let's put it on the gramophone ...
-
wfaressuissia[m]
-
wfaressuissia[m]
-
wfaressuissia[m]
but in any case the point is to use different IPs for endpoints of different tests
-
mj-xmr
Still crashed after the first patch. Trying the other ones.
-
wfaressuissia[m]
first with 127.0.0.1 ?
-
mj-xmr
Yes
-
wfaressuissia[m]
that's expecetd, that patch is deleted now
-
mj-xmr
I get your argument about endpoints.
-
mj-xmr
So if 0.2 works, we should focus on making other tests unique. Is this what what you're about?
-
mj-xmr
Anyway. Running wuth 0.2
-
wfaressuissia[m]
that's very specific edge cases since only 48080/58080 ports are being observed for sockets with TIME_WAIT state;
-
wfaressuissia[m]
if you have a lot of time then try to reproduce this bind failure in isolated test and find the real reason
-
wfaressuissia[m]
otherwise no need to replace IPs for other tests
-
mj-xmr
Unfortunately 0.2 crashed.
-
mj-xmr
crap sorry. It's a different test, that crashed...
-
wfaressuissia[m]
How many iterations without failure of that node_server.* test ?
-
mj-xmr
I didn't check that. It's just a while loop.
-
wfaressuissia[m]
it was 300+ here
-
mj-xmr
On GitHub it was 10% of chance.
-
wfaressuissia[m]
"... It's just a while loop." add some counter
-
mj-xmr
Are you running all the tests or just node_server.*?
-
mj-xmr
In the latter case it never failed.
-
mj-xmr
on my machine
-
wfaressuissia[m]
not all, not only that one
-
mj-xmr
I'm almost sure you won't repro it this way.
-
wfaressuissia[m]
How many seconds per iteration in your case ?
-
wfaressuissia[m]
-
mj-xmr
I need about 2 minutes.
-
mj-xmr
But do you mean that you are able to reproduce with this filter?
-
wfaressuissia[m]
and the above filter is sufficient to trigger that error without fix
-
mj-xmr
Excellent. Will be useful in the future.
-
wfaressuissia[m]
"--gtest_filter='test_epee_connection.test_lifetime:node_server.bind_same_p2p_port'" this filter is sufficient too
-
wfaressuissia[m]
probably the smallest possible one
-
wfaressuissia[m]
time to start deep diving :D if you have time
-
mj-xmr
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 :)
-
wfaressuissia[m]
and quick fix is likely needed for both branches
-
wfaressuissia[m]
reproduced on release-v0.17 branch too
-
mj-xmr
True that
-
mj-xmr
To be safe, I will try to reproduce the crash using your filter without the IP change.
-
wfaressuissia[m]
It has been already reproduced few times
-
mj-xmr
OK, same here. Great.
-
mj-xmr
wfaressuissia[m], I'd like to add you to the credits of my PR. What's your GitHub handle?
-
wfaressuissia[m]
"
paste.debian.net/hidden/ea0956ec" wait, isolated reproduction in python
-
mj-xmr
Cool.
-
mj-xmr
Python tests go to functional_
-
mj-xmr
Are you sure you want to mix one quick fix and a full blown isolation?
-
wfaressuissia[m]
I'm searching the reason
-
mj-xmr
From my experience already medium sized PRs are hard to be merged. Quick fix just work.
-
mj-xmr
So one doesn't disturb another, I'd say.
-
wfaressuissia[m]
"A TCP local socket address that has been bound is unavailable for some time after closing, unless the SO_REUSEADDR flag has been set."
-
wfaressuissia[m]
That's why connections with automatically assigned source port 48080/58080 from previous test blocks the next to bind acceptor
-
wfaressuissia[m]
so solution is to either set reuse_addr option for each socket in all tests
-
wfaressuissia[m]
or use ip different from localhost for acceptors in order to not interfere with automatically assigned source endpoints
-
wfaressuissia[m]
That would be your explanation why '127.0.0.2'
-
wfaressuissia[m]
"
paste.debian.net/hidden/98c79d3b" an example with reuse_addr for all connections in previous test
-
wfaressuissia[m]
"
man7.org/linux/man-pages/man7/ip.7.html" relevant part about REUSEADDR from man
-
mj-xmr
A personal question: Are you a machine? :)
-
bevanoff[m]
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 :/
-
selsta
is your git email linked with github?
-
selsta
every previous contributor should have access, github apparently counts you as a contributor if your git email is linked with github
-
selsta
-
selsta
if you show up here you *should* have access
-
bevanoff[m]
Yea my name shows up there
-
bevanoff[m]
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
-
mj-xmr
monero-project/monero #7646 <-- node_server test fix for master
-
mj-xmr
monero-project/monero #7647 <-- node_server test fix for release-v.0.17
-
mj-xmr
The rest is entirely your show wfaressuissia[m].
-
mj-xmr
Unless you need me to help with testing.
-
dEBRUYNE
-
mj-xmr
Tests is an important subject that needs an audit of its own.
-
mj-xmr
... in every project BTW.
-
caskd-Alex
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:
0x0.st/-ce1.pcap (ignore the late responses, it's still syncing)
-
» moneromooo not quite sure whether JSON RPC errors are meant to be 200 with a JSON with an error object or not 200.
-
caskd-Alex
either case, the transfer encoding is still a the main question
-
moneromooo
If some RPC doesn't do the same as others, it can be fixed.
-
moneromooo
Ah.
-
» moneromooo has no idea about encoding, waits for someone else
-
vsoyexlng
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'
-
selsta
.merge+ 7350 7321
-
xmr-pr
Added
-
selsta
.merge+ 7580 7635 7639 7646 7647
-
xmr-pr
Added
-
selsta
vtnerd: since
monero-project/monero #7021 the daemon often shows "Unable to send transaction(s), no available connections" on startup
-
selsta
is this something you can take a look at? it confuses users
-
selsta
I'm quite sure it shows up since 7021, but not guranteed
-
vtnerd
yeah crap thats a weird one
-
georgeleege
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.
gist.github.com/georgeleege/f778e48bcf9ff374d1850ee0b3da8102
-
vtnerd
because its dependent on making new outgoing connections
-
selsta
georgeleege: thanks, I can submit it for you, sorry for the locked repo but someone is annoying with spam
-
moneromooo
georgeleege: git submodule sync
-
moneromooo
Oh nvm. Thanks for the patch :)
-
georgeleege
selsta: thank you
-
georgeleege
moneromooo: :)
-
georgeleege
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.
-
moneromooo
What I do is find something that annoys me in whatever codebase I want to start contributing to, and fix/improve it.
-
moneromooo
Small things to start with.
-
moneromooo
Github issues might also point to some of these bits that some want changed.
-
georgeleege
makes sense. thanks for the advice
-
selsta
.merge+ 7650
-
xmr-pr
Added