-
binaryFate
FYI the auto-update should now prompt to v0.18.1.0
-
selsta
.merges
-
xmr-pr
8299 8323 8333 8352 8359 8379 8381 8415 8419 8427 8428 8442 8444 8450 8460 8462 8464 8465 8490 8491
-
sech1
Will there be any post-mortem of the hardfork issues? IIRC there was one problem with transactions flushing from the mempool.
-
ofrnxmr[m]
-
sech1
so 50 tx dropped, and old format transactions could only relay if they had higher than lowest priority fee
-
sech1
but they could be mined
-
ErCiccione
what could couse no incoming connection in a stagenet node. firewall ok, permissions seem to be ok. I have two almost identical config file for 2 nodes. 1 can receive incoming connections just fine, the other one doesn't.
-
ErCiccione
it's likely a local issue unrelated to Monero, but i cannot find it
-
moneromooo
Very few stagenet nodes around ?
-
ErCiccione
if i take down the node that receives connections the other one has still 0 incoming
-
ErCiccione
now that i added each others as peers, the second instance is starting to pick up incoming connections. i guess it was because of the few nodes
-
nssy
Is there a change that was made that guys need to know when batching up transactions?
-
nssy
Cause its failing multiple times.
-
nssy
Error with transfer RPC request to wallet daemon {"code":-4,"message":"transaction was rejected by daemon"}
-
moneromooo
What error does the daemon report ?
-
stretch1
DRSBcvRJDMPcoNzOTPaQXQvwZy2ttXDIwK6h1
-
inge
indeed
-
hyc
I too like to paste my web passwords into IRC windows from time to time
-
inge
spices life up a little
-
hyc
exactly
-
nssy
moneromooo not showing any error.. Maybe will need to adjust log level
-
moneromooo
ll1
-
nssy
Have already sent the transactions individually though
-
afungible[m]
<ofrnxmr[m]> "Sech1
libera.monerologs..." <- Curious, what are the consequence beyond dropping those 50k transactions? Have they been released from mempool & back to users wallet or will lurk around in txpool until timeout?
-
sech1
50 transactions, not 50k
-
sech1
they should be shown as "failed" in the wallet
-
afungible[m]
sech1: Ah, crap, misread it. Then I guess its not a big deal 😁
-
spacekitty420[m4
could be a big deal, imagine a single one of those tx was sending 18 millions xmr o.o
-
afungible[m]
And btw, what's the timeout of mempool like (hours or days?), should a transaction not go through or having too low fee at a time of network load?
-
afungible[m]
I meant transaction goes through, bt waiting on 0/10 confirmations. Waiting to get into a block..
-
hyc
24hrs
-
sech1
#define CRYPTONOTE_MEMPOOL_TX_LIVETIME (86400*3) //seconds, three days
-
sech1
#define CRYPTONOTE_MEMPOOL_TX_FROM_ALT_BLOCK_LIVETIME 604800 //seconds, one week
-
sech1
3 days for new transaction, 1 week for transactions pushed back to mempool after a reorg
-
nssy
moneromooo: Here is another one with error
paste.debian.net/1250462
-
moneromooo
Well, spend your outputs only once then :P
-
moneromooo
You may need to run "rescan_spent" once if it went out of sync.
-
nssy
Ok. doing that now..
-
moneromooo
hyc: is it ok, performance wise, to have *very* long lived read txns ?
-
moneromooo
Like, hours.
-
moneromooo
In this case, there won't be any writes to the db, but lots of reads.
-
hyc
sure. the only issue is if a read prevents a write from reusing old pages. if there's no writes, no problem
-
moneromooo
ty
-
hyc
can mount a DB from a CDROM or some other read-only filesystem, then you can use a single read txn forever
-
nssy
thanks moneromooo that worked, have not clue how the wallet went out of sync its always online
-
afungible[m]
<sech1> "3 days for new transaction, 1..." <- Good information. Thanks.
-
afungible[m]
Any idea why I don't see "mining_status" in CLI v0.18.1.0? I reckon it used to be there before..
-
nikg83[m]
We have had 1/4th txs in last 24hrs , popular wallets pushed update only last minute, plenty of normal users didn’t even know about this fork/upgrade
-
nikg83[m]
Maybe next cycle we have fork announce and code freeze alteast a few months (4-5) before so the user wallets/nodes are ready in time ? Anyways we are now not in the old 6 month fork schedule, and fork/update like once in 2-3yrs
-
nikg83[m]
We can’t have serious adoption it majority of the payment ecosystem is down for days & users confused why monero is broken for them 😅
-
moneromooo
Are you sure you're looking in the daemon ?
-
nikg83[m]
Localmonero stats are wrong ?
-
nikg83[m]
-
dEBRUYNE
nikg83[m]: Many services also disable withdrawals / deposits around the fork date, so part of the drop can be explained by that
-
moneromooo
It would be nice if people could try 8503. The resulting DB works for me, at least.
-
moneromooo
Something I should have fixed long ago.
-
moneromooo
hyc: when pruning the chain, the process reads about 900 GB, from a ~140 GB file. Is this hiding some bug somewhere, or can it be explained by page interleaving if the SSD read quantum is > 4 kB (I have no idea what mine is) ?
-
Guest63
Hey, is the RPC method flush_txpool deprecated? I tried to use it on my node with a list of transaction ids as shown on the website, but it failed with `method not found`
-
Guest63
This is the command I tried: `curl
/monero.kevinthomas.dev:18089/json_rpc -d '{"jsonrpc":"2.0","id":"0","method":"flush_txpool","params":{"txids":["6fa3cfa75ef51d194dfbceac9714fd67c89eded4ce7711fe36b2b7ee7d74647c"]}}' -H 'Content-Type: application/json'`
-
moneromooo
No.
-
moneromooo
Make sure your node is not running in restricted mode.
-
Guest63
Well, I don't know if that person's node is in restricted mode. I sent a transaction to his node, which looks to be bricked. Its block height is over a day old (2688894). I think his node is pre-0.18 and my transaction is sitting in his transaction pool. I wonder how long it will be before it's dropped. It's been there for over a day.
-
Guest63
My txid is 6fa3cfa75ef51d194dfbceac9714fd67c89eded4ce7711fe36b2b7ee7d74647c, which wasn't relayed to other nodes so it's not visible on xmrchain.net
-
moneromooo
If it's not your node, you can't expect us to help you :)
-
Guest63
Yeah, RIP..
-
moneromooo
Maybe in #monero though.
-
sech1
Just relay a new tx to working node
-
sech1
old not updated nodes are disconnected from the network now, so they're irrelevant
-
Guest63
I guess my question is: My transaction is sitting in someone's memory pool. How long before it is dropped?
-
sech1
3 days
-
moneromooo
If they feel like it. They might keep it for longer, or less.
-
sech1
but if other nodes don't have it, they'll accept a new tx with the same inputs
-
Guest63
I emailed him and told him to flush my transaction out of his memory pool.
-
Guest63
Can I expedite this process somehow? You mentioned: Just relay a new tx to working node. What do you mean by this? Force a double-spend, essentially?
-
Guest63
Is it even considered a double-spend if other nodes don't even know about the transaction?
-
sech1
send a new tx from your wallet
-
sech1
it's not a double spend
-
Guest63
I sent 0.01 XMR to myself, I don't see a change in my balance (the recovery of the 1 XMR I (failed to) relay with the bricked node)
-
Guest63
I think it's because the input selected for the 0.01 XMR wasn't the same as the inputs used for the 1 XMR I previously sent to the bricked node?
-
moneromooo
Run your own node, then rescan_spent in the wallet.
-
sech1
or connect to an updated and working node
-
sech1
and then rescan_spent
-
moneromooo
Or the wallet will probably auto do it if you refresh a couple times.
-
Guest63
I sent the transaction from CakeWallet. Should I just restore the wallet on my desktop using the GUI wallet?
-
moneromooo
Can't hurt.
-
moneromooo
Well, you'll lose things like tx secret keys, destinations.
-
moneromooo
ie, stuff that doesn't get recorded on the chain.
-
Guest63
Notes, etc. I get that part. Thanks
-
moneromooo
But from what you're saying, the wallet is fine. The node isn't.
-
Guest63
Is the rescan_spent command available via the GUI wallet?
-
moneromooo
I think so. Not sure where though.
-
Guest63
Okay, I'm comfortable with the CLI, I'll use that.
-
Guest63
Hmm, I did rescan_spent and my balance is the same.
-
Guest63
Anyway for me to verify that I'm not crazy (that indeed I sent the transaction to a bricked node)?
-
Guest63
And that my balance is indeed reflextive of Y Monero - Amount Sent to Bricked Node
-
Guest63
Maybe I'm incorrectly recounting the amount of Monero I had before I sent a transaction to the bricked node. I just want to confirm that is the case if indeed it's true
-
Guest63
help
-
Guest63
Woops, I meant to type 'help' in my CLI.
-
moneromooo
Maybe ask in #monero.
-
Guest63
Sure
-
nxs
can i recommend making a patch release reverting
monero-project/monero #8476
-
nxs
its causing issues for watch-only / offline signing setup
-
nxs
sorry, the commit is
monero-project/monero ae0a840 - the issue linked is the problem
-
ofrnxmr[m]
Issues such as
-
nxs
the signing node will fail to sign anything until you do a full output sync, which itself can take a while to process
-
nxs
so for a *cough* large org using this setup, its quite a burden to continually do a full output sync before every withdrawal request to make sure it will complete
-
nxs
and the monero node software shouldn't depend on this kind of behavior anyway - remote signing should work without continual output syncs
-
nxs
it was problem introduced in v0.18.0.0
-
woodser[m]
a few questions on signing/verifyin/encrypting messages:
-
woodser[m]
- is there an advantage/disadvantage to signing with the speed vs view key? I suppose this simply lets one prove they have certain keys?
-
woodser[m]
- is there a way to encrypt/decrypt arbitrary strings? the library could expose such functionality
-
woodser[m]
- on `verify`, do the other fields like `old` or `version` need to be somehow checked, or does `good` cover the summary?
-
woodser[m]
s/speed/spend/
-
ofrnxmr[m]
nks: thanks for explaining
-
ofrnxmr[m]
nxs: *
-
moneromooo
Signing with the view key -> if you gave your view key to someone, they can impersonate you.
-
moneromooo
You can sign with any key. There's a RPC for signing arbitrary data with the spend key IIRC.
-
woodser[m]
signing arbitrary data, yes, but not encrypting/decrypting to my knowledge
-
moneromooo
Oh, I'm confusing encrypt/signing on the second question. I don't think there is for that.
-
moneromooo
There's a funtion for it in wallet2 though, so it'd simple to add to RPC.
-
moneromooo
authenticated too.
-
moneromooo
Though vtnerd might have things he wants to change first if it's to be exposed via RPC.
-
moneromooo
I cna't recall what changed between v1 and v2 for signing, but good means the sig was verified as eihter v1 or v2.
-
moneromooo
So chcek for !old only if you want to ensure the signature was made with v2. Which is probably a good idea.
-
moneromooo
git log might shed some light about the version change, maybe it was exploitable before. Can't recall.
-
jozsef[m]
Thanks moo. I'd like to use encrypt/decrypt via the cpp api, so I'm thinking that I will look into creating a PR to expose those functions from wallet2 to the wallet-rpc and then exposing those to the cpp api. Should I coordinate with vtnerd or I will just ping him to the PR ...
-
vtnerd
Im not working on such a thing, moo may have mentioned it because there's also the ZeroMQ API which mirrors the HTTP-JSON-RPC one
-
vtnerd
or the tricky part over json is the encoding the binary ... hex I guess (thats how binary data is always encoding despite ineffiency on the wire)
-
woodser[m]
if the api exports binary or hex, libraries could convert the binary client side
-
vtnerd
both HTTP and ZeroMQ use JSON for encoding, so you have to convert before setting the values in the DOM (and the opposite in the other direction)
-
vtnerd
the HTTP-JSON might do it automatically for all `std::string`, but I don't think they do
-
moneromooo
I mentioned it because IIRC you wanted to improve the authenticated encryption from wallet2, using... I forget now...
-
moneromooo
Poly1305 I think ?
-
vtnerd
oh man what does it use, I forgot now
-
moneromooo
Something I made :D
-
vtnerd
-
moneromooo
With at least *some* sanity though. Like sign after encrypt.
-
vtnerd
thats the function they want to expose?
-
moneromooo
I assume so.
-
vtnerd
woodser[m] : do you want an API for sending encrypted TO another person? like you could optionally sign who created it, and but then send that blob to another person?
-
vtnerd
because that function looks more like the same person doing the encryption/decryption, no? I think that may have been my point earlier if I made one
-
woodser[m]
yeah we're looking to encrypt and decrypt arbitrary text using the same wallet keys
-
vtnerd
oh same keys, yeah then that function will work
-
woodser[m]
^ jozsef
-
vtnerd
you'd definitely authentication to be set to true, but otherwise yeah
-
jozsef[m]
Yeah, looks like that fn will work. So we should expose to both HTTP and ZMQ RPC? And would the cyphertext have to be encoded before send to the API?
-
vtnerd
yes in both cases it has to be manually set to/from some json friendly format
-
vtnerd
everything else uses hex for simplicity, but its not wrong to use something else
-
vtnerd
base85 from zmq if you want efficiency (and annoy programmers), etc
-
jozsef[m]
Okay, I will look how other encode/decode is done.
-
selsta
12:55 <nikg83[m]> Maybe next cycle we have fork announce and code freeze alteast a few months (4-5) before so the user wallets/nodes are ready in time ? Anyways we are now not in the old 6 month fork schedule, and fork/update like once in 2-3yrs <-- we released binaries 1 month in advance, that should be enough time
-
selsta
exchanges disable deposit / withdrawals for security reasons when a fork happens
-
jozsef[m]
vtnerd: Hehe. Not necessarily to annoy, but for efficiency: I'd like to encrypt/decrypt and send relatively largeish data with it, e.g., containing multiple images and text.
-
selsta
also who knows what kind of transaction spam scripts forgot to update
-
nikg83[m]
<selsta> "12:55 <nikg83> Maybe next..." <- Yes, but prominent mobile wallets did a week/day before fork ? Also not every monero user tracks news/updates & most also defer it while everything is working
-
nikg83[m]
if we had 3-4 months buffer then plenty of users would have updated it, we have major fork not that often now so a few months more buffer is not going to hurt ? Unless it’s a emergency fork
-
ofrnxmr[m]
Nikg i replied in community
-
ofrnxmr[m]
Ill post it here..
-
ofrnxmr[m]
-
ofrnxmr[m]
-
Rucknium[m]
BCH node implementers agreed on the May 2022 hardfork date a full year in advance; binaries were available months before the fork; still transaction volume fell by about 50% at the fork. And it was a block rules consensus change, not even a backwards-compatibility issue for wallets IIRC.
-
Rucknium[m]
I would agree that more advance notice/binaries would be nice, but many, many people do not realize there is a fork until their software stops working.
-
ofrnxmr[m]
Tldr from my community post
-
selsta
nxs: will revert it
-
ofrnxmr[m]
>Yes, but prominent mobile wallets did a week/day before fork ?
-
ofrnxmr[m]
This was their 100% their choice
-
hyc
moneromooo: any perf difference for that last change, always using MDB_APPEND?
-
hyc
seems like it shouldn't affect most of the relevant tables
-
moneromooo
I'll know in 1.5 hours :)
-
hyc
cool
-
moneromooo
hyc: well, before 1.6 hours. It fails with: Failed to write block_info record: MDB_KEYEXIST: Key/data pair already exists
-
moneromooo
Is the previous version actually wrong, or just non optimal ?
-
moneromooo
I reverted to the original patch for now.
-
hyc
seemed not optimal to me. but this error implies you're not actually traversing the DB in DB order
-
hyc
so ok, original patch is fine
-
moneromooo
I use MDB_FIRST/MDB_NEXT.
-
» moneromooo double checks
-
moneromooo
Yes, lines 221-226.
-
moneromooo
Could an intervening commit and cursor reopen interfere maybe ?
-
hyc
maybe
-
moneromooo
Cause I do that.
-
hyc
then your original patch is prob the way to go\
-
moneromooo
I'll try clearing APPEND for the first put after a commit and see if that helps.
-
moneromooo
It's got past that point.
-
hyc
cool
-
moneromooo
Oh wait, I'm not using your two flags at once change here.
-
moneromooo
Meh, still borks. Always at hte same place, oddly. The first table copies fine, the secone table breaks at/near start.
-
moneromooo
First atble takes about 3 minutes either way so it doesn't look like the two flags go faster anyway.
-
hyc
ok then never mind it
-
moneromooo
It now breaks with the old code... :S
-
hyc
8473 is just flaky hardware
-
hyc
doh
-
moneromooo
Ah, might have forgot a step, I don't test on the same VM.
-
moneromooo
A number of copies involved :)
-
moneromooo
Yeah nvm, it's fine.
-
jozsef[m]
wallet api tests have been disabled for a long time, correct?
monero-project/monero #895
-
moneromooo
Yes. They'be been borked since the start pretty much, and nobody cared about them.
-
moneromooo
IIRC they had peculiar manual steps requirements to have them be able to run.
-
jozsef[m]
So what's a good way of testing exposing a new fn (at least by hand) to see what I'm screwing up?
-
moneromooo
Add some widget in the GUI to use it ? Even if placeholder for you.
-
jozsef[m]
The gUI?
-
moneromooo
Or replace an existing widget's code-that-calls-the-api with yours.
-
moneromooo
The window based wallet ?
-
moneromooo
monero-wallet-gui
-
jozsef[m]
Oh, I maybe talking about something else due to my ignorance. No. I want to expose a function from wallet2 to wallet-rpc.
-
moneromooo
Oh.
-
jozsef[m]
I guess that's not tested with wallet api, then.
-
moneromooo
Then you don't need wallet2_api at all, thankfully.
-
moneromooo
You add a python layer for it to utils/python-rpc/framework/wallet.py
-
moneromooo
Then you can call it from a test in tests/functional_tests/*.py
-
moneromooo
For starters though, maybe curl's easier.
-
moneromooo
The python function in utils/python-rpc/framework/wallet.py should be just a call with arguments btw, just expose the RPC, no extra logic please.
-
jozsef[m]
OK
-
selsta
-
selsta
I thought we fixed this in randomx
-
selsta
or is this a different issue?
-
hyc
hm, this looks different
-
hyc
never saw failure to allocate cache before
-
hyc
and clearly it was succeeding up to that point
-
hyc
could be an actual memory leak in monerod?
-
selsta
I synced up with v0.18.1.0 and saw no increased memory usage on Mac
-
selsta
3.7GB full system RAM usage
-
selsta
and I didn't restart after the full sync
-
sech1
hyc it happened near or at randomx epoch change (block height 2689089)
-
sech1
according to the log there
-
hyc
yes so it may be a legit malloc failure, since it would alloc a new cache then
-
hyc
if that was the first time it crossed an epoch boundary in that run
-
sech1
it was
-
hyc
so the machine was just out of RAM
-
selsta
I can ask them how much RAM they have
-
selsta
vtnerd: how much work would it be to add
github.com/jedisct1/supercop/tree/m…/crypto_scalarmult/curve25519/neon2 to our supercop repo for ARM CPUs?
-
vtnerd
for jamtis or something more immediate?
-
vtnerd
thats a speedup on curve25519/x25519 but not directly on ed25519
-
vtnerd
I think it would require recovery of y-coord then a conversion between curves
-
vtnerd
still might be faster (whereas jamtis is proposing x25519 directly for certain things)
-
selsta
You wrote "This should speed up the ECDH portion of the address scanning on relevant arm processors." in an old GitHub issue
-
selsta
so I wasn't sure if it was applicable for current monero
-
selsta
-
vtnerd
ah, yikes. Yeah I think it still would, it just loses some due to the extra math for conversion
-
selsta
seems more involved compared to crypto_sign/ed25519/amd64-51-30k and amd64-64-24k
-
vtnerd
a bit. y-coord recovery would be the blocker (at least for me)
-
vtnerd
specifically the sign portion, but maybe someone else knows immediately off hand
-
selsta
maybe I will have to live without ARM ASM optimizations until jamtis
-
vtnerd
I'll try to dig through the details, this would be a huge boost for the increasing number of arm64 users
-
ofrnxmr[m]
Users = nodes or wallets?
-
selsta
wallets mainly, but we also have more nodes
-
vtnerd
supercop isn't currently used by the daemon for syncing, only for wallets
-
selsta
using it for historical sync would be an easy win but that's a different topic
-
UkoeHB
easiest to speed up would be ge_add(), which is at the core of multiexp (bulletproofs currently, then bps & grootle with seraphis)
-
hyc
3.9GB is kind of a suspicious size for #8504. check to make sure he used a 64bit binary, not 32bit?
-
selsta
there is no 32bit mac binary
-
hyc
oh right forgot that was a mac
-
hyc
intel mac\
-
selsta
that's the one we cross compile with the newer sdk, but i don't see how low level malloc is impacted by this
-
hyc
right. well technically we allocate using mmap
-
hyc
but still, shouldn't have any issue there