[Ovmsdev] Mongoose update (git submodule update)

Michael Balzer dexter at expeedo.de
Fri May 25 15:29:42 HKT 2018


Am 25.05.2018 um 04:01 schrieb Mark Webb-Johnson:
> Michael,
>
> This seems a very neat solution, at a fundamental level, to the problem. I just worry if there are other parts of mongoose (other than buffers) that are going to hit this multi-threaded issue. I think, for safety, we need to make sure as much as possible is done inside the mongoose task.

Yes, that's an important note for all developers: *this does not make mongoose thread safe*.

This only makes the connection buffer access thread safe so mg_send() can be called from other tasks, e.g. from event or metric listeners. This can be done if
sends are atomic on the protocol level (as done in the v2 server by Transmit()). A clean "mongoose style" solution for this would be to queue all transmissions
and only send from the mongoose event handler or a mongoose broadcast handler.

All other concurrent accesses to mongoose connections still must be avoided. Even API calls that seem to only do read accesses (e.g. mg_conn_addr_to_str) can
have hidden side effects if called from another context.


> Please let us know if it solves the problem you are seeing.

This was happening mostly on the Twizy because it currently does the most custom telemetry.

Looks very good so far. I rolled out the build yesterday evening, so I will have some more data on this over the weekend.

Regards,
Michael


> Regards, Mark.
>
>> On 24 May 2018, at 11:30 PM, Michael Balzer <dexter at expeedo.de> wrote:
>>
>> Re: https://github.com/openvehicles/Open-Vehicle-Monitoring-System-3/issues/120
>>
>> I've pushed an update to our mongoose clone that should solve the spurious crashes in mbuf_insert().
>>
>> After the next git pull, you will also need to do a git submodule update.
>>
>> Please test for your setups and report if the crash still occurs or any new issues come up.
>>
>> Regards,
>> Michael
>>
>> -- 
>> Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
>> Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
>>
>> _______________________________________________
>> OvmsDev mailing list
>> OvmsDev at lists.openvehicles.com
>> http://lists.openvehicles.com/mailman/listinfo/ovmsdev
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev

-- 
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openvehicles.com/pipermail/ovmsdev/attachments/20180525/2215fa15/attachment.htm>


More information about the OvmsDev mailing list