<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    My concern is data corruption and crashes produced by the bug.<br>
    <br>
    How about keeping it unmerged until the release but doing your
    factory and OTA builds with the fix until then?<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 15.12.19 um 13:34 schrieb Mark
      Webb-Johnson:<br>
    </div>
    <blockquote type="cite"
      cite="mid:399F49B1-E5AB-4C59-8FB9-F43C7654208E@webb-johnson.net">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      My concern for this is that once we do it ALL developers have to
      also run that version of toolchain. Can we wait for Espressif to
      formally release this (as that seems to be happening soon)?
      <div class=""><br class="">
      </div>
      <div class="">Regards, Mark.<br class="">
        <div><br class="">
          <blockquote type="cite" class="">
            <div class="">On 13 Dec 2019, at 8:32 PM, Michael Balzer
              <<a href="mailto:dexter@expeedo.de" class=""
                moz-do-not-send="true">dexter@expeedo.de</a>> wrote:</div>
            <br class="Apple-interchange-newline">
            <div class="">
              <meta http-equiv="Content-Type" content="text/html;
                charset=UTF-8" class="">
              <div class=""> Mark,<br class="">
                <br class="">
                I also recommend merging the SPIRAM fix into master now
                and building the factory release on that base as well
                (see my post Re: [Ovmsdev] Time for 3.2.006?).<br
                  class="">
                <br class="">
                I've been releasing all builds on my server including
                the fix since June, so there is no need for further
                tests.<br class="">
                <br class="">
                Regards,<br class="">
                Michael<br class="">
                <br class="">
                <br class="">
                <div class="moz-cite-prefix">Am 13.12.19 um 09:35
                  schrieb Michael Balzer:<br class="">
                </div>
                <blockquote type="cite"
                  cite="mid:aeaf6673-e41d-6ddd-8b75-6f45babc756a@expeedo.de"
                  class="">
                  <meta http-equiv="Content-Type" content="text/html;
                    charset=UTF-8" class="">
                  Mark,<br class="">
                  <br class="">
                  having a look at Greg's new report now, which differs
                  from the first. Please wait for my results.<br
                    class="">
                  <br class="">
                  Regards,<br class="">
                  Michael<br class="">
                  <br class="">
                  <br class="">
                  <div class="moz-cite-prefix">Am 13.12.19 um 06:05
                    schrieb Mark Webb-Johnson:<br class="">
                  </div>
                  <blockquote type="cite"
                    cite="mid:B47D4FF1-DFBB-4C8E-B22B-BAE54811EE28@webb-johnson.net"
                    class="">
                    <meta http-equiv="Content-Type" content="text/html;
                      charset=UTF-8" class="">
                    Michael,
                    <div class=""><br class="">
                    </div>
                    <div class="">It all looks good.</div>
                    <div class=""><br class="">
                    </div>
                    <div class="">I have tagged this as 3.2.008, and
                      sent it to EAP. Plan is to send to MAIN this
                      weekend.</div>
                    <div class=""><br class="">
                    </div>
                    <div class="">The rush is to avoid another of the
                      new 8MB PSRAM users updating OTA and messed up
                      their module. Any objections?</div>
                    <div class=""><br class="">
                    </div>
                    <div class="">Regards, Mark.<br class="">
                      <div class=""><br class="">
                        <blockquote type="cite" class="">
                          <div class="">On 12 Dec 2019, at 6:12 PM,
                            Michael Balzer <<a
                              href="mailto:dexter@expeedo.de" class=""
                              moz-do-not-send="true">dexter@expeedo.de</a>>
                            wrote:</div>
                          <br class="Apple-interchange-newline">
                          <div class=""><span style="caret-color: rgb(0,
                              0, 0); font-family: Helvetica; font-size:
                              18px; font-style: normal;
                              font-variant-caps: normal; font-weight:
                              normal; letter-spacing: normal;
                              text-align: start; text-indent: 0px;
                              text-transform: none; white-space: normal;
                              word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none; float: none;
                              display: inline !important;" class="">2)
                              You're right, the bug is tx_frame with
                              null origin overwriting body.bus in the
                              union. I didn't notice that when checking
                              Marko's submission.</span><br
                              style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                            <br style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                            <span style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none; float: none;
                              display: inline !important;" class="">tx_frame
                              is a copy of the last frame given to the
                              bus for transmission. The queue msg is
                              gone when the TX done IRQ comes in, and
                              Marko needed a copy of the frame the TX
                              IRQ relates to. I asked him (see PR
                              discussion), he checked and confirmed that
                              all TX is done sequentially, so a single
                              buffer is sufficient.</span><br
                              style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                            <br style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                            <span style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none; float: none;
                              display: inline !important;" class="">Swapping
                              the lines would work. The frame.origin
                              also shouldn't be null, but the handler
                              should tolerate that. …oops, tx_frame also
                              doesn't get initialized in the canbus
                              constructor, so there's also potentially
                              garbage in tx_frame if due to some bug a
                              TX IRQ is generated or processed without a
                              previous tx.</span><br style="caret-color:
                              rgb(0, 0, 0); font-family: Helvetica;
                              font-size: 18px; font-style: normal;
                              font-variant-caps: normal; font-weight:
                              normal; letter-spacing: normal;
                              text-align: start; text-indent: 0px;
                              text-transform: none; white-space: normal;
                              word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                            <br style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                            <span style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none; float: none;
                              display: inline !important;" class="">I'll
                              do the fixes… and also rename tx_frame to
                              m_tx_frame for consistency.</span><br
                              style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                            <br style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                            <span style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none; float: none;
                              display: inline !important;" class="">Regards,</span><br
                              style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                            <span style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none; float: none;
                              display: inline !important;" class="">Michael</span><br
                              style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                            <br style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                            <br style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                            <div class="moz-cite-prefix"
                              style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;">Am 12.12.19 um
                              01:20 schrieb Mark Webb-Johnson:<br
                                class="">
                            </div>
                            <blockquote type="cite"
                              cite="mid:DDE51878-283B-45E6-8423-FF095EF621A6@webb-johnson.net"
                              style="font-family: Helvetica; font-size:
                              18px; font-style: normal;
                              font-variant-caps: normal; font-weight:
                              normal; letter-spacing: normal; orphans:
                              auto; text-align: start; text-indent: 0px;
                              text-transform: none; white-space: normal;
                              widows: auto; word-spacing: 0px;
                              -webkit-text-size-adjust: auto;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                              <div class="">Two issues:</div>
                              <div class=""><br class="">
                              </div>
                              <div class=""><u class=""><b class="">1]
                                    A2L</b></u></div>
                              <div class=""><br class="">
                              </div>
                              My a2l is this:
                              <div class=""><br class="">
                              </div>
                              <blockquote class="" style="margin: 0px
                                0px 0px 40px; border: none; padding:
                                0px;">
                                <div class="">
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">#!/bin/bash</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">elf=3.2.007.ovms3.elf</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">for adr in $*
                                        ; do</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"> <span
                                          class="Apple-converted-space"> </span>if
                                        [[ "$adr" =~ "elf" ]] ; then</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">   <span
                                          class="Apple-converted-space"> </span>elf="$adr"</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"> <span
                                          class="Apple-converted-space"> </span>else</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">   <span
                                          class="Apple-converted-space"> </span>cmd+="
                                        -ex 'l *$adr'"</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"> <span
                                          class="Apple-converted-space"> </span>fi</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">done</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">cmd+=" -ex
                                        'q'"</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">echo "Using
                                        elf file: $elf"</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">echo
                                        "xtensa-esp32-elf-gdb -batch
                                        $elf $cmd"</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">eval
                                        xtensa-esp32-elf-gdb -batch $elf
                                        $cmd 2>/dev/null #| grep
                                        "^0x.* is in "</span></font></div>
                                </div>
                              </blockquote>
                              <div class="">
                                <div class=""><br class="">
                                </div>
                                <div class="">When I run it, I get:</div>
                                <div class=""><br class="">
                                </div>
                              </div>
                              <blockquote class="" style="margin: 0px
                                0px 0px 40px; border: none; padding:
                                0px;">
                                <div class=""><font class=""
                                    face="Andale Mono"><span class=""
                                      style="font-style: normal;
                                      font-size: 14px;">$ a2l
                                      3.2.007.ovms3.elf
                                      0x400d5e4c:0x3ffc5c40
                                      0x7ffffffd:0x3ffc5c90</span></font></div>
                                <div class=""><font class=""
                                    face="Andale Mono"><span class=""
                                      style="font-style: normal;
                                      font-size: 14px;">Using elf file:
                                      3.2.007.ovms3.elf</span></font></div>
                                <div class=""><font class=""
                                    face="Andale Mono"><span class=""
                                      style="font-size: 14px;">xtensa-esp32-elf-gdb
                                      -batch 3.2.007.ovms3.elf  -ex 'l
                                      *0x400d5e4c:0x3ffc5c40' -ex 'l
                                      *0x7ffffffd:0x3ffc5c90' -ex ‘q'</span></font></div>
                              </blockquote>
                              <div class="">
                                <div class=""><br class="">
                                </div>
                                <div class="">And a manual run gives:</div>
                                <div class=""><br class="">
                                </div>
                              </div>
                              <blockquote class="" style="margin: 0px
                                0px 0px 40px; border: none; padding:
                                0px;">
                                <div class="">
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">$
                                        xtensa-esp32-elf-gdb -batch
                                        3.2.007.ovms3.elf  -ex 'l
                                        *0x400d5e4c:0x3ffc5c40' -ex 'l
                                        *0x7ffffffd:0x3ffc5c90' -ex 'q'</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">Junk at end of
                                        line specification.</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"><br class="">
                                      </span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">$ </span><span
                                        class="" style="font-size:
                                        14px;">xtensa-esp32-elf-gdb
                                        3.2.007.ovms3.elf</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-size: 14px;">GNU gdb
                                        (crosstool-NG
                                        crosstool-ng-1.22.0-80-g6c4433a)
                                        7.10</span></font></div>
                                  <div class=""><span class=""
                                      style="font-size: 14px;">(gdb) l
                                      *0x400d5e4c:0x3ffc5c40</span></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-size: 14px;">
                                        <div class="">Junk at end of
                                          line specification.</div>
                                        <div class="">(gdb) l
                                          *0x7ffffffd:0x3ffc5c90</div>
                                        <div class="">(gdb) quit</div>
                                      </span></font></div>
                                </div>
                              </blockquote>
                              <div class="">
                                <div class=""><br class="">
                                </div>
                                <div class=""><u class=""><b class="">2]
                                      Frame origin</b></u></div>
                                <div class=""><br class="">
                                </div>
                                <div class="">Regarding the
                                  CAN_txcallback, I think you are
                                  correct. And both generators of that
                                  message set the frame correctly. So my
                                  initial thought was that it is either
                                  a memory corruption, or somewhere else
                                  sending a frame with garbage data.</div>
                                <div class=""><br class="">
                                </div>
                                <div class="">I do see this technique
                                  used in both the mcp2515 and esp32can
                                  drivers:</div>
                                <div class=""><br class="">
                                </div>
                              </div>
                              <blockquote class="" style="margin: 0px
                                0px 0px 40px; border: none; padding:
                                0px;">
                                <div class="">
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">msg.body.bus =
                                        me;</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">msg.body.frame
                                        = me->tx_frame;</span></font></div>
                                </div>
                              </blockquote>
                              <div class="">
                                <div class=""><br class="">
                                </div>
                                <div class="">I don’t normally just copy
                                  structures over like that. I memcpy()
                                  them, but I guess it must work.
                                  However, as our CAN_queue_msg_t is a
                                  union of CAN_frame_t (frame, with
                                  first member of the structure a
                                  canbus*) and 'canbus* bus’, that is a
                                  little worrying. It seems that the
                                  msg.body.bus will get overwritten with
                                  whatever is in msg.body.frame.origin.
                                  I can’t see anywhere that
                                  tx_frame.origin is set - which is
                                  scary because that would mean it is
                                  always random junk.</div>
                                <div class=""><br class="">
                                </div>
                                <div class="">Maybe it works if
                                  tx_frame.origin is set to the bus
                                  before anything else, but not in
                                  Greg’s circumstances where something
                                  else arrives first. Perhaps related to
                                  obd2ecu? I only see tx_frame set in
                                  can.cpp canbus::Write. I don’t really
                                  understand the tx_frame approach at
                                  all, and why the frame is just not
                                  passed on the queue.</div>
                                <div class=""><br class="">
                                </div>
                              </div>
                              <blockquote class="" style="margin: 0px
                                0px 0px 40px; border: none; padding:
                                0px;">
                                <div class="">
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">// CAN Frame</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">// Note: Take
                                        care changing this structure, as
                                        it is a union with</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">//
                                        CAN_log_message_t and position
                                        of 'origin' is fixed.</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">struct
                                        CAN_frame_t</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"> <span
                                          class="Apple-converted-space"> </span>{</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"> <span
                                          class="Apple-converted-space"> </span>canbus*
                                            origin;                   //
                                        Origin of the frame</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"> <span
                                          class="Apple-converted-space"> </span>CanFrameCallback
                                        * callback;          //
                                        Frame-specific callback. Is
                                        called when this frame is
                                        successfully sent (or sending
                                        failed)</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"> <span
                                          class="Apple-converted-space"> </span>CAN_FIR_t
                                          FIR;                      //
                                        Frame information record</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"> <span
                                          class="Apple-converted-space"> </span>uint32_t
                                           MsgID;                    //
                                        Message ID</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"> <span
                                          class="Apple-converted-space"> </span>union</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">   <span
                                          class="Apple-converted-space"> </span>{</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">   <span
                                          class="Apple-converted-space"> </span>uint8_t
                                          u8[8];                    //
                                        Payload byte access</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">   <span
                                          class="Apple-converted-space"> </span>uint32_t
                                         u32[2];                   //
                                        Payload u32 access (Att: little
                                        endian!)</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">   <span
                                          class="Apple-converted-space"> </span>uint64_t
                                         u64;                      //
                                        Payload u64 access (Att: little
                                        endian!)</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;">   <span
                                          class="Apple-converted-space"> </span>}
                                        data;</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"><br class="">
                                      </span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"> <span
                                          class="Apple-converted-space"> </span>esp_err_t
                                        Write(canbus* bus=NULL,
                                        TickType_t maxqueuewait=0);  //
                                        bus: NULL=origin</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"> <span
                                          class="Apple-converted-space"> </span>};</span></font></div>
                                  <div class=""><font class=""
                                      face="Andale Mono"><span class=""
                                        style="font-style: normal;
                                        font-size: 14px;"><br class="">
                                      </span></font></div>
                                  <div class="">
                                    <div class=""><font class=""
                                        face="Andale Mono"><span
                                          class="" style="font-size:
                                          14px;">// CAN message<br
                                            class="">
                                          typedef struct<br class="">
                                           <span
                                            class="Apple-converted-space"> </span>{<br
                                            class="">
                                           <span
                                            class="Apple-converted-space"> </span>CAN_queue_type_t
                                          type;<br class="">
                                           <span
                                            class="Apple-converted-space"> </span>union<br
                                            class="">
                                             <span
                                            class="Apple-converted-space"> </span>{<br
                                            class="">
                                             <span
                                            class="Apple-converted-space"> </span>CAN_frame_t
                                          frame;  // CAN_frame<br
                                            class="">
                                             <span
                                            class="Apple-converted-space"> </span>canbus*
                                          bus;<br class="">
                                             <span
                                            class="Apple-converted-space"> </span>}
                                          body;<br class="">
                                           <span
                                            class="Apple-converted-space"> </span>}
                                          CAN_queue_msg_t;</span></font></div>
                                  </div>
                                </div>
                              </blockquote>
                              <div class="">
                                <div class=""><br class="">
                                </div>
                                <div class="">This approach seems to
                                  date back to the swcan support merge
                                  (f94ae5a1b).</div>
                                <div class=""><br class="">
                                </div>
                                <div class="">Should we swap around, and
                                  set the msg.body.bus after
                                  msg.body.frame? Or am I missing
                                  something…</div>
                                <div class=""><br class="">
                                </div>
                                <div class="">Regards, Mark.</div>
                                <div class=""><br class="">
                                  <blockquote type="cite" class="">
                                    <div class="">On 12 Dec 2019, at
                                      2:29 AM, Michael Balzer <<a
                                        href="mailto:dexter@expeedo.de"
                                        class="" moz-do-not-send="true">dexter@expeedo.de</a>>
                                      wrote:</div>
                                    <br
                                      class="Apple-interchange-newline">
                                    <div class="">
                                      <div class="">Mark,<br class="">
                                        <br class="">
                                        good example why not to use
                                        addr2line: I think that result
                                        is wrong. a2l uses gdb which
                                        gives:<br class="">
                                        <br class="">
                                        <tt class=""><a
                                            class="moz-txt-link-abbreviated"
