< Lauda> @jonasschnelli Mind telling me how the bech32 cut off in the GUI receive tab? I just tried it on Windows with the version I used to test GUI support, and it looks fine to me(?).
< gmaxwell> cfields: did you try modifying the qsort implementation in the libc to assert if the comparison function ever returns equal, then recompiling gcc and seeing if it asserts?
< ossifrage> gmaxwell, or just LD_PRELOAD a qsort replacement
< eck> that would be too easy
< gmaxwell> ossifrage: my assumption was that cfields wants to fix GCC.
< ossifrage> gmaxwell, LD_PRELOAD could be enough to see if the assert triggers
< * luke-jr> ponders how to fix his wallet; IsMine isn't returning true for BIP17 stuff way back when :x
< luke-jr> reckon it'd work to add the few BIP17 stuffs watch-only scripts?
< bitcoin-git> [bitcoin] MarcoFalke pushed 2 new commits to master: https://github.com/bitcoin/bitcoin/compare/b7450cdbd89a...45cf8a03cb57
< bitcoin-git> bitcoin/master 648bdc8 Jan Sarenik: Trivial: Fix #include sys/fcntl.h to just fcntl.h (without sys/)...
< bitcoin-git> bitcoin/master 45cf8a0 MarcoFalke: Merge #12168: Trivial: Fix #include sys/fcntl.h to just fcntl.h (without sys/)...
< bitcoin-git> [bitcoin] MarcoFalke closed pull request #12168: Trivial: Fix #include sys/fcntl.h to just fcntl.h (without sys/) (master...jasan/fcntl.h) https://github.com/bitcoin/bitcoin/pull/12168
< bitcoin-git> [bitcoin] mruddy opened pull request #12177: trivial: fix address_type help text of getnewaddress and getrawchangeaddress (master...trivial1) https://github.com/bitcoin/bitcoin/pull/12177
< donaloconnor> quick question: I've noticed in many places we pass uint256 by value to functions etc. If there's no particular reason then I don't mind doing a PR to fix these
< Stefani> HODL!
< Chris_Stewart_5> Is there any reason why we shouldn't parse out particular elements of a script in validation.cpp? And then reject if that element isn't 'valid' like we do with locktime/sequence
< sipa> ?
< Chris_Stewart_5> sipa: Let's say *theoretically* there is op code that says this script can't be spent unless a block's POW is *higher* than the what the network wide difficulty is.
< Chris_Stewart_5> we don't have a field on the tx that can easily indicate this no? So if we parsed out a script argument we would be able to achieve this?
< Chris_Stewart_5> this example off of the top my head isn't this great the more i think about it..
< cfields> gmaxwell: yes, that's one of the ways I narrowed it down. I did if (cmp(a,b) == 0) assert(memcmp(a,b,size) == 0);
< cfields> gmaxwell: problem with that is that there are lots of cases where there's some useless component that makes the memcmp fail, but it otherwise wouldn't be used after the sort. So lots of false-positives.
< cfields> but in that case, technically the cmp is still busted.
< cfields> ossifrage: LD_PRELOAD is actually how I first narrowed down qsort as the culprit. I hacked up musl libc, adding in only certain objects to a shared lib, then used LD_PRELOAD to shove it in
< cfields> it gets tricky when you're preloading a different libc, though :p