{
  "founder": "wumpus",
  "channel": "#bitcoin-core-dev",
  "network": "freenode",
  "id": "a009d95a3749408a9f6183803d71f61b",
  "name": "#bitcoin-core-dev",
  "chair": "wumpus",
  "chairs": [
    "wumpus"
  ],
  "nicks": {
    "wumpus": 51,
    "lightningbot": 2,
    "jonasschnelli": 4,
    "jonatack": 7,
    "MarcoFalke": 5,
    "hebasto": 1,
    "amiti": 1,
    "fjahr": 1,
    "luke-jr": 47,
    "sipa": 64,
    "achow101": 1,
    "meshcollider": 1,
    "jnewbery": 1,
    "gribble": 3,
    "jeremyrubin": 7,
    "kanzure": 1,
    "real_or_random": 5,
    "elichai2": 1
  },
  "start_time": "2020-09-24T19:02:37+00:00",
  "end_time": "2020-09-24T19:46:51+00:00",
  "active": false,
  "original_topic": "Bitcoin Core development discussion and commit log | This is the channel for developing Bitcoin Core. Feel free to watch, but please take commentary and usage questions to #bitcoin | Channel logs: http://www.erisian.com.au/bitcoin-core-dev/, http://gnusha.org/bitcoin-core-dev/ | Meeting topics https://gist.github.com/moneyball/071d608fdae217c2a6d7c35955881d8a",
  "current_topic": "High priority for review",
  "messages": [
    {
      "id": "0f9718a29cec4bf0bcdd684ad842e534",
      "sender": "wumpus",
      "payload": "#startmeeting",
      "action": false,
      "timestamp": "2020-09-24T19:02:37+00:00"
    },
    {
      "id": "71a7a85c0fe54399920152ac8ed9343e",
      "sender": "lightningbot",
      "payload": "Meeting started Thu Sep 24 19:02:37 2020 UTC.  The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot.",
      "action": false,
      "timestamp": "2020-09-24T19:02:37+00:00"
    },
    {
      "id": "fbcbf7c47afc4a91839f96a8f5888cc6",
      "sender": "lightningbot",
      "payload": "Useful Commands: #action #agreed #help #info #idea #link #topic.",
      "action": false,
      "timestamp": "2020-09-24T19:02:37+00:00"
    },
    {
      "id": "d32bb34b27b9498e9b7a4f8fc5a60694",
      "sender": "jonasschnelli",
      "payload": "hi",
      "action": false,
      "timestamp": "2020-09-24T19:02:41+00:00"
    },
    {
      "id": "ab5f6b3e27e34e9eb84fe268242746ff",
      "sender": "jonatack",
      "payload": "hi",
      "action": false,
      "timestamp": "2020-09-24T19:02:43+00:00"
    },
    {
      "id": "732c199991064a75b16986586eff4d11",
      "sender": "MarcoFalke",
      "payload": "hi",
      "action": false,
      "timestamp": "2020-09-24T19:02:43+00:00"
    },
    {
      "id": "92264e22eea84e87a0a9b6ad0abf4d53",
      "sender": "hebasto",
      "payload": "hi",
      "action": false,
      "timestamp": "2020-09-24T19:02:45+00:00"
    },
    {
      "id": "1b02c18709e84b458349986016b9e5e8",
      "sender": "amiti",
      "payload": "hi",
      "action": false,
      "timestamp": "2020-09-24T19:02:46+00:00"
    },
    {
      "id": "6dc2bb66d318422c83de8a101cae70e0",
      "sender": "fjahr",
      "payload": "hi",
      "action": false,
      "timestamp": "2020-09-24T19:02:50+00:00"
    },
    {
      "id": "907f38649e2042c1b461ffdf958910f7",
      "sender": "luke-jr",
      "payload": "hi",
      "action": false,
      "timestamp": "2020-09-24T19:02:51+00:00"
    },
    {
      "id": "d06f327e745c4ae29f737b71c04b3f54",
      "sender": "sipa",
      "payload": "hi",
      "action": false,
      "timestamp": "2020-09-24T19:02:53+00:00"
    },
    {
      "id": "76fc552ae1b848e281d558f568314012",
      "sender": "achow101",
      "payload": "hi",
      "action": false,
      "timestamp": "2020-09-24T19:02:53+00:00"
    },
    {
      "id": "123a75c67dee47d9a75c67ec234917ea",
      "sender": "wumpus",
      "payload": "#bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier jl2012 achow101 meshcollider jnewbery maaku fanquake promag provoostenator aj Chris_Stewart_5 dongcarl gwillen jamesob ken281221 ryanofsky gleb moneyball kvaciral ariard digi_james",
      "action": false,
      "timestamp": "2020-09-24T19:03:09+00:00"
    },
    {
      "id": "cb8aee4eadfc4a71bf944bcd39f66e39",
      "sender": "wumpus",
      "payload": "amiti fjahr jeremyrubin lightlike emilengler jonatack hebasto jb55 elichai2",
      "action": false,
      "timestamp": "2020-09-24T19:03:11+00:00"
    },
    {
      "id": "02cee5bfe2344a88a0446d3696e1ff3b",
      "sender": "meshcollider",
      "payload": "hi",
      "action": false,
      "timestamp": "2020-09-24T19:03:28+00:00"
    },
    {
      "id": "f3bd2d5e4ea34e9091b2070d9cf239f5",
      "sender": "jnewbery",
      "payload": "hi",
      "action": false,
      "timestamp": "2020-09-24T19:03:49+00:00"
    },
    {
      "id": "be9b11aa6220450d891aa64208ba1ec5",
      "sender": "wumpus",
      "payload": "one proposed topic: what sipa just said (will have to look up in the log what :-)",
      "action": false,
      "timestamp": "2020-09-24T19:03:58+00:00"
    },
    {
      "id": "8710f867d512475fa61ac1b265d053e8",
      "sender": "sipa",
      "payload": "wumpus: #20005",
      "action": false,
      "timestamp": "2020-09-24T19:04:18+00:00"
    },
    {
      "id": "7a0f64b2176a465ca8dd8f8cdd15db5e",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/20005 | memcmp with constants that contain zero bytes are broken in GCC \u00c3\u0082\u00c2\u00b7 Issue #20005 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2020-09-24T19:04:19+00:00"
    },
    {
      "id": "70bb6c4118ec494ba796fb59b8a76061",
      "sender": "luke-jr",
      "payload": "https://dpaste.com/GU4GPSPB8 <-- affected symbols in bitcoind",
      "action": false,
      "timestamp": "2020-09-24T19:04:38+00:00"
    },
    {
      "id": "144158bf6d554858aaed96ea6a1180fa",
      "sender": "jeremyrubin",
      "payload": "hi",
      "action": false,
      "timestamp": "2020-09-24T19:04:42+00:00"
    },
    {
      "id": "2aa91e71603149f2af7902aa5df58fec",
      "sender": "wumpus",
      "payload": "I see",
      "action": false,
      "timestamp": "2020-09-24T19:04:42+00:00"
    },
    {
      "id": "6996f5e8c61247aabec415a3249eb3ca",
      "sender": "sipa",
      "payload": "yeah i just wanted to draw attention to this potentially very scary bug",
      "action": false,
      "timestamp": "2020-09-24T19:05:11+00:00"
    },
    {
      "id": "c88c29ddabb0422e8d5c6257035e05be",
      "sender": "wumpus",
      "payload": "how did they manage to break such a basic library function",
      "action": false,
      "timestamp": "2020-09-24T19:05:26+00:00"
    },
    {
      "id": "0ff93efe14ba49e7ba1655e991ad30d6",
      "sender": "kanzure",
      "payload": "hi",
      "action": false,
      "timestamp": "2020-09-24T19:05:30+00:00"
    },
    {
      "id": "2c2a62a827ac493e8c34c5f10ec3e5a4",
      "sender": "luke-jr",
      "payload": "wumpus: they turned it into strcmp sometimes it looks like",
      "action": false,
      "timestamp": "2020-09-24T19:05:38+00:00"
    },
    {
      "id": "6c3128d311da41fa8e212609e2cf6f40",
      "sender": "sipa",
      "payload": "wumpus: it's not a libc bug, it's bug in gcc's implementation of __builtin_memcmp",
      "action": false,
      "timestamp": "2020-09-24T19:05:43+00:00"
    },
    {
      "id": "6394dbdbc9fb403aad963042f6437e7a",
      "sender": "luke-jr",
      "payload": "at least the consensus code seems to have dodged it",
      "action": false,
      "timestamp": "2020-09-24T19:05:50+00:00"
    },
    {
      "id": "42d68e61db894bdd9693935b3e670a92",
      "sender": "sipa",
      "payload": "but otherwise yes, this is really concerning",
      "action": false,
      "timestamp": "2020-09-24T19:06:08+00:00"
    },
    {
      "id": "6ce880b887e64659b12048449ff312e3",
      "sender": "sipa",
      "payload": "i believe none of our gitian builds are affected, as we use older GCCs",
      "action": false,
      "timestamp": "2020-09-24T19:06:20+00:00"
    },
    {
      "id": "afb5a4646017498ea383b9f3c51b98b1",
      "sender": "sipa",
      "payload": "can someone verify that?",
      "action": false,
      "timestamp": "2020-09-24T19:06:27+00:00"
    },
    {
      "id": "b4f455ecf90a433a8f31d978d76136d8",
      "sender": "wumpus",
      "payload": "that's at least good to know, let me see",
      "action": false,
      "timestamp": "2020-09-24T19:06:32+00:00"
    },
    {
      "id": "7aebdedfe1d34f09a49fb34e2f40840e",
      "sender": "luke-jr",
      "payload": "macOS build should use LLVM IIRC",
      "action": false,
      "timestamp": "2020-09-24T19:06:50+00:00"
    },
    {
      "id": "e1d30ee4fa5e49e797357c732a2076d3",
      "sender": "sipa",
      "payload": "luke-jr: indeed",
      "action": false,
      "timestamp": "2020-09-24T19:06:57+00:00"
    },
    {
      "id": "cfa377de5a494ee1b68b8cf5ee3d4e4a",
      "sender": "jeremyrubin",
      "payload": "sipa: is this a generaly class of bugs do you reckon or pretty specific to memcmp? should we be auditing all builtins?",
      "action": false,
      "timestamp": "2020-09-24T19:07:06+00:00"
    },
    {
      "id": "4c629a602a3949b2990935f1612a6fb0",
      "sender": "MarcoFalke",
      "payload": "sipa: Gitian should use 7 and 8",
      "action": false,
      "timestamp": "2020-09-24T19:07:10+00:00"
    },
    {
      "id": "73b45d0e1d5542e58ce965b87600ed0b",
      "sender": "luke-jr",
      "payload": "I *assume* LLVM didn't reimplement this bug",
      "action": false,
      "timestamp": "2020-09-24T19:07:11+00:00"
    },
    {
      "id": "d08675d0e1d54c9ab5593ee93c596388",
      "sender": "wumpus",
      "payload": "gcc 8 it seems",
      "action": false,
      "timestamp": "2020-09-24T19:07:13+00:00"
    },
    {
      "id": "9a15138947144141a1487727efb7aec4",
      "sender": "sipa",
      "payload": "jeremyrubin: i don't think we have the manpower to do actual auditing of all of gcc's builtins (and other potential bugs), nor is that our job",
      "action": false,
      "timestamp": "2020-09-24T19:07:46+00:00"
    },
    {
      "id": "4e748b0b0ad844929c41c1b7960a7fc0",
      "sender": "jonasschnelli",
      "payload": "bionic uses gcc 7, right?",
      "action": false,
      "timestamp": "2020-09-24T19:07:50+00:00"
    },
    {
      "id": "8483e2c9ed234cf9b604848036844a28",
      "sender": "luke-jr",
      "payload": "jonasschnelli: yes",
      "action": false,
      "timestamp": "2020-09-24T19:08:06+00:00"
    },
    {
      "id": "f1f0dbec3875475d99745c72efb2cae8",
      "sender": "wumpus",
      "payload": "jonasschnelli: but we explicitly install 8 for some platforms",
      "action": false,
      "timestamp": "2020-09-24T19:08:12+00:00"
    },
    {
      "id": "e71dbdaff8e24204879614fd29b8d1c4",
      "sender": "luke-jr",
      "payload": "^",
      "action": false,
      "timestamp": "2020-09-24T19:08:17+00:00"
    },
    {
      "id": "3525b0cc2be3401aa4ea764c8e24325a",
      "sender": "sipa",
      "payload": "jeremyrubin: i think it's important to note that while the bug was known, we stumbled upon it in the libsecp256k1 repo, in a test",
      "action": false,
      "timestamp": "2020-09-24T19:08:28+00:00"
    },
    {
      "id": "4e1c496563ad4ac197d77bfd1f94a350",
      "sender": "jonasschnelli",
      "payload": "Ah. Yes. Arm / risc uses gcc-8",
      "action": false,
      "timestamp": "2020-09-24T19:08:48+00:00"
    },
    {
      "id": "95f70f2e3bde4eb6a79e39c83d4e8b5a",
      "sender": "luke-jr",
      "payload": "hmm",
      "action": false,
      "timestamp": "2020-09-24T19:08:54+00:00"
    },
    {
      "id": "517e56afd82747c7b403e7ff622d59b8",
      "sender": "sipa",
      "payload": "so that's kind of a sign that our processes are at least capable of catching some issues like this",
      "action": false,
      "timestamp": "2020-09-24T19:08:56+00:00"
    },
    {
      "id": "642f653b3af04c38acb19655874352a8",
      "sender": "luke-jr",
      "payload": "sipa: should I be concerned I *didn't* get any libsecp symbols in my comparison?",
      "action": false,
      "timestamp": "2020-09-24T19:09:06+00:00"
    },
    {
      "id": "eb3b075acc0b4b67b259a38d1c45a36d",
      "sender": "wumpus",
      "payload": "I honestly don't now how to prevent us being affected by problems like this",
      "action": false,
      "timestamp": "2020-09-24T19:09:25+00:00"
    },
    {
      "id": "3b2aec5eba23477581aa1d142be486c0",
      "sender": "luke-jr",
      "payload": "or is the test only in a newer version?",
      "action": false,
      "timestamp": "2020-09-24T19:09:26+00:00"
    },
    {
      "id": "65d650ba48424fe080928e6d0e7357cf",
      "sender": "sipa",
      "payload": "luke-jr: no, i think this is expected (it's in code added in a new test)",
      "action": false,
      "timestamp": "2020-09-24T19:09:26+00:00"
    },
    {
      "id": "dfa12f25843149b0b954f1a9bfbe0091",
      "sender": "wumpus",
      "payload": "computers are broken",
      "action": false,
      "timestamp": "2020-09-24T19:09:28+00:00"
    },
    {
      "id": "f553303df998425c85e497edb6f3c1fd",
      "sender": "jonasschnelli",
      "payload": "indeed",
      "action": false,
      "timestamp": "2020-09-24T19:09:35+00:00"
    },
    {
      "id": "230f0171afeb4a1f96d2707db4cb903d",
      "sender": "sipa",
      "payload": "reality is often disappointing",
      "action": false,
      "timestamp": "2020-09-24T19:10:09+00:00"
    },
    {
      "id": "d89596331c1c4212b847e951a98417c1",
      "sender": "wumpus",
      "payload": "I can understand libc bugs in some cases but this is something so low-level",
      "action": false,
      "timestamp": "2020-09-24T19:10:11+00:00"
    },
    {
      "id": "650d3b447a2c486a9a9a1cac454dd56f",
      "sender": "sipa",
      "payload": "anyway, i think we should see what performance impact building with -fno-builtin-memcmp has",
      "action": false,
      "timestamp": "2020-09-24T19:10:40+00:00"
    },
    {
      "id": "af835fcdc9204895a3fa55dfb122cfc2",
      "sender": "wumpus",
      "payload": "sipa: yes but only for affected compilers",
      "action": false,
      "timestamp": "2020-09-24T19:10:51+00:00"
    },
    {
      "id": "2ea8fca5a2524c2897b2c3d128ec5220",
      "sender": "sipa",
      "payload": "if that is sufficiently low, i think that's a sufficient solution - perhaps restricted to GCC 9 and 10",
      "action": false,
      "timestamp": "2020-09-24T19:10:58+00:00"
    },
    {
      "id": "b54f2c5a941d40bc9f78584407cb7b6c",
      "sender": "luke-jr",
      "payload": "sipa: that won't fix C++ afaik",
      "action": false,
      "timestamp": "2020-09-24T19:10:59+00:00"
    },
    {
      "id": "320e7ca4cb3e47beadc79834fba852cd",
      "sender": "sipa",
      "payload": "luke-jr: it will",
      "action": false,
      "timestamp": "2020-09-24T19:11:06+00:00"
    },
    {
      "id": "bcea7bad70d94874a7d9c2dff6a8b7f4",
      "sender": "sipa",
      "payload": "luke-jr: std::lexicographical_compare (in the .h file) just calls __builting_memcmp",
      "action": false,
      "timestamp": "2020-09-24T19:11:29+00:00"
    },
    {
      "id": "6c8c5a71d8164aceb794191448b3e64a",
      "sender": "MarcoFalke",
      "payload": "Should we also add a test that fails with gcc9/10?",
      "action": false,
      "timestamp": "2020-09-24T19:11:38+00:00"
    },
    {
      "id": "3179b29a6d0c4035a8ce218169045ac1",
      "sender": "wumpus",
      "payload": "I don't even care about peformance there, just add the option, it needs to be correct, if people want performance don't use a broken compiler",
      "action": false,
      "timestamp": "2020-09-24T19:11:39+00:00"
    },
    {
      "id": "f3001382e3244532a0a34690a6d81bf7",
      "sender": "sipa",
      "payload": "MarcoFalke: definitely",
      "action": false,
      "timestamp": "2020-09-24T19:11:46+00:00"
    },
    {
      "id": "645b29d6641c400f9ec5b883e0777079",
      "sender": "luke-jr",
      "payload": "sipa: -fno-builtin-* doesn't affect __builtin_*",
      "action": false,
      "timestamp": "2020-09-24T19:11:52+00:00"
    },
    {
      "id": "441ecb3959f946bca99de6e388fbd357",
      "sender": "sipa",
      "payload": "luke-jr: hmm!",
      "action": false,
      "timestamp": "2020-09-24T19:12:00+00:00"
    },
    {
      "id": "0dfea18280ed43599fb15cf7f6bf55ed",
      "sender": "sipa",
      "payload": "that's a good point, let's test that",
      "action": false,
      "timestamp": "2020-09-24T19:12:09+00:00"
    },
    {
      "id": "ef058fdc44cd408d928f97ea4ef868e7",
      "sender": "wumpus",
      "payload": "that's the important thing thoug hthat it fixes the issue, a test like MarcoFalke says makes a lot of sense",
      "action": false,
      "timestamp": "2020-09-24T19:12:18+00:00"
    },
    {
      "id": "880fc1989e9742b98453e2bf53ccb48f",
      "sender": "luke-jr",
      "payload": "at least GCC's docs suggest to whitelist builtins, one should use -fno-builtin and call __builtin_* directly ;)",
      "action": false,
      "timestamp": "2020-09-24T19:12:35+00:00"
    },
    {
      "id": "74951a36b6694b208d26b86425635fba",
      "sender": "wumpus",
      "payload": "or just fail compiling on affected compilers, they're going to backport a fix right?",
      "action": false,
      "timestamp": "2020-09-24T19:13:00+00:00"
    },
    {
      "id": "9a402c78ce3340da870e936d7820f471",
      "sender": "sipa",
      "payload": "wumpus: yes",
      "action": false,
      "timestamp": "2020-09-24T19:13:09+00:00"
    },
    {
      "id": "881461f5fe604942ba3696ebfae54e96",
      "sender": "luke-jr",
      "payload": "wumpus: supposedly, but it looks non-trivial and they haven't yet",
      "action": false,
      "timestamp": "2020-09-24T19:13:12+00:00"
    },
    {
      "id": "545a13873184436f8d63bb4dac6ea052",
      "sender": "wumpus",
      "payload": "I'd prefer things to build at all on compilers with a broken memcmp",
      "action": false,
      "timestamp": "2020-09-24T19:13:28+00:00"
    },
    {
      "id": "03394df40b754084afd7502acc1b96d2",
      "sender": "wumpus",
      "payload": "+not",
      "action": false,
      "timestamp": "2020-09-24T19:13:33+00:00"
    },
    {
      "id": "0bc2eda4f8bb408d83b33c83521eb2af",
      "sender": "sipa",
      "payload": "it's fixed in master, but not in any release",
      "action": false,
      "timestamp": "2020-09-24T19:13:44+00:00"
    },
    {
      "id": "79ec7acc4b21432c992573ed1b04aa8f",
      "sender": "jonatack",
      "payload": "gcc 9.3 and 10.1 seem afficted",
      "action": false,
      "timestamp": "2020-09-24T19:14:06+00:00"
    },
    {
      "id": "0bd6a165a51440dc9d0e09fe5e878e5e",
      "sender": "wumpus",
      "payload": "(whatever we end up doing, we need a test for this in configure)",
      "action": false,
      "timestamp": "2020-09-24T19:14:15+00:00"
    },
    {
      "id": "8ce215f2753a45f2bcd0abbf04b8517a",
      "sender": "luke-jr",
      "payload": "personally, I neutered my builtin memcmp to always fail (fallback to libc) and am rebuilding my system",
      "action": false,
      "timestamp": "2020-09-24T19:14:18+00:00"
    },
    {
      "id": "8beabd3e3bc447b0a5e093a16a11c919",
      "sender": "sipa",
      "payload": "wumpus: my first thought was adding a configure test that exploits the bug... but that won't work when crosscompiling",
      "action": false,
      "timestamp": "2020-09-24T19:14:40+00:00"
    },
    {
      "id": "1323c156354941eb838c36238325b437",
      "sender": "sipa",
      "payload": "i think?",
      "action": false,
      "timestamp": "2020-09-24T19:14:43+00:00"
    },
    {
      "id": "dc74b58050fd428d8c61e13504811e65",
      "sender": "luke-jr",
      "payload": "well, crosscompiling, we can't run it",
      "action": false,
      "timestamp": "2020-09-24T19:14:57+00:00"
    },
    {
      "id": "f66c6f7d078b4688a41d928f408c1f4f",
      "sender": "wumpus",
      "payload": "sipa: ... ugh",
      "action": false,
      "timestamp": "2020-09-24T19:14:58+00:00"
    },
    {
      "id": "4731a09ccd7c4ab5ac0fc28d9dc1802c",
      "sender": "luke-jr",
      "payload": "why not add a sanity check? we have others",
      "action": false,
      "timestamp": "2020-09-24T19:15:03+00:00"
    },
    {
      "id": "3e3c8df135a44771989a9e4b44238a60",
      "sender": "sipa",
      "payload": "unless we assume that building for the host platform is always similarly affected as the target platform",
      "action": false,
      "timestamp": "2020-09-24T19:15:09+00:00"
    },
    {
      "id": "3705564ccc364090ae322eb41edba9b8",
      "sender": "wumpus",
      "payload": "yes, you'd need to run it to figure it out right",
      "action": false,
      "timestamp": "2020-09-24T19:15:12+00:00"
    },
    {
      "id": "6aa5886a94164f1c9158b54da73b6594",
      "sender": "jeremyrubin",
      "payload": "Is memcmp constexpr?",
      "action": false,
      "timestamp": "2020-09-24T19:15:14+00:00"
    },
    {
      "id": "7d23f15e899a4368b8d94130dbe94a2f",
      "sender": "jeremyrubin",
      "payload": "Maybe it can static_assert...",
      "action": false,
      "timestamp": "2020-09-24T19:15:21+00:00"
    },
    {
      "id": "7bcb3d368c9f47378b460f9b19fcc8af",
      "sender": "sipa",
      "payload": "jeremyrubin: it's a C function constexpr is a C++ concept",
      "action": false,
      "timestamp": "2020-09-24T19:15:26+00:00"
    },
    {
      "id": "151bc0c712214fccaf3462602741b2de",
      "sender": "wumpus",
      "payload": "holy shit this is *really* bad",
      "action": false,
      "timestamp": "2020-09-24T19:15:29+00:00"
    },
    {
      "id": "d9456776ee0644a5a9333e4bdca3a84b",
      "sender": "luke-jr",
      "payload": "sipa: bad assumption",
      "action": false,
      "timestamp": "2020-09-24T19:15:41+00:00"
    },
    {
      "id": "d68bca0a1bd24300a8681bebd91073e6",
      "sender": "sipa",
      "payload": "luke-jr: yes, i think so",
      "action": false,
      "timestamp": "2020-09-24T19:15:51+00:00"
    },
    {
      "id": "e652f1016b6b4105b77b2aecc6886bc2",
      "sender": "wumpus",
      "payload": "maybe it could expect the symbols generated or something, if it generates a call to strcpy instead?",
      "action": false,
      "timestamp": "2020-09-24T19:15:52+00:00"
    },
    {
      "id": "38685c9f1627472abcfa36970b7a436d",
      "sender": "sipa",
      "payload": "wumpus: there are no calls involved",
      "action": false,
      "timestamp": "2020-09-24T19:16:08+00:00"
    },
    {
      "id": "9bb2d72b397946ab933ecf7d400d830e",
      "sender": "luke-jr",
      "payload": "wumpus: it doesn't",
      "action": false,
      "timestamp": "2020-09-24T19:16:09+00:00"
    },
    {
      "id": "d3f10a34f06642ed8f1b8d40099f5b65",
      "sender": "sipa",
      "payload": "it's the autogenerated builtin code that is wrong",
      "action": false,
      "timestamp": "2020-09-24T19:16:14+00:00"
    },
    {
      "id": "0896eac756d24e789433f4a30de8e163",
      "sender": "luke-jr",
      "payload": "wumpus: it's unrolling the memcmp",
      "action": false,
      "timestamp": "2020-09-24T19:16:19+00:00"
    },
    {
      "id": "29477762ff06478484425ca9ad0edf8f",
      "sender": "wumpus",
      "payload": "ok...",
      "action": false,
      "timestamp": "2020-09-24T19:16:22+00:00"
    },
    {
      "id": "0f73244ad2d84807aedae270bcaee4a8",
      "sender": "sipa",
      "payload": "which makes it implementation something more or less equal to strcmp rather than memcmp",
      "action": false,
      "timestamp": "2020-09-24T19:16:31+00:00"
    },
    {
      "id": "25811d7d74ff411487d2cadb8da7c109",
      "sender": "luke-jr",
      "payload": "basically turns it into if (a[0] == \"x\" && a[1] == \"x\" && \u00c3\u00a2\u00c2\u0080\u00c2\u00a6)",
      "action": false,
      "timestamp": "2020-09-24T19:16:52+00:00"
    },
    {
      "id": "6f1c8c55838c4e268f41a79863951025",
      "sender": "luke-jr",
      "payload": "aiui",
      "action": false,
      "timestamp": "2020-09-24T19:17:11+00:00"
    },
    {
      "id": "d294c49d964b4f81b0b284de5c74139d",
      "sender": "wumpus",
      "payload": "that's impossible to check in a platform independent way",
      "action": false,
      "timestamp": "2020-09-24T19:17:24+00:00"
    },
    {
      "id": "f2100dddbe584a1f9473deb83da2ee6e",
      "sender": "jonatack",
      "payload": "it's unclear to me if the patch is in the gcc 10.2 release?",
      "action": false,
      "timestamp": "2020-09-24T19:17:44+00:00"
    },
    {
      "id": "2ea5a18367754259b41b27404f2f5fbe",
      "sender": "luke-jr",
      "payload": "jonatack: no",
      "action": false,
      "timestamp": "2020-09-24T19:17:50+00:00"
    },
    {
      "id": "da807a33ad08498ca32580917b802cbf",
      "sender": "sipa",
      "payload": "jonatack: it is not in any release",
      "action": false,
      "timestamp": "2020-09-24T19:17:52+00:00"
    },
    {
      "id": "50d9094e109a4051a29526e6d079255e",
      "sender": "jonatack",
      "payload": "thank you",
      "action": false,
      "timestamp": "2020-09-24T19:18:00+00:00"
    },
    {
      "id": "f69d52a1652b4458865cadba2b689394",
      "sender": "real_or_random",
      "payload": "fwiw, this is (part of) the GCC patch that fixes this: https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff;f=gcc/builtins.c;h=228db78f32bfdcce31e23850e878843d7a45adcc;hp=eb662112b32e5ad377d2a865d9977c64dc12cc93;hb=d5803b9876b3d11c93d1a10fabb3fbb1c4a14bd6;hpb=3e99ed65cbedf7a6c0abb9cd63c191326995fd34",
      "action": false,
      "timestamp": "2020-09-24T19:18:03+00:00"
    },
    {
      "id": "30b7d11c8da444d096c74cb376bcd8ed",
      "sender": "jeremyrubin",
      "payload": "Could we wrap memcmp with a compile time wrapper that static asserts we aren't using a const array with a 0 byte? Not sure if you can enable-if-fu around constexpr args.",
      "action": false,
      "timestamp": "2020-09-24T19:18:21+00:00"
    },
    {
      "id": "b74b140f06984b438efd8e67dcc33507",
      "sender": "real_or_random",
      "payload": "it's hard to read but I think it's possible to deduce a few condition under which this bug can't happen",
      "action": false,
      "timestamp": "2020-09-24T19:18:38+00:00"
    },
    {
      "id": "ad8870ed230e470692ba60a1ab6eb928",
      "sender": "sipa",
      "payload": "jeremyrubin: that's not a solution",
      "action": false,
      "timestamp": "2020-09-24T19:18:42+00:00"
    },
    {
      "id": "ca0afd5ebe0a43dc88bebaa25997225b",
      "sender": "jeremyrubin",
      "payload": "The bug only happens when it's a const array right?",
      "action": false,
      "timestamp": "2020-09-24T19:18:43+00:00"
    },
    {
      "id": "5a032731e8ec411a8c574d8c8dc1fad6",
      "sender": "sipa",
      "payload": "jeremyrubin: if we can identify all potentially affected code paths, we could just replace them with my_memcmp that doesn't have the bug too",
      "action": false,
      "timestamp": "2020-09-24T19:19:05+00:00"
    },
    {
      "id": "3c81d38bf2494c1282ac1b0b435a6380",
      "sender": "jeremyrubin",
      "payload": "ah right you're worried about other stdlib calls and stuff.",
      "action": false,
      "timestamp": "2020-09-24T19:19:31+00:00"
    },
    {
      "id": "b99b49f0ba8349769570072507db5658",
      "sender": "wumpus",
      "payload": "but C++ also generates memcmps it's not just our own code",
      "action": false,
      "timestamp": "2020-09-24T19:19:37+00:00"
    },
    {
      "id": "f7479bbfc7384aea89b72d961c993c43",
      "sender": "wumpus",
      "payload": "it's a very low-level function",
      "action": false,
      "timestamp": "2020-09-24T19:19:49+00:00"
    },
    {
      "id": "5f8f9f0175d949d396633c794f9f544d",
      "sender": "luke-jr",
      "payload": "sipa: I just did that? :P",
      "action": false,
      "timestamp": "2020-09-24T19:19:52+00:00"
    },
    {
      "id": "3e6ce037c74544ae90b64dbd42837b56",
      "sender": "sipa",
      "payload": "right - \"all code paths\" also contains std::lexicographical_compare and a few other things",
      "action": false,
      "timestamp": "2020-09-24T19:20:02+00:00"
    },
    {
      "id": "f54aa495cc9e46fbb40d759c9bc49f5e",
      "sender": "sipa",
      "payload": "luke-jr: right, but not in a guaranteed automated way",
      "action": false,
      "timestamp": "2020-09-24T19:20:10+00:00"
    },
    {
      "id": "4ed86c6c36ea492b9dca234d8ad28450",
      "sender": "sipa",
      "payload": "luke-jr: it's a really useful way of finding potential issues now, though",
      "action": false,
      "timestamp": "2020-09-24T19:20:23+00:00"
    },
    {
      "id": "b8ccb901a4064f4192a6fdc7d2609944",
      "sender": "sipa",
      "payload": "thanks for that",
      "action": false,
      "timestamp": "2020-09-24T19:20:26+00:00"
    },
    {
      "id": "b189fde693f940cfa0880fde1d8ee627",
      "sender": "sipa",
      "payload": "i've tried making configure detect the version of GCC, and so far been unsuccesful",
      "action": false,
      "timestamp": "2020-09-24T19:21:29+00:00"
    },
    {
      "id": "21c162633fc840f4a236655688522f61",
      "sender": "sipa",
      "payload": "my google-fu led me to 9-year old stackoverflow posts with comments \"ah yes, that doesn't work anymore, let's just delete that functionality\" from the m4 gcc scripts",
      "action": false,
      "timestamp": "2020-09-24T19:22:03+00:00"
    },
    {
      "id": "71a1db9f36504208972f945b4b821d97",
      "sender": "sipa",
      "payload": "(though i'm sure people with more autoconf skills can do better)",
      "action": false,
      "timestamp": "2020-09-24T19:22:09+00:00"
    },
    {
      "id": "eb093aca25ba45adbbc444b85bf4b77c",
      "sender": "luke-jr",
      "payload": ">_<",
      "action": false,
      "timestamp": "2020-09-24T19:22:11+00:00"
    },
    {
      "id": "d855092031d04c2093135d1c06944389",
      "sender": "sipa",
      "payload": "the idea is that in general you should test for compiler features, rather than exact versions",
      "action": false,
      "timestamp": "2020-09-24T19:22:28+00:00"
    },
    {
      "id": "d8ce3ce7f4224d4bb6d13b8e3a7514bd",
      "sender": "sipa",
      "payload": "which is absolutely true, except for bug workarounds :p",
      "action": false,
      "timestamp": "2020-09-24T19:22:36+00:00"
    },
    {
      "id": "b2476e15c1a44a68a9ffd663d4f3e738",
      "sender": "wumpus",
      "payload": "and as soon as the patch is backported to gcc 9 and 10 it will become more difficult too",
      "action": false,
      "timestamp": "2020-09-24T19:22:37+00:00"
    },
    {
      "id": "374623fb1e244a68bbcaee979b1bff37",
      "sender": "luke-jr",
      "payload": "sipa: ideally, yes",
      "action": false,
      "timestamp": "2020-09-24T19:22:38+00:00"
    },
    {
      "id": "3df01feecb98434c9611612362088ec8",
      "sender": "luke-jr",
      "payload": "sipa: even for bug workarounds, you can't use the version number to see that my GCC is patched ;)",
      "action": false,
      "timestamp": "2020-09-24T19:22:52+00:00"
    },
    {
      "id": "7c46f329c4554fecadafd781dc428cac",
      "sender": "sipa",
      "payload": "that's true, but it's a safe superset",
      "action": false,
      "timestamp": "2020-09-24T19:23:02+00:00"
    },
    {
      "id": "48a3466fd57c419db8ba63271115ab1a",
      "sender": "wumpus",
      "payload": "worse, some distributions might backport the single patch without changing the version number",
      "action": false,
      "timestamp": "2020-09-24T19:23:07+00:00"
    },
    {
      "id": "7fa46563b81e485188bbe7185ec82e94",
      "sender": "wumpus",
      "payload": "sure, it dpeends on what it does in that case",
      "action": false,
      "timestamp": "2020-09-24T19:23:25+00:00"
    },
    {
      "id": "fc40b23611a044b98219b7dbc04e50a0",
      "sender": "sipa",
      "payload": "anyway, what's the plan?",
      "action": false,
      "timestamp": "2020-09-24T19:23:26+00:00"
    },
    {
      "id": "797e3834c78940769f536696f49be80b",
      "sender": "wumpus",
      "payload": "if it only passes an extra command line flag it's ok",
      "action": false,
      "timestamp": "2020-09-24T19:23:33+00:00"
    },
    {
      "id": "7f467473ba624acda9022415151779c0",
      "sender": "sipa",
      "payload": "i think the first thing to do is add a unit test that catches the bug",
      "action": false,
      "timestamp": "2020-09-24T19:23:35+00:00"
    },
    {
      "id": "8b56d2044227413fa6885efcfa79caa4",
      "sender": "luke-jr",
      "payload": "sipa: why not sanity test?",
      "action": false,
      "timestamp": "2020-09-24T19:23:54+00:00"
    },
    {
      "id": "1fc5360b21b44a0d90208a04cfd9480f",
      "sender": "sipa",
      "payload": "though we also need to make sure it doesn't become an \"expected failure\" thing that people ignore",
      "action": false,
      "timestamp": "2020-09-24T19:23:55+00:00"
    },
    {
      "id": "63aa8f3786f9459ca7fcbc20ad8af66c",
      "sender": "wumpus",
      "payload": "but it shouldn't fail the build for versions that have been fixed",
      "action": false,
      "timestamp": "2020-09-24T19:23:56+00:00"
    },
    {
      "id": "69c7367a05b5400ea6db63d7f5894049",
      "sender": "sipa",
      "payload": "luke-jr: that's a good point",
      "action": false,
      "timestamp": "2020-09-24T19:24:08+00:00"
    },
    {
      "id": "7f64a7157380441faec6cb0e37c52a10",
      "sender": "wumpus",
      "payload": "a sanity check makes sense",
      "action": false,
      "timestamp": "2020-09-24T19:24:24+00:00"
    },
    {
      "id": "cc27fd2a910f4961a542c4b58cc15e73",
      "sender": "luke-jr",
      "payload": "the GCC bug tracker has a reduced test (note the first test *didn't* fail on my unpatched GCC)",
      "action": false,
      "timestamp": "2020-09-24T19:25:01+00:00"
    },
    {
      "id": "fbf811e7e3814caea7c2f7f33e1a991f",
      "sender": "sipa",
      "payload": "luke-jr: yeah, it seems the cases you need to catch it differ slightly between gcc 9 and 10",
      "action": false,
      "timestamp": "2020-09-24T19:25:29+00:00"
    },
    {
      "id": "e900c65fbe4d45c9b574e433515bcbce",
      "sender": "luke-jr",
      "payload": "hmm",
      "action": false,
      "timestamp": "2020-09-24T19:25:49+00:00"
    },
    {
      "id": "c1a70048df18454c8e260cb6986c9bc4",
      "sender": "luke-jr",
      "payload": "I wonder if that means different code could be affected by GCC 9?",
      "action": false,
      "timestamp": "2020-09-24T19:26:01+00:00"
    },
    {
      "id": "4a2d92b438e9496ca03e047986ae8d88",
      "sender": "luke-jr",
      "payload": "or is GCC 9's affected a strict subset of GCC 10's?",
      "action": false,
      "timestamp": "2020-09-24T19:26:09+00:00"
    },
    {
      "id": "813ed008385b453faf238ed9f6570017",
      "sender": "sipa",
      "payload": "we also should figure out if -fno-builtin-memcmp fixes std::lexicographical_compare",
      "action": false,
      "timestamp": "2020-09-24T19:26:15+00:00"
    },
    {
      "id": "c4f633bbe7424f56bb800596ceb41c2f",
      "sender": "luke-jr",
      "payload": "I very doubt it does",
      "action": false,
      "timestamp": "2020-09-24T19:26:33+00:00"
    },
    {
      "id": "26ed49f58c804164a7daedc4b57d108c",
      "sender": "sipa",
      "payload": "luke-jr: i don't know",
      "action": false,
      "timestamp": "2020-09-24T19:26:37+00:00"
    },
    {
      "id": "06e6893a6730437b87fdbb9fda8ca18c",
      "sender": "sipa",
      "payload": "i don't want to monopolize the meeting with this; we can also continue discussion on #20005",
      "action": false,
      "timestamp": "2020-09-24T19:27:09+00:00"
    },
    {
      "id": "d65ba2c303c341c4a6c9151bf0f4a9a7",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/20005 | memcmp with constants that contain zero bytes are broken in GCC \u00c3\u0082\u00c2\u00b7 Issue #20005 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2020-09-24T19:27:11+00:00"
    },
    {
      "id": "eb66ae8628a04dcba41f8fe8d902ee31",
      "sender": "sipa",
      "payload": "but i think this is deserves some priority",
      "action": false,
      "timestamp": "2020-09-24T19:27:31+00:00"
    },
    {
      "id": "57d1ddd33732497f9cafd98e906e3da7",
      "sender": "wumpus",
      "payload": "we don't have any proposed topics at least",
      "action": false,
      "timestamp": "2020-09-24T19:27:32+00:00"
    },
    {
      "id": "9c1b396e7d4e4c1dadc74be4974049d1",
      "sender": "wumpus",
      "payload": "but we can go to high priority for review if this topic is finished",
      "action": false,
      "timestamp": "2020-09-24T19:27:58+00:00"
    },
    {
      "id": "82a69c1b460e46849f39de51afa712ad",
      "sender": "wumpus",
      "payload": "#topic High priority for review",
      "action": false,
      "timestamp": "2020-09-24T19:28:54+00:00"
    },
    {
      "id": "15aee02a25844a2dabee1da167bfaf8f",
      "sender": "wumpus",
      "payload": "https://github.com/bitcoin/bitcoin/projects/8  13 blockers, 1 bugfix, 2 chasing concept ACK",
      "action": false,
      "timestamp": "2020-09-24T19:29:07+00:00"
    },
    {
      "id": "8bb59c1422464c3bbfcb5e05d8e33b3b",
      "sender": "real_or_random",
      "payload": "i'm somewhat curious to add a patch to GCC that makes it emit a message if it applies this optimization wrongly. that may be possible with some effort given that we have the GCC patch that fixes the issue. but not sure if I'll find time",
      "action": false,
      "timestamp": "2020-09-24T19:29:14+00:00"
    },
    {
      "id": "4431170cee1a45a48584422292314335",
      "sender": "sipa",
      "payload": "real_or_random: luke modified his compiler with the patch, and then tried to see which symbols differ before and after",
      "action": false,
      "timestamp": "2020-09-24T19:29:42+00:00"
    },
    {
      "id": "98d018fa61924b8a9da6c42bc6be1050",
      "sender": "sipa",
      "payload": "(we can continue after the high priority for review topic)",
      "action": false,
      "timestamp": "2020-09-24T19:29:59+00:00"
    },
    {
      "id": "2cd4026d908e4ea990a1019c6f905df2",
      "sender": "real_or_random",
      "payload": "sipa: oh I missed that, cool",
      "action": false,
      "timestamp": "2020-09-24T19:30:03+00:00"
    },
    {
      "id": "7bec1f5c03bc497bbfc7c9361ff96035",
      "sender": "real_or_random",
      "payload": "yes",
      "action": false,
      "timestamp": "2020-09-24T19:30:06+00:00"
    },
    {
      "id": "9f469101077349c88df784c7775bb3be",
      "sender": "wumpus",
      "payload": "patching gcc is not a solution that we can rely on in general as most people don't build their own gcc",
      "action": false,
      "timestamp": "2020-09-24T19:30:59+00:00"
    },
    {
      "id": "d233131f9d014f59a004b424991286e1",
      "sender": "luke-jr",
      "payload": "right, I was just doing it to quickly audit what was affected",
      "action": false,
      "timestamp": "2020-09-24T19:31:49+00:00"
    },
    {
      "id": "b0453ca9058a4ce5818d2eea157c93b1",
      "sender": "wumpus",
      "payload": "sure, for that it's a great way",
      "action": false,
      "timestamp": "2020-09-24T19:31:58+00:00"
    },
    {
      "id": "918a86a17f7c45edbde876ae2df3eabe",
      "sender": "luke-jr",
      "payload": "sipa: btw, I think it's using __builtin_memcmp for std::equal or == in PSBT stuff?",
      "action": false,
      "timestamp": "2020-09-24T19:32:16+00:00"
    },
    {
      "id": "60c0a6e241a346d1a98d686fa81e7f6c",
      "sender": "wumpus",
      "payload": "nothing to discuss about high priority for review PRs?",
      "action": false,
      "timestamp": "2020-09-24T19:33:13+00:00"
    },
    {
      "id": "92af516e7fce41a8a191a2b88052cca3",
      "sender": "sipa",
      "payload": "i guess not...",
      "action": false,
      "timestamp": "2020-09-24T19:33:20+00:00"
    },
    {
      "id": "5056ab310b6f4aefb39918a2055ef3c1",
      "sender": "luke-jr",
      "payload": "pls review rwconf :P",
      "action": false,
      "timestamp": "2020-09-24T19:33:23+00:00"
    },
    {
      "id": "a9b9435bf62d475d8079dfae385d8c55",
      "sender": "jonatack",
      "payload": "high-priority: #19845 might be close",
      "action": false,
      "timestamp": "2020-09-24T19:33:32+00:00"
    },
    {
      "id": "eb0e51c19772416fbbfd2e531a70844c",
      "sender": "gribble",
      "payload": "https://github.com/bitcoin/bitcoin/issues/19845 | net: CNetAddr: add support to (un)serialize as ADDRv2 by vasild \u00c3\u0082\u00c2\u00b7 Pull Request #19845 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
      "action": false,
      "timestamp": "2020-09-24T19:33:35+00:00"
    },
    {
      "id": "4511f9ad07a3491aba76b201d1d76722",
      "sender": "jonatack",
      "payload": "was good to see signet get in this week",
      "action": false,
      "timestamp": "2020-09-24T19:33:53+00:00"
    },
    {
      "id": "27190070131c454aa6eb462e73b50345",
      "sender": "sipa",
      "payload": "indeed",
      "action": false,
      "timestamp": "2020-09-24T19:34:08+00:00"
    },
    {
      "id": "424cce92018c4c78b0d23e9ec5ca5f3c",
      "sender": "luke-jr",
      "payload": "wumpus: oh, we could build with -O1 ?",
      "action": false,
      "timestamp": "2020-09-24T19:34:47+00:00"
    },
    {
      "id": "e98dd011e32b4a52bd0020440e03eae1",
      "sender": "wumpus",
      "payload": "yes",
      "action": false,
      "timestamp": "2020-09-24T19:35:05+00:00"
    },
    {
      "id": "8bed03dea419445ca5fd87062d5c72c5",
      "sender": "luke-jr",
      "payload": "wonders how -O1 works but -fno-builtin-memcmp doesn't",
      "action": true,
      "timestamp": "2020-09-24T19:35:14+00:00"
    },
    {
      "id": "09c8e0ac7bdc4316a7500b78ab634c4d",
      "sender": "MarcoFalke",
      "payload": "Doesn't that make IBD take twice as long?",
      "action": false,
      "timestamp": "2020-09-24T19:35:34+00:00"
    },
    {
      "id": "c369ab310b54468ba0722dd388095bdc",
      "sender": "wumpus",
      "payload": "probably",
      "action": false,
      "timestamp": "2020-09-24T19:35:40+00:00"
    },
    {
      "id": "15e7d9ae2da04ac0af9fba1669a3c3dc",
      "sender": "wumpus",
      "payload": "still better than broken builtins though",
      "action": false,
      "timestamp": "2020-09-24T19:35:47+00:00"
    },
    {
      "id": "881dd855030743bcaa5ada6cf445eec6",
      "sender": "MarcoFalke",
      "payload": "Might be better to refuse to start with the sanity check",
      "action": false,
      "timestamp": "2020-09-24T19:35:50+00:00"
    },
    {
      "id": "2455e9bffa3e4e83904184a376568a17",
      "sender": "luke-jr",
      "payload": "maybe there's some more granular thing we can disable",
      "action": false,
      "timestamp": "2020-09-24T19:35:50+00:00"
    },
    {
      "id": "1cc6f4f803794b289545b7a5a518b2e9",
      "sender": "luke-jr",
      "payload": "MarcoFalke: both \u00c3\u00a2\u00c2\u0098\u00c2\u00ba",
      "action": false,
      "timestamp": "2020-09-24T19:35:59+00:00"
    },
    {
      "id": "9421ef4630014f69aef8540344ab935c",
      "sender": "sipa",
      "payload": "luke-jr: could you build with -fno-builtin-memcmp without the gcc patch, and then (for the affected symbols from your previous list) check if which ones become equal to the fixed gcc output?",
      "action": false,
      "timestamp": "2020-09-24T19:36:06+00:00"
    },
    {
      "id": "2f5fbb93101f425a8e9f03a2023e8bf4",
      "sender": "luke-jr",
      "payload": "sipa: I don't have the unpatched compiler anymore :x",
      "action": false,
      "timestamp": "2020-09-24T19:37:12+00:00"
    },
    {
      "id": "fed2fbdbb2984188aa5e6fb3b56a298c",
      "sender": "luke-jr",
      "payload": "on an x86 server, however, -fno-builtin-memcmp did not fix the bug",
      "action": false,
      "timestamp": "2020-09-24T19:37:29+00:00"
    },
    {
      "id": "06c3ce50c75e423e9014568551047307",
      "sender": "luke-jr",
      "payload": "for    int x= __builtin_memcmp (a, \"\\0\\0\\0\\0\", 4);",
      "action": false,
      "timestamp": "2020-09-24T19:37:36+00:00"
    },
    {
      "id": "6b416f1668e541aa88d3ea134a7baa70",
      "sender": "sipa",
      "payload": "sure, but we never call __builtin_memcmp directly from our code",
      "action": false,
      "timestamp": "2020-09-24T19:38:00+00:00"
    },
    {
      "id": "5afef2176df04fa79bcb7339c05a1301",
      "sender": "wumpus",
      "payload": "speaking of that, what about other dependency libraries that can be assumed to have been built with the broken compiler",
      "action": false,
      "timestamp": "2020-09-24T19:38:49+00:00"
    },
    {
      "id": "aaf2c82b107c4266986f5f5af6914b49",
      "sender": "wumpus",
      "payload": "boost, libupnp, libevent ...",
      "action": false,
      "timestamp": "2020-09-24T19:39:03+00:00"
    },
    {
      "id": "aaace8aed3fc4383ad6bdeb800a9c649",
      "sender": "luke-jr",
      "payload": "we can't fix everything",
      "action": false,
      "timestamp": "2020-09-24T19:39:24+00:00"
    },
    {
      "id": "ef0fa31ad59c47b4baabe4f96ad728dd",
      "sender": "elichai2",
      "payload": "wumpus: is it even remotely possible to check what compiler compiled an already compiled library?",
      "action": false,
      "timestamp": "2020-09-24T19:39:35+00:00"
    },
    {
      "id": "cd3c36fe0c7e4cde9edf1df3bdbcdd5d",
      "sender": "wumpus",
      "payload": "no, we can't",
      "action": false,
      "timestamp": "2020-09-24T19:39:35+00:00"
    },
    {
      "id": "397df6bf29eb4d189350c3c3af6e59bd",
      "sender": "sipa",
      "payload": "doesn't mean we can't work around it",
      "action": false,
      "timestamp": "2020-09-24T19:39:47+00:00"
    },
    {
      "id": "1d439eee83f94560b0ae0d1110a708be",
      "sender": "luke-jr",
      "payload": "I suppose that's an argument for just the sanity check, and not trying to workaround it",
      "action": false,
      "timestamp": "2020-09-24T19:39:49+00:00"
    },
    {
      "id": "0e074a5c46854730b1a87d8056d4ded9",
      "sender": "wumpus",
      "payload": "elichai2: not in gneral",
      "action": false,
      "timestamp": "2020-09-24T19:39:50+00:00"
    },
    {
      "id": "3f10dd1ae3934a609229a41c4c4777e2",
      "sender": "sipa",
      "payload": "like just not permitting building with known-to-be-affected compilers, which at least in some cases will avoid the situation where dependencies are built with the same thing",
      "action": false,
      "timestamp": "2020-09-24T19:40:35+00:00"
    },
    {
      "id": "3a1f702377c7482a83507d6983b79ee0",
      "sender": "wumpus",
      "payload": "sipa: right",
      "action": false,
      "timestamp": "2020-09-24T19:40:51+00:00"
    },
    {
      "id": "f7b4bae65d244f97a0dbb9239f444e62",
      "sender": "sipa",
      "payload": "but... if your system itself has bugs introduced by this, i think there is very little we can do about it",
      "action": false,
      "timestamp": "2020-09-24T19:40:59+00:00"
    },
    {
      "id": "421cf946e03a40a49ec0bbba9f201380",
      "sender": "wumpus",
      "payload": "for many distributions at least, the dependencies will have been built with the same gcc/g++ that is available",
      "action": false,
      "timestamp": "2020-09-24T19:41:15+00:00"
    },
    {
      "id": "225ccbb21f21474a97282b5a21a3d11b",
      "sender": "sipa",
      "payload": "i believe my python3 binary is built with GCC 9.3",
      "action": false,
      "timestamp": "2020-09-24T19:42:20+00:00"
    },
    {
      "id": "599e1ebb9d924c0eaaaf11e68b7fac82",
      "sender": "sipa",
      "payload": "$ strings python3.8 | fgrep GCC",
      "action": false,
      "timestamp": "2020-09-24T19:42:30+00:00"
    },
    {
      "id": "a770d5c9eae641cdbee9e7cd22678c2a",
      "sender": "sipa",
      "payload": "[GCC 9.3.0]",
      "action": false,
      "timestamp": "2020-09-24T19:42:30+00:00"
    },
    {
      "id": "4bb8ca2311a54be7a7e18b6fc058d7f0",
      "sender": "jonatack",
      "payload": "luke-jr: did the tests in the final patch fail on your unpatched gcc?",
      "action": false,
      "timestamp": "2020-09-24T19:45:18+00:00"
    },
    {
      "id": "62f97ac5e4de4ac0a0e935b1ce3ec851",
      "sender": "luke-jr",
      "payload": "didn't try",
      "action": false,
      "timestamp": "2020-09-24T19:45:42+00:00"
    },
    {
      "id": "7427ec99f24d4599b62d4de287ec7792",
      "sender": "wumpus",
      "payload": "I'm going to close the meeting, can continue this discussion afterwards and we're out of topics",
      "action": false,
      "timestamp": "2020-09-24T19:46:49+00:00"
    },
    {
      "id": "e92922794f9e4dca8670a3eadae0552b",
      "sender": "wumpus",
      "payload": "#endmeeting",
      "action": false,
      "timestamp": "2020-09-24T19:46:51+00:00"
    }
  ],
  "events": [
    {
      "event_type": "START_MEETING",
      "message": {
        "id": "0f9718a29cec4bf0bcdd684ad842e534",
        "sender": "wumpus",
        "payload": "#startmeeting",
        "action": false,
        "timestamp": "2020-09-24T19:02:37+00:00"
      },
      "operand": null,
      "id": "0f9718a29cec4bf0bcdd684ad842e534",
      "timestamp": "2020-09-24T19:02:37+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "7a0f64b2176a465ca8dd8f8cdd15db5e",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/20005 | memcmp with constants that contain zero bytes are broken in GCC \u00c3\u0082\u00c2\u00b7 Issue #20005 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2020-09-24T19:04:19+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/20005",
      "id": "7a0f64b2176a465ca8dd8f8cdd15db5e",
      "timestamp": "2020-09-24T19:04:19+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "70bb6c4118ec494ba796fb59b8a76061",
        "sender": "luke-jr",
        "payload": "https://dpaste.com/GU4GPSPB8 <-- affected symbols in bitcoind",
        "action": false,
        "timestamp": "2020-09-24T19:04:38+00:00"
      },
      "operand": "https://dpaste.com/GU4GPSPB8",
      "id": "70bb6c4118ec494ba796fb59b8a76061",
      "timestamp": "2020-09-24T19:04:38+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "d65ba2c303c341c4a6c9151bf0f4a9a7",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/20005 | memcmp with constants that contain zero bytes are broken in GCC \u00c3\u0082\u00c2\u00b7 Issue #20005 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2020-09-24T19:27:11+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/20005",
      "id": "d65ba2c303c341c4a6c9151bf0f4a9a7",
      "timestamp": "2020-09-24T19:27:11+00:00"
    },
    {
      "event_type": "TOPIC",
      "message": {
        "id": "82a69c1b460e46849f39de51afa712ad",
        "sender": "wumpus",
        "payload": "#topic High priority for review",
        "action": false,
        "timestamp": "2020-09-24T19:28:54+00:00"
      },
      "operand": "High priority for review",
      "id": "82a69c1b460e46849f39de51afa712ad",
      "timestamp": "2020-09-24T19:28:54+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "15aee02a25844a2dabee1da167bfaf8f",
        "sender": "wumpus",
        "payload": "https://github.com/bitcoin/bitcoin/projects/8  13 blockers, 1 bugfix, 2 chasing concept ACK",
        "action": false,
        "timestamp": "2020-09-24T19:29:07+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/projects/8",
      "id": "15aee02a25844a2dabee1da167bfaf8f",
      "timestamp": "2020-09-24T19:29:07+00:00"
    },
    {
      "event_type": "LINK",
      "message": {
        "id": "eb0e51c19772416fbbfd2e531a70844c",
        "sender": "gribble",
        "payload": "https://github.com/bitcoin/bitcoin/issues/19845 | net: CNetAddr: add support to (un)serialize as ADDRv2 by vasild \u00c3\u0082\u00c2\u00b7 Pull Request #19845 \u00c3\u0082\u00c2\u00b7 bitcoin/bitcoin \u00c3\u0082\u00c2\u00b7 GitHub",
        "action": false,
        "timestamp": "2020-09-24T19:33:35+00:00"
      },
      "operand": "https://github.com/bitcoin/bitcoin/issues/19845",
      "id": "eb0e51c19772416fbbfd2e531a70844c",
      "timestamp": "2020-09-24T19:33:35+00:00"
    },
    {
      "event_type": "END_MEETING",
      "message": {
        "id": "e92922794f9e4dca8670a3eadae0552b",
        "sender": "wumpus",
        "payload": "#endmeeting",
        "action": false,
        "timestamp": "2020-09-24T19:46:51+00:00"
      },
      "operand": null,
      "id": "e92922794f9e4dca8670a3eadae0552b",
      "timestamp": "2020-09-24T19:46:51+00:00"
    }
  ],
  "aliases": {},
  "vote_in_progress": false,
  "motion_index": null
}