href="mailto:balzer@leela:~/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3"
                                            moz-do-not-send="true">balzer@leela:~/esp/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3</a>>
                                          a2l tmp/3.2.007.ovms3.elf
                                          0x400d5e4c:0x3ffc5c40
                                          0x7ffffffd:0x3ffc5c90<br
                                            class="">
                                          Using elf file:
                                          tmp/3.2.007.ovms3.elf<br
                                            class="">
                                          0x400d5e4c is in
                                          CAN_rxtask(void*)
(/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/can/src/can.cpp:730).<br
                                            class="">
                                          725                 
                                          me->IncomingFrame(&msg.body.frame);<br
                                            class="">
                                          726                } while
                                          (loop);<br class="">
                                          727              break;<br
                                            class="">
                                          728              }<br class="">
                                          729            case
                                          CAN_txcallback:<br class="">
                                          730             
                                          msg.body.bus->TxCallback(&msg.body.frame,
                                          true);<br class="">
                                          731              break;<br
                                            class="">
                                          732            case
                                          CAN_txfailedcallback:<br
                                            class="">
                                          733             
                                          msg.body.bus->TxCallback(&msg.body.frame,
                                          false);<br class="">
                                          734             
                                          msg.body.bus->LogStatus(CAN_LogStatus_Error);<br
                                            class="">
                                        </tt><tt class=""><br class="">
                                        </tt>…and that actually makes
                                        sense and matches the register
                                        dump.<br class="">
                                        <br class="">
                                        If I read the gdb disassembly
                                        correctly, A10 = msg.body.bus,
                                        so Greg's got a CAN_txcallback
                                        msg without a bus.<br class="">
                                        <br class="">
                                        Hardening the rxtask against
                                        null here would probably avoid
                                        the crash, but I don't see yet
                                        how that could be possible.<br
                                          class="">
                                        Both esp32can and mcp2515 set
                                        the bus field to their object
                                        addresses, which cannot be null.<br
                                          class="">
                                        <br class="">
                                        Regards,<br class="">
                                        Michael<br class="">
                                        <br class="">
                                        <br class="">
                                        <div class="moz-cite-prefix">Am
                                          11.12.19 um 13:45 schrieb Mark
                                          Webb-Johnson:<br class="">
                                        </div>
                                        <blockquote type="cite"
                                          cite="mid:1BF79214-A026-4AD0-97D4-5C845FBB0328@webb-johnson.net"
                                          class="">Can’t get a2l working
                                          at the moment. The addr2line
                                          gives:
                                          <div class=""><br class="">
                                          </div>
                                          <blockquote class=""
                                            style="margin: 0px 0px 0px
                                            40px; border: none; padding:
                                            0px;">
                                            <div class="">
                                              <div class="">addr2line -e
                                                3.2.007.ovms3.elf
                                                0x400d5e4c:0x3ffc5c40
                                                0x7ffffffd:0x3ffc5c90</div>
                                              <div class="">/home/openvehicles/build/Open-Vehicle-Monitoring-System-3.1/vehicle/OVMS.V3/components/can/src/can.cpp:551</div>
                                            </div>
                                          </blockquote>
                                          <div class="">
                                            <div class="">
                                              <div class=""><br class="">
                                              </div>
                                              <div class="">That is:</div>
                                              <div class=""><br class="">
                                              </div>
                                            </div>
                                          </div>
                                          <blockquote class=""
                                            style="margin: 0px 0px 0px
                                            40px; border: none; padding:
                                            0px;">
                                            <div class="">
                                              <div class="">
                                                <div class="">
                                                  <div class="">void
                                                    canbus::LogInfo(CAN_log_type_t
                                                    type, const char*
                                                    text)</div>
                                                  <div class=""> <span
                                                      class="Apple-converted-space"> </span>{</div>
                                                  <div class=""> <span
                                                      class="Apple-converted-space"> </span>MyCan.LogInfo(this,
                                                    type, text);  
                                                     <—— HERE</div>
                                                  <div class=""> <span
                                                      class="Apple-converted-space"> </span>}</div>
                                                </div>
                                              </div>
                                            </div>
                                          </blockquote>
                                          <div class="">
                                            <div class="">
                                              <div class=""><br class="">
                                              </div>
                                              <div class="">ELF is at:</div>
                                              <div class=""><br class="">
                                              </div>
                                            </div>
                                          </div>
                                          <blockquote class=""
                                            style="margin: 0px 0px 0px
                                            40px; border: none; padding:
                                            0px;">
                                            <div class="">
                                              <div class="">
                                                <div class=""><a
