<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Mark,<br>
    <br>
    having a look at Greg's new report now, which differs from the
    first. Please wait for my results.<br>
    <br>
    Regards,<br>
    Michael<br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 13.12.19 um 06:05 schrieb Mark
      Webb-Johnson:<br>
    </div>
    <blockquote type="cite"
      cite="mid:B47D4FF1-DFBB-4C8E-B22B-BAE54811EE28@webb-johnson.net">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      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><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>
      <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>