-
tankf33der
o/
-
tankf33der
found undefined behavior in hmac+keccak, where to report better?
-
sech1
-
tankf33der
sech1: ok
-
ErCiccione[m]
We really need a clarification from the core team about when are hard forks are going to happen. Last time i brought this up in a dev meeting, seemed like nothing changes and we are still going for hard forks every 6 months. Then i read of people mentioning that we moved to 9 months hard fork and now i'm reading the logs of yesterday's MRL meeting and people were assuming that now we have yearly hard forks.
-
ErCiccione[m]
So, what's the deal? Ledger/trezor devs also asked for a timeline, but i think nobody can give one.
-
ErCiccione[m]
I remember luigi mentioning that core were thinking about changing forks time, but rightn ow i have really no idea of what's going on.
-
ErCiccione[m]
Can we have a final word on this? This uncertainty isn't helping anybody
-
moneromooo
It's uncertain because we don't know. If we don't know, we can't tell you.
-
moneromooo
I'm not sure why you'd want to determine in advance when we'll fork. It'll be decided when it is.
-
moneromooo
There's no point in forking on a particular date just because there's a date.
-
ErCiccione[m]
That's a bit of a contrast with what we always said: "let's keep a scheduled hard fork time so that merchants and service are prepatred and know when to expect a network upgrade". If now we moved to "we fork when it's needed" we should make that known and clear, because now somebody think we cfork every year, somebody every 9 months and somebody every 6.
-
dEBRUYNE
That was the expectation, but in practice most services weren't aware a HF would be performed
-
dEBRUYNE
Also we were constantly trying to scramble to get everything out on time imo
-
moneromooo
Well, different people want different things.
-
dEBRUYNE
The RandomX fork arguably went really smooth and it is probably because we deviated from the original schedule
-
ErCiccione[m]
That's what i'm saying. This uncertainty is going to be a problem, because at the end is core that decide
-
dEBRUYNE
I cannot speak with certainty, but I think most of core are basically in line with what mooo stated
-
ErCiccione[m]
I'm only asking to clearly define a workflow here, because something this important cannot be "everyone has a different opinion", because people expecting a fork in one year will have their plans messed up if it happens after 6 months, same for all the other cases
-
ErCiccione[m]
dEBRUYNE: I would just like to have a clear statement. Last time luigi said that core was working on the problem of the schedule and nothing else from that moment on
-
moneromooo
CLSAG's really the only thing we'd want in a fork IIRC. And we don't know when it'll be mergeable due to the audit that's going nowhere in a hurry.
-
moneromooo
Now there's the gingeropolous method, which is to fork anyway even with no actual changes, just to keep people running recent software :)
-
dEBRUYNE
moneromooo: Do you know who took it upon them to manage the audit?
-
ErCiccione[m]
Isn't this discussion proving my point? 🙂 We really don't know, but we need to give timeframes. Trezor (or ledger, don't remember) asked for a date of the next hard fork because they have to be prepared. If we tell them 1 year because some of us think that's the schedule and then we fork after 4 months, it's going to be a problem.
-
ErCiccione[m]
There is an audit workgroup afaik
-
moneromooo
I don't know.
-
ErCiccione[m]
To further clarify my point: i don't care of the timeframe for the HF (1 year, 9 months, 6 months, when it's needed). I care that there is a defined plan and that we are all aware of it. That's what i'm asking core.
-
dEBRUYNE
I do agree it would be good to have a blog post or a similar document to which we can point
-
dEBRUYNE
Perhaps this can be discussed in the next dev meeting?
-
dEBRUYNE
<moneromooo> I don't know. <= All right, I will ask around
-
ErCiccione[m]
That would be good. Last time i didn't have much success.
-
RowanSkye
Hey guys, any tips on creating a coin of my own? I have plans to use either an EOS token, an SLP token, or a coin?
-
moneromooo
Sure, first tip is to ask in a channel where it's on topic.
-
RowanSkye
alright
-
RowanSkye
my bad
-
stackdump66
-
stackdump66
there is a crashfile produced - not sure what else I can try to debug
-
moneromooo
Did you build this for hte right arch ?
-
moneromooo
ie, armv8/armv7 etc.
-
stackdump66
I downloaded the binary
-
moneromooo
Did you download a binary for the right arch ?
-
stackdump66
yes AFAIK
-
moneromooo
Try setting the env var: MONERO_USE_SOFTWARE_AES=1, then run again.
-
stackdump66
similar result
-
moneromooo
What does gdb say the ill insn is ?
-
stackdump66
sorry minimal experience w/ using gdb - what should I do?
-
moneromooo
gdb monerod
-
moneromooo
run
-
moneromooo
li
-
moneromooo
It should show the instructions around where it died.
-
stackdump66
awesome - it shows "1 ../sysdeps/unix/sysv/linux/aarch64/init-first.c: No such file or directory."
-
stackdump66
hah well maybe this is more relevant Program received signal SIGILL, Illegal instruction.0x0000aaaaab23232c in aes_expand_key ()(gdb) li
-
moneromooo
It's apparently trying to use aes insns which your CPU does not have.
-
moneromooo
If MONERO_USE_SOFTWARE_AES=1 does not help, you need to tell your compiler to not generate aes insns.
-
moneromooo
Or find a binary where this was done.
-
stackdump66
cool I can try to make a build
-
stackdump66
I did try to compile *on* my PI - generally should I be doing this from another X64 Linux & cross-compiling?
-
moneromooo
Cross compiling will be faster if you already have a setup for it.
-
stackdump66
thx I'll try to do this
-
bysnack
Hey moneromooo, about the serialization discussion you had before... I was doing some research about what can be adapted in epee::serialization for the json structures to use rapidjson.
-
bysnack
I have also seen a PR by vtnerd which replaces the rapidjson streams with a byte stream class for zmq which could be used there too.
-
bysnack
The main idea is to keep the current abstraction improving the json serialization speed and code maintainability, which is quite hard to read right now, with a well known and maintained library as rapidjson.
-
bysnack
There were some discussions in the past about doing this but I'd like to ask just in case before actually getting into it, could we want this?
-
bysnack
BTW the main benefits of doing so are here
github.com/bertptrs/json-speedtest
-
moneromooo
I'm not buying the maintenability argument. It'll just be other problems. I don't like big changes just because someone prefers another lib. IIRC the speed tests did demonstrate a good advantage to switching though.
-
moneromooo
(and to build time)
-
moneromooo
So if someome were to do this and the claimed gains were confirmed, I'd be fine with the change. Though I'd prefer if the author tried to keep the diffs contained if possible.
-
bertptrs
Hey, an unexpected mention. I think someone suggested a "bastard child of epee and rapidjson" to keep the diff down when I showed this? I never got around to implementing it unfortunately
-
moneromooo
I do recall something like this.
-
bysnack
Sounds like a plan
-
moneromooo
hyc, vtnerd: any idea about the last comment in
monero-project/monero #6454 ?
-
moneromooo
I don't see what's undefined.
-
hyc
looking
-
hyc
unsigned long compared to unsigned long? wtf is wrong with that? I think the tool is broken
-
hyc
what's different in bytecoin's keccak.c ?
-
moneromooo
IIRC I added the aligned test at some point.
-
moneromooo
There's probably something clever going on I can't see.
-
moneromooo
Oh.
-
moneromooo
Wait, no.
-
moneromooo
I was thinking alignment, but the pointer would have the right alignment in memory would it.
-
hyc
the address of the pointer, vs what it points to?
-
moneromooo
Yes.
-
moneromooo
What it points to is not necessarily aligned (thus the test).
-
hyc
yah, compiler would ensure the pointer itself is aligned
-
hyc
and nobody is taking the address of the pointer there
-
moneromooo
Could there be a compiler with 32 bit pointers and 64 bit unsigned long ?
-
hyc
mm, yes possible
-
moneromooo
Yeah, doesn't matter, even if the pointer was aligned on 32 bit only, the compiler should memcpy properly to use as uint64_t.
-
hyc
that's the x64 model actually. 64bit registers but only 32bit address space
-
moneromooo
Sounds like a waste. You need large pointers before large ints usually.
-
moneromooo
And then you can use long long if you do.
-
hyc
I guess it's for some number crunchers, dunno who really uses it
-
sech1
-
hyc
that's not the situation here
-
sech1
not a real problem on our platforms
-
sech1
#define IS_ALIGNED_64(p) (0 == (7 & ((const char*)(p) - (const char*)0)))
-
sech1
that's exactly the situation here
-
sech1
or no
-
moneromooo
IIRC, pedantically doing this subtraction is undefined to cater for segmented archs.
-
moneromooo
Segmented or otherwise machines with different types of memory.
-
sech1
-
hyc
why is that test not just (!(p & 7)) ?
-
sech1
so technically the current macro is UB
-
moneromooo
Feels more polite to cast pointer to integer first :)
-
hyc
fair enough
-
hyc
anyway, casting to uintptr_t is legal, and taking anyt int & 7 is legal
-
hyc
so I think the tool is broken
-
moneromooo
sech1's link says "any other arithmetic". Though that's not a standard quote.
-
hyc
bitops aren't arithmetic
-
moneromooo
So I guess &7 would be arithmetic. Is bit twiddling considered... ok.
-
hyc
even so, you're doing &7 of a uint, not a pointer
-
sech1
I don't see anything wrong with #define IS_ALIGNED_64(p) ((((uintptr_t)p) & 7) == 0)
-
sech1
it should be correct everywhere
-
moneromooo
Maybe some archs have ints so small 7 is off the range ^_^
-
sech1
I think that tool is broken: "warning: The following sub-expression cannot be evaluated:" hence the error later
-
hyc
agreed. if it can't evaluate a subexp (unsigned long)x & (unsigned long 7) it's braindead
-
hyc
I think they should report this to the tool maker
-
hyc
not us
-
moneromooo
I suspect it's not that dumb, and the messages may be non obvious.
-
hyc
then report to the toolmaker that their diagnostic messages suck
-
moneromooo
Like, it can't because of a constraint somewhere that it's not mentioning.
-
moneromooo
Fair.
-
hyc
none of this source line numbers correspond to our source
-
hyc
s/this/his/
-
gingeropolous
of course, the other option is to make compiling the wallet optional.
-
gingeropolous
if wallet2.h is only used when creating monero-wallet-cli .
-
gingeropolous
just making up a random statistic, but i'd bet 80% of the time, a developer compiling monero is optimizing/hacking something in the daemon
-
gingeropolous
but then again its me, and for all i know wallet2.h is used when compiling the daemon because logic.
-
gingeropolous
for the record, this is regarding the compile time reduction ccs / effort
-
moneromooo
You can already compile just the daemon, that's what I do.
-
moneromooo
(and deps)
-
gingeropolous
right, but something something defaults
-
gingeropolous
something something
-
gingeropolous
hell thats probably a makefile mod, right? i bet even i could figure that out
-
moneromooo
Yes. Two lines. Including a blank one.
-
gingeropolous
we'll see. i surprise myself with how incompetent i am sometimes
-
moneromooo
Actually, I was thinking of "all:\n\n", and you'd have to do make -C build/release daemon wallet otherstuff, but that can't work since you have to run cmake anyway.
-
UkoeHB_
who needs enemies when you have your inner voice
-
hyc
I usuallu just cd src/daemon and then do a bunch of makes from there
-
sarang
Has the `test-ubuntu` CI action been disabled/removed?
-
sarang
It doesn't appear in a recent commit/push I did on a branch
-
selsta
no
-
selsta
it just starts once the build-ubuntu one is finished
-
selsta
so it will look invisible at first
-
sarang
Heh, so I've clearly missed that _the entire time_
-
sarang
=p
-
» sarang goes away now
-
selsta
we could start it from the beginning, not sure if that would be preferred
-
sarang
Yup, just appeared now that `build-ubuntu` completed :)
-
» sarang withdraws his comment
-
UkoeHB_