href="http://api.openvehicles.com/firmware/ota/v3.2/main/3.2.007.ovms3.elf"
                                                    class=""
                                                    moz-do-not-send="true">http://api.openvehicles.com/firmware/ota/v3.2/main/3.2.007.ovms3.elf</a></div>
                                              </div>
                                            </div>
                                          </blockquote>
                                          <div class="">
                                            <div class="">
                                              <div class=""><br class="">
                                              </div>
                                              <div class="">Regards,
                                                Mark.</div>
                                              <div class=""><br class="">
                                                <blockquote type="cite"
                                                  class="">
                                                  <div class="">On 11
                                                    Dec 2019, at 5:20
                                                    PM, Michael Balzer
                                                    <<a
                                                      href="mailto:dexter@expeedo.de"
                                                      class=""
                                                      moz-do-not-send="true">dexter@expeedo.de</a>>
                                                    wrote:</div>
                                                  <br
                                                    class="Apple-interchange-newline">
                                                  <div class="">
                                                    <div class="">
                                                      <div
                                                        class="moz-cite-prefix">Mark,<br
                                                          class="">
                                                        <br class="">
                                                        Greg uses your
                                                        build, the crash
                                                        point seems to
                                                        be consistent,
                                                        can you post the
                                                        a2l on this?<br
                                                          class="">
                                                        <br class="">
                                                        Regards,<br
                                                          class="">
                                                        Michael<br
                                                          class="">
                                                        <br class="">
                                                        PS: Greg, would
                                                        you mind
                                                        switching to EAP
                                                        to beta test
                                                        future releases?<br
                                                          class="">
                                                        <br class="">
                                                        <br class="">
                                                        Am 11.12.19 um
                                                        04:33 schrieb
                                                        Greg D.:<br
                                                          class="">
                                                      </div>
                                                      <blockquote
                                                        type="cite"
                                                        cite="mid:48cd3f20-409f-d201-640a-31b6e7788e92@gmail.com"
                                                        class="">
                                                        <pre class="moz-quote-pre" wrap="">Hi folks,

