Memory leak using timers

  • Hello,

    LOPY 1.7.9.b3.
    if you run the below code, you will see that after many loops it will raise "memory error". To reproduce in fastest way set SLEEP= 0.5. Same is with gc.enable().

    import gc
    import utime
    from machine import Timer
    class Object:
        def __init__(self, count=0):
            print ("Object INIT ", self)
            self._timer = Timer.Alarm(self._timerCallback, 0.5, periodic=False)
        def __del__(self):
            print ("Object DEL ", self)
        def _timerCallback(self, timer):    
            print("Timer finish " ,  self)
            del self._timer
            self._timer = None
    print("Start memory %s" %(gc.mem_free()))
    SLEEP = 1.5
    while True:
        obj = Object(100)
        print("\t\tmemory %s" %(gc.mem_free()))

  • The issue was posted on github.

  • @Colateral
    The most effective place to post bug reports is at

    The forum is mostly to discuss such bugs, since there's no issue tracking.

Log in to reply

Pycom on Twitter