[Ovmsdev] V3 progress
Stephen Casner
casner at acm.org
Mon Oct 23 11:29:20 HKT 2017
On Sun, 22 Oct 2017, Tom Parker wrote:
> I found a very odd bug, if you make a script which calls a command that
> doesn't log anything, you get a crash in ovms_console.cpp. It took me quite
> some time to trace this to commands that don't log, because start and stop do
> log if they're called in the right order, but my terrible network manager
> would call start whenever the network came up which would die the second time
> because the v2 client is already running and doesn't log anything if you try
> to start it again.
When the code in ovms_console was written it was not possible for a
LogBuffers object to have no buffers because it was only created at
the same time as the first buffer was inserted. When I began using
LogBuffers to collect the output of BufferedShell, this was no longer
true.
I fixed the crash by checking for the empty case. A second commit was
required because the first one resulted in leaking the empty
LogBuffers.
However, while checking about that leak I see what looks like a leak
of another 108-byte block every time the tick script runs. I have not
identified that yet.
Also, I think if I call the tick script from another one I can get a
different (related) crash. About to test that one.
-- Steve
More information about the OvmsDev
mailing list