Well, the module updated to 3.2.007 last night.  I just checked on it,
and it appears that it didn't exactly survive.  Crashed while running
the autoconfig script.  Log with two cycles attached.

I tried renaming the /store/events directory to /store/was_events since
it seems like Duktape was getting in the way, but that didn't resolve
the crash.  I manually enabled wifi so I could manage the module, and
moved it back to 3.2.005 from the other partition.  Seems stable again.

The car is going into the Service Center tomorrow (the perennial issue
with 1146 alerts), so I need to have the module stable so that I can
keep an eye on it.  Going to leave it on 3.2.005 for now, unless someone
has a quick fix in the next few hours...

Otherwise, any ideas for troubleshooting after I get the car back back
(hopefully end of day)?

Greg

</pre>
                                                        <br class="">
                                                        <fieldset
                                                          class="mimeAttachmentHeader"></fieldset>
                                                        <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
                                                      </blockquote>
                                                      <br class="">
                                                      <br class="">
                                                      <pre class="moz-signature" cols="144">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
                                                    </div>
_______________________________________________<br class="">
                                                    OvmsDev mailing list<br
                                                      class="">
                                                    <a
                                                      href="mailto:OvmsDev@lists.openvehicles.com"
                                                      class=""
                                                      moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br
                                                      class="">
                                                    <a
                                                      class="moz-txt-link-freetext"
