Project

General

Profile

Bug #1903

WebSocketFace persists after lower-layer disconnect

Added by Junxiao Shi about 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Faces
Target version:
Start date:
08/22/2014
Due date:
% Done:

100%

Estimated time:
3.00 h

Description

Steps to reproduce:

  1. On an Android phone, run a ndn-js consumer application in Chrome. This application shall send one or more Interests, wait until all Interests being satisfied or timed out, and keep the WebSocket connection open.
    note: You cannot reproduce this bug if router attempts to send something to the phone after step 3.
  2. Look at router's nfd-status output or status webpage, remember FaceId for the WebSocket connection from the phone.
    note: The phone's public IP address, combined with a non-busy router, would be helpful to identify the correct face.
  3. Turn off WiFi on the phone.
    note: It's important to turn off WiFi before closing webpage.
  4. Close webpage in Chrome.
    note: After this step, you may turn on WiFi and continue using the phone. The phone is no longer needed.
  5. Wait 8 hours.
  6. Look at nfd-status output or status webpage.

Expected: the WebSocket face is gone.

Actual: the WebSocket face persists.

Suggested fix:

  • WebSocket face should be marked on-demand.
  • When underlying TCP connection disconnects due to lack of keep alive, the WebSocket face should be closed.

History

#1 Updated by Wentao Shang about 5 years ago

  • % Done changed from 0 to 10

#2 Updated by Wentao Shang about 5 years ago

  • % Done changed from 10 to 50

#3 Updated by Wentao Shang about 5 years ago

  • Status changed from New to In Progress

#4 Updated by Junxiao Shi almost 5 years ago

Currently this Task is blocked by an inconsistency introduced in #1970: Exclude::wireEncode throws if Exclude element is empty, but NFD's PIT incorrectly invokes Exclude::wireEncode for equality comparison.

The needed fix is Iee9a1738881be159b7944ce618869687f61e61b5 and I7b6d80cff6200e2c7d7d8529d2736bc275f1b6e7.

Nothing in NFD can progress until this fix is merged.

#5 Updated by Junxiao Shi almost 5 years ago

  • Status changed from In Progress to Closed
  • % Done changed from 50 to 100

Verified on NDN6.TK

Also available in: Atom PDF