<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    The next one bricked his new module OTA (see forum)… should be able
    to recover using esptool.<br>
    <br>
    I've released the current 3.2.008 build to my "main" directory to
    prevent more of this.<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 15.12.19 um 14:13 schrieb Michael
      Balzer:<br>
    </div>
    <blockquote type="cite"
      cite="mid:0a7ffcf7-a650-41f6-e2c6-41475b1c65e8@expeedo.de">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      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"
                  moz-do-not-send="true">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" 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>
      <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>
      <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>