Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IPv6 prefixes fail to display with IndexError error on 3.1.3 #8196

Closed
bmhughes opened this issue Dec 30, 2021 · 3 comments
Closed

IPv6 prefixes fail to display with IndexError error on 3.1.3 #8196

bmhughes opened this issue Dec 30, 2021 · 3 comments
Assignees
Labels
status: accepted This issue has been accepted for implementation type: bug A confirmed report of unexpected behavior in the application

Comments

@bmhughes
Copy link

NetBox version

v3.1.3

Python version

3.9

Steps to Reproduce

  1. Open a previously defined IPv6 prefix

Expected Behavior

Display the prefix data

Observed Behavior

IndexError at /ipam/prefixes/271/
range contains more than 9223372036854775807 (sys.maxint) IP addresses!Use the .size property instead.
Environment:


Request Method: GET
Request URL: http://netbox/ipam/prefixes/271/

Django Version: 3.2.10
Python Version: 3.9.7
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'corsheaders',
 'debug_toolbar',
 'graphiql_debug_toolbar',
 'django_filters',
 'django_tables2',
 'django_prometheus',
 'graphene_django',
 'mptt',
 'rest_framework',
 'social_django',
 'taggit',
 'timezone_field',
 'circuits',
 'dcim',
 'ipam',
 'extras',
 'tenancy',
 'users',
 'utilities',
 'virtualization',
 'wireless',
 'django_rq',
 'drf_yasg',
 'django3_saml2_nbplugin.Django3AuthSAML2Plugin']
Installed Middleware:
['graphiql_debug_toolbar.middleware.DebugToolbarMiddleware',
 'django_prometheus.middleware.PrometheusBeforeMiddleware',
 'corsheaders.middleware.CorsMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.security.SecurityMiddleware',
 'netbox.middleware.ExceptionHandlingMiddleware',
 'netbox.middleware.RemoteUserMiddleware',
 'netbox.middleware.LoginRequiredMiddleware',
 'netbox.middleware.DynamicConfigMiddleware',
 'netbox.middleware.APIVersionMiddleware',
 'netbox.middleware.ObjectChangeMiddleware',
 'django_prometheus.middleware.PrometheusAfterMiddleware']


Template error:
In template /opt/netbox/netbox/templates/base/base.html, error at line 0
   range contains more than 9223372036854775807 (sys.maxint) IP addresses!Use the .size property instead.
   1 : {# Base template for (almost) all NetBox pages #}
   2 : {% load static %}
   3 : {% load helpers %}
   4 : <!DOCTYPE html>
   5 : <html
   6 :   lang="en"
   7 :   data-netbox-url-name="{{ request.resolver_match.url_name }}"
   8 :   data-netbox-base-path="{{ settings.BASE_PATH }}"
   9 :   {% with preferences|get_key:'ui.colormode' as color_mode %}
   10 :     {% if color_mode == 'dark'%}


Traceback (most recent call last):
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/core/handlers/base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/views/generic/base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "/opt/netbox/netbox/utilities/views.py", line 93, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/views/generic/base.py", line 98, in dispatch
    return handler(request, *args, **kwargs)
  File "/opt/netbox/netbox/netbox/views/generic.py", line 70, in get
    return render(request, self.get_template_name(), {
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/shortcuts.py", line 19, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/loader.py", line 62, in render_to_string
    return template.render(context, request)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 170, in render
    return self._render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/test/utils.py", line 100, in instrumented_test_render
    return self.nodelist.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/defaulttags.py", line 516, in render
    return self.nodelist.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 988, in render
    output = self.filter_expression.resolve(context)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/base.py", line 698, in resolve
    new_obj = func(obj, *arg_vals)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/django/template/defaultfilters.py", line 565, in length
    return len(value)
  File "/opt/netbox/venv/lib64/python3.9/site-packages/netaddr/ip/sets.py", line 685, in __len__
    raise IndexError(

Exception Type: IndexError at /ipam/prefixes/271/
Exception Value: range contains more than 9223372036854775807 (sys.maxint) IP addresses!Use the .size property instead.
@bmhughes bmhughes added the type: bug A confirmed report of unexpected behavior in the application label Dec 30, 2021
@jeremystretch
Copy link
Member

Thank you for opening a bug report. Unfortunately, the information you have provided is not sufficient for someone else to attempt to reproduce the reported behavior. Remember, each bug report must include detailed steps that someone else can follow on a clean, empty NetBox installation to reproduce the exact problem you're experiencing. These instructions should include the creation of any involved objects, any configuration changes, and complete accounting of the actions being taken. Also be sure that your report does not reference data on the public NetBox demo, as that is subject to change at any time by an outside party and cannot be relied upon for bug reports.

@jeremystretch jeremystretch added the status: revisions needed This issue requires additional information to be actionable label Dec 30, 2021
@bmhughes
Copy link
Author

bmhughes commented Dec 30, 2021

I'm not really sure what else I can provide here to give more detail, it's (for me at least) trivial to reproduce.

  1. Have a working v3.1.2 install.
  2. Upgrade it to v3.1.3.
  3. Unable to edit IPv6 prefixes due to the address length overflowing the max integer size.

I'd guess it's due to the new address overview panel but I've had to roll back to 3.1.2 so it's only a guess.

@bluikko
Copy link
Contributor

bluikko commented Dec 31, 2021

Editing any sufficiently short IPv6 prefix say 2001:db8::/64 throws the error. A /126 does not have the error.

@jeremystretch jeremystretch added status: accepted This issue has been accepted for implementation and removed status: revisions needed This issue requires additional information to be actionable labels Jan 3, 2022
@jeremystretch jeremystretch self-assigned this Jan 3, 2022
@jeremystretch jeremystretch pinned this issue Jan 3, 2022
@jeremystretch jeremystretch unpinned this issue Jan 3, 2022
larsks pushed a commit to larsks/netbox that referenced this issue Mar 8, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 4, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: accepted This issue has been accepted for implementation type: bug A confirmed report of unexpected behavior in the application
Projects
None yet
Development

No branches or pull requests

3 participants