V7.10.1 - stm32 - soft reset problem

Hi,
version 7.10.1 on MicroPython v1.14-457-g3bf6c7f12-dirty on 2021-04-28; PYBD-SF6W with STM32F767IIK (from master https://github.com/lvgl/lv_micropython) after a soft reset (CTRL-D) makes the device restart.

Any previous evidence or is it a new problem?

this is the main:

if __name__ == '__main__':
    log.debug("Press any kay to continue ...")
    input()
    try:
        log.debug("lv.init() PRE")
        lv.init()
        log.debug("lv.init() POST ")
        asyncio.run(main())
    except KeyboardInterrupt:
        log.debug('exiting ...')
    finally:
        asyncio.new_event_loop()
        lv.deinit()

It’s possible that there’s an issue with the bindings somewhere, as I know soft reboots have caused problems on STM32 for me before. I will test it again. In the meantime I would suggest using the normal full reset mechanism if possible. For STM32, it isn’t that much slower than soft reset.

Could this be related to calling lv_init() while the program is running and a screen is alive?
In case of soft reset this could also happen when there are active animations or tasks - that would surely cause some crash. Another thing that should be stopped is lvstm32 timer.
I guess that spontaneously calling lv_init() in the middle does not usually happen on C programs.

If this is the problem, we should have some C callback called when soft reset is performed that would clean up everything including tasks, animations, lvstm32 timer, etc.
I don’t think lv.deinit() is taking care of any of that: