openxc / vi-firmware

OpenXC-compatible firmware for PIC32 and LPC1768
http://vi-firmware.openxcplatform.com
BSD 3-Clause "New" or "Revised" License
197 stars 105 forks source link

OOM errors #388

Open emarsman opened 7 years ago

emarsman commented 7 years ago

With increased memory for multi-frame diagnostics (1287437b7db97ac508fbd9425d617a38acc697ea), devices can run out of memory when processing large amounts of CAN messages (https://github.com/openxc/vi-firmware/blob/25b93b04e6c4f517376d668f7fa9ecd92b746c70/src/payload/json.cpp#L669).

Current master works fine for diagnostics, but issues with large amounts of CAN traffic.

Related to #375.

emarsman commented 7 years ago

can-oom branch makes this better. Works for standard translated signals. Full bus raw CAN still locks up device (Ref VI, works on C5). Could be running into this problem?

https://github.com/openxc/vi-firmware/blob/45eeb2ac664b8f5969a928c31262de01626e0d3b/src/vi_firmware.cpp#L261

Need to investigate further.