<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi,</p>
    <p>when using bird 2.0.8 on openwrt 21.02 (and other versions) on a
      Netgear R7800 router, if the OSPF protocol is used, either v2 or
      v3, bird immediately crashes on startup with:</p>
    <p><span style="color: rgb(36, 41, 46); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
        sans-serif, "Apple Color Emoji", "Segoe UI
        Emoji"; font-size: 14px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: normal; widows: 2; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
        255); text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;">Fri Jun 11 14:41:11 2021 daemon.info
        bird: Started</span><br style="box-sizing: border-box; color:
        rgb(36, 41, 46); font-family: -apple-system, BlinkMacSystemFont,
        "Segoe UI", Helvetica, Arial, sans-serif, "Apple
        Color Emoji", "Segoe UI Emoji"; font-size: 14px;
        font-style: normal; font-variant-ligatures: normal;
        font-variant-caps: normal; font-weight: 400; letter-spacing:
        normal; orphans: 2; text-align: start; text-indent: 0px;
        text-transform: none; white-space: normal; widows: 2;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;
        background-color: rgb(255, 255, 255); text-decoration-thickness:
        initial; text-decoration-style: initial; text-decoration-color:
        initial;">
      <span style="color: rgb(36, 41, 46); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
        sans-serif, "Apple Color Emoji", "Segoe UI
        Emoji"; font-size: 14px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: normal; widows: 2; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
        255); text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;">Fri Jun 11 14:41:11 2021 kern.err
        kernel: [ 3500.853248] Alignment trap: not handling instruction
        f44c0a1f at [<00035848>] Fri Jun 11 14:41:11 2021
        kern.alert kernel: [ 3500.853283] 8<--- cut here ---</span><br
        style="box-sizing: border-box; color: rgb(36, 41, 46);
        font-family: -apple-system, BlinkMacSystemFont, "Segoe
        UI", Helvetica, Arial, sans-serif, "Apple Color
        Emoji", "Segoe UI Emoji"; font-size: 14px;
        font-style: normal; font-variant-ligatures: normal;
        font-variant-caps: normal; font-weight: 400; letter-spacing:
        normal; orphans: 2; text-align: start; text-indent: 0px;
        text-transform: none; white-space: normal; widows: 2;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;
        background-color: rgb(255, 255, 255); text-decoration-thickness:
        initial; text-decoration-style: initial; text-decoration-color:
        initial;">
      <span style="color: rgb(36, 41, 46); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
        sans-serif, "Apple Color Emoji", "Segoe UI
        Emoji"; font-size: 14px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: normal; widows: 2; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
        255); text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;">Fri Jun 11 14:41:11 2021 kern.alert
        kernel: [ 3500.859363] Unhandled fault: alignment exception
        (0x801) at 0x007e0624</span><br style="box-sizing: border-box;
        color: rgb(36, 41, 46); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
        sans-serif, "Apple Color Emoji", "Segoe UI
        Emoji"; font-size: 14px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: normal; widows: 2; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
        255); text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial;">
      <span style="color: rgb(36, 41, 46); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
        sans-serif, "Apple Color Emoji", "Segoe UI
        Emoji"; font-size: 14px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: normal; widows: 2; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
        255); text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;">Fri Jun 11 14:41:11 2021 kern.alert
        kernel: [ 3500.862443] pgd = 0bbef4fd</span><br
        style="box-sizing: border-box; color: rgb(36, 41, 46);
        font-family: -apple-system, BlinkMacSystemFont, "Segoe
        UI", Helvetica, Arial, sans-serif, "Apple Color
        Emoji", "Segoe UI Emoji"; font-size: 14px;
        font-style: normal; font-variant-ligatures: normal;
        font-variant-caps: normal; font-weight: 400; letter-spacing:
        normal; orphans: 2; text-align: start; text-indent: 0px;
        text-transform: none; white-space: normal; widows: 2;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;
        background-color: rgb(255, 255, 255); text-decoration-thickness:
        initial; text-decoration-style: initial; text-decoration-color:
        initial;">
      <span style="color: rgb(36, 41, 46); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
        sans-serif, "Apple Color Emoji", "Segoe UI
        Emoji"; font-size: 14px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: normal; widows: 2; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
        255); text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;">Fri Jun 11 14:41:11 2021 kern.alert
        kernel: [ 3500.868821] [007e0624] *pgd=5d6ca835, *pte=5c40b75f,
        *ppte=5c40bc7f</span></p>
    <p><br>
      <span style="color: rgb(36, 41, 46); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
        sans-serif, "Apple Color Emoji", "Segoe UI
        Emoji"; font-size: 14px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: normal; widows: 2; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
        255); text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;">This router uses an ARMv7 processor
        and the issue seems to be to do with memory alignment issues.
        I've debugged it and traced it to an access to the
        top_hash_entry struct. I've found that if I add the PACKED macro
        to the struct definition then it fixes the problem, as per this
        patch:</span></p>
    <p><span style="color: rgb(36, 41, 46); font-family: -apple-system,
        BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
        sans-serif, "Apple Color Emoji", "Segoe UI
        Emoji"; font-size: 14px; font-style: normal;
        font-variant-ligatures: normal; font-variant-caps: normal;
        font-weight: 400; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: normal; widows: 2; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
        255); text-decoration-thickness: initial; text-decoration-style:
        initial; text-decoration-color: initial; display: inline
        !important; float: none;">--- a/proto/ospf/topology.h<br>
        +++ b/proto/ospf/topology.h<br>
        @@ -41,7 +41,7 @@ struct top_hash_entry<br>
           u8 mode;                     /* LSA generated during RT
        calculation (LSA_RTCALC or LSA_STALE)*/<br>
           u8 nhs_reuse;                        /* Whether nhs nodes can
        be reused during merging.<br>
                                           See a note in rt.c:add_cand()
        */<br>
        -};<br>
        +} PACKED;<br>
        <br>
        <br>
         /* Prevents ospf_hash_find() to ignore the entry, for
        p->lsrqh and p->lsrth */</span></p>
    <span style="color: rgb(36, 41, 46); font-family: -apple-system,
      BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
      sans-serif, "Apple Color Emoji", "Segoe UI
      Emoji"; font-size: 14px; font-style: normal;
      font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: 400; letter-spacing: normal; orphans: 2; text-align:
      start; text-indent: 0px; text-transform: none; white-space:
      normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width:
      0px; background-color: rgb(255, 255, 255);
      text-decoration-thickness: initial; text-decoration-style:
      initial; text-decoration-color: initial; display: inline
      !important; float: none;">Thanks.</span>
  </body>
</html>