href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
                                                      moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br
                                                      class="">
                                                  </div>
                                                </blockquote>
                                              </div>
                                              <br class="">
                                            </div>
                                          </div>
                                          <br class="">
                                          <fieldset
                                            class="mimeAttachmentHeader"></fieldset>
                                          <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
                                        </blockquote>
                                        <br class="">
                                        <pre class="moz-signature" cols="160">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
                                      </div>
_______________________________________________<br class="">
                                      OvmsDev mailing list<br class="">
                                      <a
                                        href="mailto:OvmsDev@lists.openvehicles.com"
                                        class="" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br
                                        class="">
                                      <a class="moz-txt-link-freetext"
                                        href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev"
                                        moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br
                                        class="">
                                    </div>
                                  </blockquote>
                                </div>
                                <br class="">
                              </div>
                              <br class="">
                              <fieldset class="mimeAttachmentHeader"></fieldset>
                              <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
                            </blockquote>
                            <br style="caret-color: rgb(0, 0, 0);
                              font-family: Helvetica; font-size: 18px;
                              font-style: normal; font-variant-caps:
                              normal; font-weight: normal;
                              letter-spacing: normal; text-align: start;
                              text-indent: 0px; text-transform: none;
                              white-space: normal; word-spacing: 0px;
                              -webkit-text-stroke-width: 0px;
                              text-decoration: none;" class="">
                            <pre class="moz-signature" cols="160" style="caret-color: rgb(0, 0, 0); font-size: 18px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26</pre>
                          </div>
                        </blockquote>
                      </div>
                      <br class="">
                    </div>
                    <br class="">
                    <fieldset class="mimeAttachmentHeader"></fieldset>
                    <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
                  </blockquote>
                  <br class="">
                  <pre class="moz-signature" cols="160">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
                  <br class="">
                  <fieldset class="mimeAttachmentHeader"></fieldset>
                  <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com" moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
                </blockquote>
                <br class="">
                <pre class="moz-signature" cols="160">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
              </div>
              _______________________________________________<br
                class="">
              OvmsDev mailing list<br class="">
              <a href="mailto:OvmsDev@lists.openvehicles.com" class=""
                moz-do-not-send="true">OvmsDev@lists.openvehicles.com</a><br
                class="">
              <a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a><br
                class="">
            </div>
          </blockquote>
        </div>
        <br class="">
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.openvehicles.com">OvmsDev@lists.openvehicles.com</a>
<a class="moz-txt-link-freetext" href="http://lists.openvehicles.com/mailman/listinfo/ovmsdev">http://lists.openvehicles.com/mailman/listinfo/ovmsdev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="160">-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
</pre>
  </body>
</html>