-
gingeropolous
ah bloody hell. my seed node is acting funny
-
gingeropolous
src/common/stack_trace.cpp:133 Exception: std::bad_alloc
-
m-relay
<syntheticbird:monero.social> Arch linux user spotted
-
gingeropolous
lulz wish i was that l33t. ubuntu
-
gingeropolous
well lets see if running master can fix it
-
gingeropolous
i just gotta move to the new box. this thing is bleh
-
m-relay
<321bob321:monero.social> Wearing the T-shirt ?
-
gingeropolous
damn, this things in a restart loop even on maser
-
gingeropolous
master
-
m-relay
-
m-relay
<monerooo:matrix.org> Hey, is one of the values formatted or labeled incorrectly?
-
m-relay
<woodser:monero.social> in that case, the monerod documentation is wrong when it says [slow, normal, fast, fastest], because it should be [default, slow, normal, fast]
-
m-relay
<woodser:monero.social> but I'm not sure that's right, because the code is returning exactly 4x the amount of index 0 in index 1:
github.com/monero-project/monero/bl…ryptonote_core/blockchain.cpp#L3699
-
ofrnxmr
1-4 is mapped to 0-3 aiui
-
ofrnxmr
Fl=low=1, Fn=normal=2, Fm=medium=3, Fh=high=5. 0 is mapped to 1-2, then 1-4 are mapped to 0-3.. iiuc
-
ofrnxmr
-
ofrnxmr
s/1-2/1-4
-
ofrnxmr
Nvm ignore the last (substitution) msg ^
-
selsta
gingeropolous: std::bad_alloc shows on all self compiled nodes with stack_trace enabled
-
gingeropolous
hrm, gettin that bad weak ptr thing
-
gingeropolous
mebbe i'll try release bins
-
xmr-pr
tobtoht opened pull request #9784: ci: containerize depends jobs
-
xmr-pr
-
selsta
gingeropolous: both bad_allow and bad_weak_ptr can show up with stack_trace
-
selsta
*alloc
-
gingeropolous
ah
-
selsta
the "monerod is disconnected" issue has to be investigated, does it also show up with v0.18.3.4 release binaries?
-
gingeropolous
from my rough recollection, i really only see it when im testing a sync using --add-exclusive-node.
-
gingeropolous
damn, my seed node is still restarting constantly even on release bins
-
gingeropolous
i'll try the 9135 without exclusive node, see if i see the disconnect
-
gingeropolous
it could also be the main node disconnecting the syncing node. perhaps the main node has a cnxn limit or is otherwise disconnecting the syncing node
-
selsta
ok if you sync from a single exclusive node it makes sense that you sometimes get this message
-
m-relay
<ofrnxmr:xmr.mx> Monerod is disconencted happens often if you use exclusive node, as the node you connect to might drop you (i think)
-
m-relay
<ofrnxmr:xmr.mx> Exclusive node has no bearing on incoming connections
-
m-relay
<woodser:monero.social> I observe through testing that the mappings from `transfer` priority to `get_fee_estimate` indices are unimportant=0, normal=1, elevated=2.
-
m-relay
<woodser:monero.social> so it seems there may not actually be any mapping from "default" priority to a fixed index within `get_fee_estimate`, because the "default" priority is automatically adjusted in wallet2, and there's no equivalent in `get_fee_estimate` afaict?
-
m-relay
<woodser:monero.social> that's a problem because it means a "default" fee cannot be estimated ahead of time to sanity check the mining fee.
-
m-relay
<woodser:monero.social> I'm observing that "default" tx priority is mapping to fee estimate index 0 in my tests, but that may just be based on congestion (or lack thereof) on my local private testnet.
-
m-relay
<woodser:monero.social> any help or advice would be appreciated
-
m-relay
<ofrnxmr:xmr.mx> Default fee checks from the node
-
m-relay
-
m-relay
<woodser:monero.social> yeah it checks the node for congestion and adjusts the priority if necessary. but there's equivalent fixed index in the response from `get_fee_estimate` which does the same, so one cannot programmatically estimate the "default" fee iiuc
-
m-relay
<woodser:monero.social> there's *no equivalent fixed index from `get_fee_estimate`
-
m-relay
<ofrnxmr:xmr.mx> You dont need get fee estimate
-
m-relay
<ofrnxmr:xmr.mx> also, i just submit tx with do_not_relay if i need fee estimate
-
m-relay
<ofrnxmr:xmr.mx> Returns the exact fee for the tx
-
m-relay
<woodser:monero.social> that will return the fee used in a tx, but not necessarily that the fee is *correct* for default priority. this is for the arbitrator to verify that a pre-constructed transaction from the peer has an appropriate mining fee
-
m-relay
<woodser:monero.social> e.g. to ensure that their penalty tx has an appropriate mining fee and can be broadcast if needed
-
m-relay
<ofrnxmr:xmr.mx> Its correct for default fee if you passed default priority to rpc
-
m-relay
<woodser:monero.social> but a peer may change their code to unimportant instead, for example
-
m-relay
<ofrnxmr:xmr.mx> So set the penalty fee higher by default?
-
m-relay
<woodser:monero.social> that's ineffective if the peer has provided a transaction with artificially low mining fee (they could have even modified the code to reduce the fee more), and then it can't be mined
-
m-relay
<ofrnxmr:xmr.mx> Default cant be guaranteed to have the appropriate mining fee, because the txpool and block saturation can change before the penalty is taken(?)
-
m-relay
<woodser:monero.social> it's at least a starting point that everyone is playing by the rules
-
m-relay
<woodser:monero.social> otherwise there's no guarantee a malicious user has not set a custom tiny fee
-
m-relay
<ofrnxmr:xmr.mx> You can't set the fee below low
-
m-relay
<ofrnxmr:xmr.mx> actually, yes you can if you modify the code
-
m-relay
<woodser:monero.social> yes
-
m-relay
<ofrnxmr:xmr.mx> So why not just check that its one of the 4 tiers? (dont have to check auto, just check low, normal, med, high)
-
m-relay
<woodser:monero.social> it allows users to modify their software to always use unimportant
-
m-relay
<ofrnxmr:xmr.mx> Which isnt really a major issue
-
m-relay
<woodser:monero.social> if there's congestion, then it can create an issue getting the peer funds into the multisig wallet
-
m-relay
<ofrnxmr:xmr.mx> If the pool is big for an extended period of time, other users will be using normal and blocksizes will grow
-
m-relay
<woodser:monero.social> all of this is a hack because `get_fee_estimate` doesn't allow `default` to be determined
-
m-relay
<ofrnxmr:xmr.mx> the wallet2 sets the fee tho, not the daemon
-
m-relay
<ofrnxmr:xmr.mx> get_fee_estimate is a monerod rpc call
-
m-relay
<woodser:monero.social> yeah this is for the arbitrator to verify the mining fee which the peer used when they created the tx. so the arbitrator is calling get_fee_estimate to compare the expected fee vs actual
-
m-relay
<ofrnxmr:xmr.mx> Only way for arbitrator to know the fee based on congestion is to use wallet-rpc.. afaik
-
m-relay
<ofrnxmr:xmr.mx> (since the logic is built into the wallet, not the node)
-
m-relay
<woodser:monero.social> opened an issue for `get_fee_estimate` to return a fee corresponding to default priority:
monero-project/monero #9785
-
m-relay
<woodser:monero.social> and in the meantime need to find the best way to hack this, probably just ensure the peer's fee used at least `unimportant` within some margin of tolerance
-
m-relay
<ofrnxmr:xmr.mx> How would it calculate the wallets fees? They are decided based on wallet2
-
m-relay
<ofrnxmr:xmr.mx> Just make sure the fee per byte matches one of the tiers
-
xmr-pr
woodser opened issue #9785: Default priority has no mapping in get_fee_estimate
-
xmr-pr
-
m-relay
<woodser:monero.social> wallet2 is making calls to monerod to adjust the priority, so I'm assuming the daemon can calculate the same default fee
-
m-relay
<ofrnxmr:xmr.mx> Adding the same logic to monerod (but only for the rpc call?)
-
m-relay
<woodser:monero.social> yes. seems the ideal implementation should be to have monero-wallet-rpc making a single call to monerod to get the default fee
-
m-relay
<ofrnxmr:xmr.mx> Its making cells to monerod to check the txpool size (which might not be consistent among nodes), and the saturation of the past 10 blocks
-
m-relay
<woodser:monero.social> yes, all of that logic could be moved to monerod for equivalent functionality iiuc
-
m-relay
<woodser:monero.social> rather than computing it client side
-
m-relay
<woodser:monero.social> by making multiple calls to monerod
-
m-relay
<ofrnxmr:xmr.mx> i guess malicious nodes already control the fee rate. Probably doesnt hurt for them to also do the fee math
-
m-relay
<ofrnxmr:xmr.mx> moneromooo might know more about the reasoning for it to have be split between wallet and daemon in the first place
-
» moneromooo feels notified - For what to be split ?
-
moneromooo
Seems to be fee per byte and priority ? The daemon cares about fee/byte (soft rejected if too low), but not about priority levels. Was that the question ?
-
m-relay
<ofrnxmr:xmr.mx> The fee tiers are returned from the daemon, but how they are used is set in wallet2
-
m-relay
<ofrnxmr:xmr.mx> Woodser wants to move the default priority maths to the daemon
-
m-relay
<ofrnxmr:xmr.mx> Default/auto
-
moneromooo
Ah, right, the tiers are in the node now. IIRC this is because the new calc from ArticMine required access to more data that the wallet did not have,
-
moneromooo
I see no issue with having the daemon do it.
-
m-relay
<woodser:monero.social> well what I really need is for get_fee_estimate to return an estimate which is the same as `default` used by the wallet
-
m-relay
<woodser:monero.social> but I figure it would make sense for the daemon to do all the calculation, and then the wallet can just use that
-
m-relay
<ofrnxmr:xmr.mx> i think the idea od moving the auto fee calc to the daemon is sane, since the daemon decides on the per byte already
-
moneromooo
Why do you need the daemon to do it out of curiosity ? You don't use wallet2 ?
-
m-relay
<woodser:monero.social> in our case, the arbitrator is verifying the fee of a peer's transaction, to ensure they used an appropriate fee, for example to check that a penalty transaction can be broadcast if they misbehave
-
moneromooo
Oh right, it's java, so no wallet2. Fair enough.
-
m-relay
<woodser:monero.social> peers are using wallet2 to generate the transaction (via monero-wallet-rpc, via java), and arbitrators are verifying the fee by getting the fee estimate from the node
-
m-relay
<woodser:monero.social> but there's no way for the arbitrator to get a fee estimate corresponding to the "default" priority level. only values returned are for unimportant, normal, elevated, and ..super elevated
-
moneromooo
I dunno how it works, but if you get those 4, comparing to see if one of them "works" is not enough ?
-
m-relay
<woodser:monero.social> it just means that peers could hack their software to always use unimportant priority, and it'd pass the arbitrator's check, which could be a problem in times of congestion, to reliably lock the funds in multisig
-
m-relay
<woodser:monero.social> but checking one of the 4 returned values is the best hack I can use now
-
m-relay
<woodser:monero.social> another idea is to simply add a new call to monero-wallet-rpc, e.g. get_default_fee_priority() which returns 0-2 for unimportant, normal, elevated
-
m-relay
<woodser:monero.social> that would solve my problem
-
m-relay
<woodser:monero.social> it would use the same code currently used by wallet2
-
xmr-pr
dbee01 opened issue #9786: Does Simplewallet support QR codes?
-
xmr-pr
-
m-relay
<ofrnxmr:xmr.mx> 0-3, though at this time default only uses 0-1
-
xmr-pr
woodser opened pull request #9788: add wallet rpc call to get default fee priority [RELEASE]
-
xmr-pr
-
xmr-pr
woodser opened pull request #9787: add wallet rpc call to get default fee priority
-
xmr-pr
-
SyntheticBird
d
-
SyntheticBird
miss input sry
-
xmr-pr
tendermonster opened issue #9789: Unable to sync after pruning: E internal error: passed start_height no...
-
xmr-pr