Rendering of cable trace broken after upgrading from 3.7.6 to 3.7.7 #9572

Closed
opened 2025-12-29 21:19:06 +01:00 by adam · 6 comments
Owner

Originally created by @OliElli on GitHub (May 2, 2024).

Originally assigned to: @jeremystretch on GitHub.

Deployment Type

Self-hosted

NetBox Version

3.7.7

Python Version

3.9

Steps to Reproduce

Load the cable trace page, eg https://netbox.example.com/dcim/interfaces/2283/trace/

Expected Behavior

An SVG of the cable trace should be visible on the top left of the page, and the download link should provide the .svg file.

Observed Behavior

No render is visible, and the download link gives an error page:

<class 'AttributeError'>

'Circuit' object has no attribute 'name'

Python version: 3.9.18
NetBox version: 3.7.7
Plugins: 
  django3_saml2_nbplugin: 2.0
  netbox_bgp: 0.12.1
Originally created by @OliElli on GitHub (May 2, 2024). Originally assigned to: @jeremystretch on GitHub. ### Deployment Type Self-hosted ### NetBox Version 3.7.7 ### Python Version 3.9 ### Steps to Reproduce Load the cable trace page, eg https://netbox.example.com/dcim/interfaces/2283/trace/ ### Expected Behavior An SVG of the cable trace should be visible on the top left of the page, and the download link should provide the .svg file. ### Observed Behavior No render is visible, and the download link gives an error page: ``` <class 'AttributeError'> 'Circuit' object has no attribute 'name' Python version: 3.9.18 NetBox version: 3.7.7 Plugins: django3_saml2_nbplugin: 2.0 netbox_bgp: 0.12.1 ```
adam added the type: bugstatus: acceptedseverity: medium labels 2025-12-29 21:19:06 +01:00
adam closed this issue 2025-12-29 21:19:06 +01:00
Author
Owner

@jeffgdotorg commented on GitHub (May 2, 2024):

Thanks for reporting a problem you encountered.

I was unable to reproduce it using the provided steps. I did start with an empty, fresh 3.7.6 install, to which I added two devices, each with 24 interfaces, and connected those devices to each other and confirmed I could do a cable trace successfully. Then I upgraded that system to 3.7.7 and restarted the NetBox services. After the upgrade I was still able to perform the same trace. For good measure I tried tracing in the reverse direction, which also succeeded.

Have I omitted a step that was part of your flow?

@jeffgdotorg commented on GitHub (May 2, 2024): Thanks for reporting a problem you encountered. I was unable to reproduce it using the provided steps. I did start with an empty, fresh 3.7.6 install, to which I added two devices, each with 24 interfaces, and connected those devices to each other and confirmed I could do a cable trace successfully. Then I upgraded that system to 3.7.7 and restarted the NetBox services. After the upgrade I was still able to perform the same trace. For good measure I tried tracing in the reverse direction, which also succeeded. Have I omitted a step that was part of your flow?
Author
Owner

@jeffgdotorg commented on GitHub (May 2, 2024):

Screenshot 2024-05-02 at 16 51 41
Screenshot 2024-05-02 at 16 54 51

@jeffgdotorg commented on GitHub (May 2, 2024): ![Screenshot 2024-05-02 at 16 51 41](https://github.com/netbox-community/netbox/assets/1209268/8f674d9e-6e25-415d-a0f8-7e0e2c2eacfc) ![Screenshot 2024-05-02 at 16 54 51](https://github.com/netbox-community/netbox/assets/1209268/f3e0b83c-859d-4af4-bbe8-0f6241f89ae1)
Author
Owner

@vuchkovski commented on GitHub (May 3, 2024):

Hi, i can confirm this Bug. We also can not trace cables on Circuits after updating from v3.7.4 to 3.7.7.
I am testing in the moment, it does work on for example Devices directly, I have seen it on a Switch(Ports), a PDUs and Power Feed....
but it does not work with Circuits!
image

@vuchkovski commented on GitHub (May 3, 2024): Hi, i can confirm this Bug. We also can not trace cables on Circuits after updating from v3.7.4 to 3.7.7. I am testing in the moment, it does work on for example Devices directly, I have seen it on a Switch(Ports), a PDUs and Power Feed.... but it does not work with Circuits! <img width="623" alt="image" src="https://github.com/netbox-community/netbox/assets/149795719/08b6b9ca-7e3c-4d61-a3f8-3c1d229bfc0f">
Author
Owner

@jeremystretch commented on GitHub (May 3, 2024):

This was broken in PR #14750. Circuits do not have a name attribute (they are represented by circuit ID):

39a830798e/netbox/dcim/svg/cables.py (L226)

@jeremystretch commented on GitHub (May 3, 2024): This was broken in PR #14750. Circuits do not have a `name` attribute (they are represented by circuit ID): https://github.com/netbox-community/netbox/blob/39a830798ea870d04182cb5ef15540dfd4c7ca40/netbox/dcim/svg/cables.py#L226
Author
Owner

@jeffgdotorg commented on GitHub (May 3, 2024):

Thanks @vuchkovski, I should have keyed in on the mention of Circuit in @OliElli's original report and included one in my test setup.

@jeffgdotorg commented on GitHub (May 3, 2024): Thanks @vuchkovski, I should have keyed in on the mention of `Circuit` in @OliElli's original report and included one in my test setup.
Author
Owner

@jeremystretch commented on GitHub (May 3, 2024):

This is a good example of why it's crucial to provide explicit reproduction steps when submitting a bug report.

@jeremystretch commented on GitHub (May 3, 2024): This is a good example of why it's crucial to provide explicit reproduction steps when submitting a bug report.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#9572