Skip to content

Toolkit timers can be coded to be left orphaned #237

@justparking

Description

@justparking

A particular coding pattern and a race condition caused during periods of high activity could result in timers being orphaned and not cleaned up during node restarts.

Example code:

@local_action({})
def go():
  keepTrying()
  
def keepTrying():
  try:
    console.info('trying...')
    
  except:
    console.warn('failed! will backoff for 10s')
    call(keepTrying, 10.0)
    
  finally:
    console.info('will keep trying in 2s')
    call(keepTrying, 2.0)

Metadata

Metadata

Assignees

Labels

bugSomething isn't working as expectedconcernSomething that may need attention but isn't urgentworkaround existsA workaround is available for this issue

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions