<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>