Skip to content

Detect infinite loop in cable paths #17292

Closed as not planned
Closed as not planned
@bctiemann

Description

@bctiemann

Deployment Type

NetBox Cloud

NetBox Version

v4.0.9

Python Version

3.10

Steps to Reproduce

Currently it is possible to create an infinite loop in cabling topology (for instance, a Device with Interface -> Patch Panel Front Port -> Patch Panel Rear Port). This causes CablePath.from_origin to loop infinitely while trying to resolve the termination path.

Create Cable connections as follows:

Device (DA): Application Server, APC AP7901
Create Interface 01 (fixed Ethernet)

Patch Panel (PA): Generic 48-pair fiber panel

Device (DA) [Interface]
        | (Cable 1)
PatchPanel (PA) Front Port 1
PatchPanel (PA) Front Port 2
        | (Cable 2)
PatchPanel (PA) Rear Splice

(Issue also occurs if you create a Rear Port 1 on PA and connect Front Port 2 to Rear Port 1.)

When creating the Cable 2 object, clicking Save leads to an infinitely spinning/wedged browser as the app continuously iterates.

Expected Behavior

Cable should be created. If the cable path is not valid, the trace diagram should not be expected to redraw correctly.

Observed Behavior

Cable object fails to save, or is partially saved, while the from_origin method iterates infinitely. User has to refresh the browser and the app potentially suffers degraded performance while the session survives.

Metadata

Metadata

Assignees

No one assigned

    Labels

    netboxpending closureRequires immediate attention to avoid being closed for inactivityseverity: lowDoes not significantly disrupt application functionality, or a workaround is availablestatus: needs ownerThis issue is tentatively accepted pending a volunteer committed to its implementationtopic: cablingtype: bugA confirmed report of unexpected behavior in the application

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions