Skip to content

LinkManager: timer_method exception (dictionary changed size during iteration) #65

@kunom

Description

@kunom

I observed the following stack trace with IPOP 17.08:

[20180323 21:31:25.340] WARNING:TincanInterface: TincanInterface: unrecognized Data PROCESS_TINCAN_DATA received from TincanInterface. Data:::b'{\n   "IPOP" : {\n      "ControlType" : "TincanResponse",\n      "ProtocolVersion" : 4,\n      "Request" : {\n         "Command" : "TrimTunnel",\n         "Initiator" : "LinkManager",\n         "InterfaceName" : "ipop_tap0",\n         "MAC" : "5E309C45F65A"\n      },\n      "Response" : {\n         "Message" : "The tunnel to 5E309C45F65A has been removed.",\n         "Success" : true\n      },\n      "TransactionId" : 432\n   }\n}\n'
[20180323 21:31:25.349] WARNING:LinkManager: timer_method exception:
Traceback (most recent call last):
  File "/opt/ipop/ipop-vpn_rel17.08_rpi/controller/modules/LinkManager.py", line 401, in timer_method
    self.clean_p2plinks(interface_name)
  File "/opt/ipop/ipop-vpn_rel17.08_rpi/controller/modules/LinkManager.py", line 139, in clean_p2plinks
    for uid in links["peers"].keys():
RuntimeError: dictionary changed size during iteration

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/ipop/ipop-vpn_rel17.08_rpi/controller/framework/CFxHandle.py", line 139, in __timer_worker
    self.CMInstance.timer_method()
  File "/opt/ipop/ipop-vpn_rel17.08_rpi/controller/modules/LinkManager.py", line 404, in timer_method
    self.peers_lck.release()
RuntimeError: release unlocked lock

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions