<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Ok, 6k it is. Pushed; pull request sent.<br>
<br>
Greg<br>
<br>
<br>
<div class="moz-cite-prefix">Mark Webb-Johnson wrote:<br>
</div>
<blockquote type="cite"
cite="mid:92D477DB-605A-48D3-B00F-2D265E8BD903@webb-johnson.net">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Greg,
<div class=""><br class="">
</div>
<div class="">
<blockquote type="cite" class="">
<div text="#000000" bgcolor="#FFFFFF" class="">... looks like
it needs an additional 512 bytes. Dropping to an increment
of 256 bytes, 21*256 didn't do it, 22*256 did.<br class="">
</div>
</blockquote>
<div class=""><br class="">
</div>
I suggest 6144. That is what the others use.</div>
<div class=""><br class="">
</div>
<div class="">
<blockquote type="cite" class="">
<div text="#000000" bgcolor="#FFFFFF" class="">And, why is the
script running from obd2ecu causing the async console to
fall over?</div>
</blockquote>
<div><br class="">
</div>
<div>To show the value it executes the script. That needs stack.</div>
<div><br class="">
</div>
<div>Regards, Mark.</div>
<div><br class="">
<blockquote type="cite" class="">
<div class="">On 29 Mar 2018, at 10:29 AM, Greg D. <<a
href="mailto:gregd2350@gmail.com" class=""
moz-do-not-send="true">gregd2350@gmail.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8" class="">
<div text="#000000" bgcolor="#FFFFFF" class=""> ... looks
like it needs an additional 512 bytes. Dropping to an
increment of 256 bytes, 21*256 didn't do it, 22*256 did.<br
class="">
<br class="">
How much above that is needed for safety? And, why is
the script running from obd2ecu causing the async
console to fall over? The output from the script is no
different than a regular line generated from a regular
metric.<br class="">
<br class="">
Greg<br class="">
<br class="">
<br class="">
<div class="moz-cite-prefix">Greg D. wrote:<br class="">
</div>
<blockquote type="cite"
cite="mid:7b48f711-8c35-ccd7-6526-2fa31e92d53c@gmail.com"
class="">
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8" class="">
Thanks for the analysis. module tasks isn't working,
but I'll do some tests to get an approximate limit.<br
class="">
<br class="">
Please get some "day job" stuff done - this isn't time
critical.<br class="">
<br class="">
Greg<br class="">
<br class="">
<br class="">
<div class="moz-cite-prefix">Mark Webb-Johnson wrote:<br
class="">
</div>
<blockquote type="cite"
cite="mid:F72B9C93-FBB0-4664-B56D-950607EC9ACD@webb-johnson.net"
class="">
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8" class="">
Probably insufficient stack in AsyncConsole.
<div class=""><br class="">
</div>
<div class="">At the moment it should be 5KB. Maybe
more needed?</div>
<div class=""><br class="">
</div>
<blockquote style="margin: 0 0 0 40px; border: none;
padding: 0px;" class="">
<div class="">console_async.cpp line 50</div>
<div class=""><br class="">
</div>
<div class="">ConsoleAsync::ConsoleAsync() :
TaskBase("AsyncConsole", 5*1024)</div>
</blockquote>
<div class="">
<div class=""><br class="">
</div>
<div class="">Can you try increasing, then running
a ‘module tasks’ to see what it actually used?</div>
<div class=""><br class="">
</div>
<div class="">Regards, Mark.</div>
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">On 29 Mar 2018, at 10:08 AM,
Greg D. <<a
href="mailto:gregd2350@gmail.com" class=""
moz-do-not-send="true">gregd2350@gmail.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">Here you go... (newlines
added for clarity)<br class="">
<br class="">
Greg<br class="">
<br class="">
<a class="moz-txt-link-abbreviated"
href="mailto:greg@linux-0rpb:%7E/greg/ovms/Open-Vehicle-Monitoring-System-3-master/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3"
moz-do-not-send="true">greg@linux-0rpb:~/greg/ovms/Open-Vehicle-Monitoring-System-3-master/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3</a>><br
class="">
~/esp/xtensa-esp32-elf/bin/xtensa-esp32-elf-addr2line -pfiaC -e<br
class="">
build/ovms3.elf 0x4008ead4:0x3fff2f50
0x4008ecab:0x3fff2f70<br class="">
0x4008ecc4:0x3fff2f90
0x4008ab6b:0x3fff2fb0
0x4008cd94:0x3fff2fd0<br class="">
0x4008cd4a:0x3fff600c<br class="">
<br class="">
0x4008ead4: invoke_abort at<br class="">
/home/greg/esp/esp-idf/components/esp32/./panic.c:648<br class="">
0x4008ecab: abort at
/home/greg/esp/esp-idf/components/esp32/./panic.c:648<br
class="">
0x4008ecc4: vApplicationStackOverflowHook
at<br class="">
/home/greg/esp/esp-idf/components/esp32/./panic.c:648<br class="">
0x4008ab6b: vTaskSwitchContext at<br
class="">
/home/greg/esp/esp-idf/components/freertos/./tasks.c:4837<br class="">
0x4008cd94: _frxt_dispatch at<br class="">
/home/greg/esp/esp-idf/components/freertos/./portasm.S:406<br class="">
0x4008cd4a: _frxt_int_exit at<br class="">
/home/greg/esp/esp-idf/components/freertos/./portasm.S:206<br class="">
<br class="">
<a class="moz-txt-link-abbreviated"
href="mailto:greg@linux-0rpb:%7E/greg/ovms/Open-Vehicle-Monitoring-System-3-master/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3"
moz-do-not-send="true">greg@linux-0rpb:~/greg/ovms/Open-Vehicle-Monitoring-System-3-master/Open-Vehicle-Monitoring-System-3/vehicle/OVMS.V3</a>><br
class="">
<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
Mark Webb-Johnson wrote:<br class="">
<blockquote type="cite" class="">Greg,<br
class="">
<br class="">
The backtrace we need is one either via
gdbstub, or one you produce with:<br
class="">
<br class="">
~/esp/xtensa-esp32-elf/bin/xtensa-esp32-elf-addr2line -pfiaC -e
build/ovms3.elf 0x4008ead4:0x3fff2f50
0x4008ecab:0x3fff2f70
0x4008ecc4:0x3fff2f90
0x4008ab6b:0x3fff2fb0
0x4008cd94:0x3fff2fd0
0x4008cd4a:0x3fff600c<br class="">
<br class="">
Regards, Mark<br class="">
<br class="">
<blockquote type="cite" class="">On 29
Mar 2018, at 9:44 AM, Greg D. <<a
href="mailto:gregd2350@gmail.com"
class="" moz-do-not-send="true">gregd2350@gmail.com</a>>
wrote:<br class="">
<br class="">
So, now it's failing at my desk, too.
Good - a lot easier to grab a<br
class="">
backtrace... But, it's also
happening whether the metrics are set
or<br class="">
not. I've updated the code to the
current (including your housekeeping<br
class="">
changes); not sure if that made a
difference.<br class="">
<br class="">
OVMS> vfs cat /store/obd2ecu/10<br
class="">
ret1=OvmsMetricFloat("v.p.speed");<br
class="">
ret2=OvmsMetricFloat("v.b.power");<br
class="">
out = 0.0;<br class="">
if(ret1 > 0) { out=ret2/ret1; }<br
class="">
out;<br class="">
OVMS> obdii ecu list<br class="">
PID Type Value
Metric<br class="">
0 (0x00) internal 0.000000<br
class="">
4 (0x04) internal 0.000000
v.b.soc<br class="">
5 (0x05) metric 0.000000
v.e.temp<br class="">
***ERROR*** A stack overflow in task
AsyncConsole has been detected.<br
class="">
abort() was called at PC 0x4008ecc4 on
core 1<br class="">
<br class="">
Backtrace: 0x4008ead4:0x3fff2f50
0x4008ecab:0x3fff2f70<br class="">
0x4008ecc4:0x3fff2f90
0x4008ab6b:0x3fff2fb0
0x4008cd94:0x3fff2fd0<br class="">
0x4008cd4a:0x3fff600c<br class="">
<br class="">
Rebooting...<br class="">
<br class="">
<br class="">
<br class="">
<br class="">
Mark Webb-Johnson wrote:<br class="">
<blockquote type="cite" class="">Need
to see a backtrace. Perhaps you are
just on the borderline of stack
usage, or something going crazy?<br
class="">
<br class="">
Looking at DukOvmsMetricFloat(), it
just return the metric AsFloat(),
and for float type metrics that
should just be zero if not defined.<br
class="">
<br class="">
Regards, Mark.<br class="">
<br class="">
<blockquote type="cite" class="">On
29 Mar 2018, at 8:58 AM, Greg D.
<<a
href="mailto:gregd2350@gmail.com"
class="" moz-do-not-send="true">gregd2350@gmail.com</a>>
wrote:<br class="">
<br class="">
Hi folks,<br class="">
<br class="">
Does anyone know how DukTape
scripting handles math with a
metric that<br class="">
hasn't been updated yet? <br
class="">
<br class="">
I have a short example script in
the OBDII ECU documentation which<br
class="">
(should) calculate a
power-per-speed metric for display
on a HUD. Seems<br class="">
like it would be a useful example,
and wanted to verify that it
actually<br class="">
works. <br class="">
<br class="">
OVMS> vfs cat /store/obd2ecu/10<br
class="">
ret1=OvmsMetricFloat("v.p.speed");<br
class="">
ret2=OvmsMetricFloat("v.b.power");<br
class="">
out = 0.0;<br class="">
if(ret1 > 0) { out=ret2/ret1; }<br
class="">
out;<br class="">
<br class="">
I have the module in the my
Roadster, and the v.p.speed metric
comes up<br class="">
as 0 kph (that's good - it's
parked), but the power metric
isn't<br class="">
provided by the car, so is blank
when listing the metrics. I
expected<br class="">
the code to return zero.<br
class="">
<br class="">
Instead, executing the script by
asking for 'obdii ecu list' causes
an<br class="">
immediate crash with a stack
overflow in task AsyncConsole. If
I<br class="">
initialize the power metric by
hand (metric set v.b.power 0), the
script<br class="">
runs just fine, returning 0 for
the metric.<br class="">
<br class="">
Oddly, when I first set it up on
the desk (sans vehicle), so both
of the<br class="">
metrics were blank, executing the
script didn't cause crash.<br
class="">
<br class="">
Is there a way to make the code
"Roadster safe", without dummying
up the<br class="">
metric in, say, a startup script?
Better, is there a fix for
DukTape to<br class="">
handle this, or should I just
increase the stack size in
AsyncConsole?<br class="">
<br class="">
Thanks,<br class="">
<br class="">
Greg<br class="">
<br class="">
_______________________________________________<br class="">
OvmsDev mailing list<br class="">
<a
href="mailto:OvmsDev@lists.teslaclub.hk"
class="" moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a><br
class="">
<a class="moz-txt-link-freetext"
href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev"
moz-do-not-send="true">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br
class="">
</blockquote>
_______________________________________________<br class="">
OvmsDev mailing list<br class="">
<a
href="mailto:OvmsDev@lists.teslaclub.hk"
class="" moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a><br
class="">
<a class="moz-txt-link-freetext"
href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev"
moz-do-not-send="true">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br
class="">
</blockquote>
_______________________________________________<br class="">
OvmsDev mailing list<br class="">
<a
href="mailto:OvmsDev@lists.teslaclub.hk"
class="" moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a><br
class="">
<a class="moz-txt-link-freetext"
href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev"
moz-do-not-send="true">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br
class="">
</blockquote>
_______________________________________________<br class="">
OvmsDev mailing list<br class="">
<a
href="mailto:OvmsDev@lists.teslaclub.hk"
class="" moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a><br
class="">
<a class="moz-txt-link-freetext"
href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev"
moz-do-not-send="true">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br
class="">
</blockquote>
<br class="">
_______________________________________________<br class="">
OvmsDev mailing list<br class="">
<a
href="mailto:OvmsDev@lists.teslaclub.hk"
class="" moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a><br
class="">
<a class="moz-txt-link-freetext"
href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev"
moz-do-not-send="true">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br
class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
<br class="">
<fieldset class="mimeAttachmentHeader"></fieldset>
<br class="">
<pre class="" wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.teslaclub.hk" moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a>
<a class="moz-txt-link-freetext" href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev" moz-do-not-send="true">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a>
</pre>
</blockquote>
<br class="">
</blockquote>
<br class="">
</div>
_______________________________________________<br
class="">
OvmsDev mailing list<br class="">
<a href="mailto:OvmsDev@lists.teslaclub.hk" class=""
moz-do-not-send="true">OvmsDev@lists.teslaclub.hk</a><br
class="">
<a class="moz-txt-link-freetext" href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a><br
class="">
</div>
</blockquote>
</div>
<br class="">
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
OvmsDev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OvmsDev@lists.teslaclub.hk">OvmsDev@lists.teslaclub.hk</a>
<a class="moz-txt-link-freetext" href="http://lists.teslaclub.hk/mailman/listinfo/ovmsdev">http://lists.teslaclub.hk/mailman/listinfo/ovmsdev</a>
</pre>
</blockquote>
<br>
</body>
</html>