Network Settings/LAN: An unknown API error occurred. (Internal error 'ipv6-addr'('<class 'KeyError'>')
Summary
The Network Settings/LAN
tab shows An unknown API error occurred.
instead of the LAN settings.
Steps To Reproduce
- Probably update Foris Controller to 5.4.0-3.9-3
- Open the
Network Settings/LAN
Expected Result
LAN settings displayed.
Actual Result
An unknown API error occurred.
displayed.
In the network tab of the browser, I can see a GET https://192.168.1.1/reforis/api/lan
request that returns an error 500:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link rel="icon" type="image/svg+xml" href="/reforis/static/reforis/imgs/favicon.svg">
<link rel="icon" type="image/png" href="/reforis/static/reforis/imgs/favicon.png">
<link rel="stylesheet" href="/reforis/static/reforis/css/app.css?v=1.4.1" />
<script>FontAwesomeConfig = { autoReplaceSvg: 'nest' }</script>
<script src="/reforis/static/reforis/js/babel.js" type="text/javascript"></script>
<script type="application/javascript">
ForisTranslations = babel.Translations.load({"domain": "messages", "locale": "en", "messages": {"There is %d package to be updated.": ["There is %d package to be updated.", "There are %d packages to be updated."]}, "plural_expr": "(n != 1)"}).install();
ForisTranslations.load({'Unknown Region (UTC) Time': 'Unknown Region (UTC) Time', 'Unknown City': 'Unknown City', 'Dumont d’Urville': 'Dumont d’Urville', 'Antarctica (Dumont d’Urville) Time': 'Antarctica (Dumont d’Urville) Time', 'St Barthélemy': 'St. Barthélemy', 'Atlantic Time': 'Atlantic Time', 'Atikokan': 'Atikokan', 'Eastern Time': 'Eastern Time', 'St John’s': 'St. John’s', 'Newfoundland Time': 'Newfoundland Time', 'Asmara': 'Asmara', 'Eritrea Time': 'Eritrea Time', 'Chuuk': 'Chuuk', 'Micronesia (Chuuk) Time': 'Micronesia (Chuuk) Time', 'Pohnpei': 'Pohnpei', 'Micronesia (Pohnpei) Time': 'Micronesia (Pohnpei) Time', 'Faroe': 'Faroe', 'Western European Time': 'Western European Time', 'Nuuk': 'Nuuk', 'West Greenland Time': 'West Greenland Time', 'Ittoqqortoormiit': 'Ittoqqortoormiit', 'East Greenland Time': 'East Greenland Time', 'Kolkata': 'Kolkata', 'India Time': 'India Time', 'St Kitts': 'St. Kitts', 'St Lucia': 'St. Lucia', 'Yangon': 'Yangon', 'Myanmar (Burma) Time': 'Myanmar (Burma) Time', 'Macao': 'Macao', 'China Time': 'China Time', 'Kathmandu': 'Kathmandu', 'Nepal Time': 'Nepal Time', 'St Helena': 'St. Helena', 'St Helena Time': 'St. Helena Time', 'Lower Prince’s Quarter': 'Lower Prince’s Quarter', 'Beulah, North Dakota': 'Beulah, North Dakota', 'Central Time': 'Central Time', 'New Salem, North Dakota': 'New Salem, North Dakota', 'Center, North Dakota': 'Center, North Dakota', 'Vincennes, Indiana': 'Vincennes, Indiana', 'Petersburg, Indiana': 'Petersburg, Indiana', 'Tell City, Indiana': 'Tell City, Indiana', 'Knox, Indiana': 'Knox, Indiana', 'Winamac, Indiana': 'Winamac, Indiana', 'Marengo, Indiana': 'Marengo, Indiana', 'Vevay, Indiana': 'Vevay, Indiana', 'Monticello, Kentucky': 'Monticello, Kentucky', 'St Vincent': 'St. Vincent', 'St Thomas': 'St. Thomas', 'Ho Chi Minh City': 'Ho Chi Minh City', 'Vietnam Time': 'Vietnam Time', 'Hawaii-Aleutian Time': 'Hawaii-Aleutian Time', 'Curaçao': 'Curaçao', 'United Kingdom Time': 'United Kingdom Time', 'Ireland Time': 'Ireland Time', 'Kostanay': 'Kostanay', 'Kazakhstan (Kostanay) Time': 'Kazakhstan (Kostanay) Time', 'Asunción': 'Asunción', 'Paraguay Time': 'Paraguay Time', 'Réunion': 'Réunion', 'Réunion Time': 'Réunion Time', 'São Tomé': 'São Tomé', 'São Tomé & Príncipe Time': 'São Tomé & Príncipe Time', 'Uzhhorod': 'Uzhhorod', 'Eastern European Time': 'Eastern European Time', 'Kiev': 'Kiev', 'World': 'World', 'Africa': 'Africa', 'North America': 'North America', 'South America': 'South America', 'Oceania': 'Oceania', 'Western Africa': 'Western Africa', 'Central America': 'Central America', 'Eastern Africa': 'Eastern Africa', 'Northern Africa': 'Northern Africa', 'Middle Africa': 'Middle Africa', 'Southern Africa': 'Southern Africa', 'Americas': 'Americas', 'Northern America': 'Northern America', 'Caribbean': 'Caribbean', 'Eastern Asia': 'Eastern Asia', 'Southern Asia': 'Southern Asia', 'Southeast Asia': 'Southeast Asia', 'Southern Europe': 'Southern Europe', 'Australasia': 'Australasia', 'Melanesia': 'Melanesia', 'Micronesian Region': 'Micronesian Region', 'Polynesia': 'Polynesia', 'Asia': 'Asia', 'Central Asia': 'Central Asia', 'Western Asia': 'Western Asia', 'Europe': 'Europe', 'Eastern Europe': 'Eastern Europe', 'Northern Europe': 'Northern Europe', 'Western Europe': 'Western Europe', 'Sub-Saharan Africa': 'Sub-Saharan Africa', 'Latin America': 'Latin America', 'Ascension Island': 'Ascension Island', 'Andorra': 'Andorra', 'United Arab Emirates': 'United Arab Emirates', 'Afghanistan': 'Afghanistan', 'Antigua & Barbuda': 'Antigua & Barbuda', 'Anguilla': 'Anguilla', 'Albania': 'Albania', 'Armenia': 'Armenia', 'Angola': 'Angola', 'Antarctica': 'Antarctica', 'Argentina': 'Argentina', 'American Samoa': 'American Samoa', 'Austria': 'Austria', 'Australia': 'Australia', 'Aruba': 'Aruba', 'Åland Islands': 'Åland Islands', 'Azerbaijan': 'Azerbaijan', 'Bosnia & Herzegovina': 'Bosnia & Herzegovina', 'Barbados': 'Barbados', 'Bangladesh': 'Bangladesh', 'Belgium': 'Belgium', 'Burkina Faso': 'Burkina Faso', 'Bulgaria': 'Bulgaria', 'Bahrain': 'Bahrain', 'Burundi': 'Burundi', 'Benin': 'Benin', 'Bermuda': 'Bermuda', 'Brunei': 'Brunei', 'Bolivia': 'Bolivia', 'Caribbean Netherlands': 'Caribbean Netherlands', 'Brazil': 'Brazil', 'Bahamas': 'Bahamas', 'Bhutan': 'Bhutan', 'Bouvet Island': 'Bouvet Island', 'Botswana': 'Botswana', 'Belarus': 'Belarus', 'Belize': 'Belize', 'Canada': 'Canada', 'Cocos (Keeling) Islands': 'Cocos (Keeling) Islands', 'Congo - Kinshasa': 'Congo - Kinshasa', 'Central African Republic': 'Central African Republic', 'Congo - Brazzaville': 'Congo - Brazzaville', 'Switzerland': 'Switzerland', 'Côte d’Ivoire': 'Côte d’Ivoire', 'Cook Islands': 'Cook Islands', 'Chile': 'Chile', 'Cameroon': 'Cameroon', 'China': 'China', 'Colombia': 'Colombia', 'Clipperton Island': 'Clipperton Island', 'Costa Rica': 'Costa Rica', 'Cuba': 'Cuba', 'Cape Verde': 'Cape Verde', 'Christmas Island': 'Christmas Island', 'Cyprus': 'Cyprus', 'Czechia': 'Czechia', 'Germany': 'Germany', 'Diego Garcia': 'Diego Garcia', 'Djibouti': 'Djibouti', 'Denmark': 'Denmark', 'Dominica': 'Dominica', 'Dominican Republic': 'Dominican Republic', 'Algeria': 'Algeria', 'Ceuta & Melilla': 'Ceuta & Melilla', 'Ecuador': 'Ecuador', 'Estonia': 'Estonia', 'Egypt': 'Egypt', 'Western Sahara': 'Western Sahara', 'Eritrea': 'Eritrea', 'Spain': 'Spain', 'Ethiopia': 'Ethiopia', 'European Union': 'European Union', 'Eurozone': 'Eurozone', 'Finland': 'Finland', 'Fiji': 'Fiji', 'Falkland Islands': 'Falkland Islands', 'Micronesia': 'Micronesia', 'Faroe Islands': 'Faroe Islands', 'France': 'France', 'Gabon': 'Gabon', 'United Kingdom': 'United Kingdom', 'Grenada': 'Grenada', 'Georgia': 'Georgia', 'French Guiana': 'French Guiana', 'Guernsey': 'Guernsey', 'Ghana': 'Ghana', 'Gibraltar': 'Gibraltar', 'Greenland': 'Greenland', 'Gambia': 'Gambia', 'Guinea': 'Guinea', 'Guadeloupe': 'Guadeloupe', 'Equatorial Guinea': 'Equatorial Guinea', 'Greece': 'Greece', 'South Georgia & South Sandwich Islands': 'South Georgia & South Sandwich Islands', 'Guatemala': 'Guatemala', 'Guam': 'Guam', 'Guinea-Bissau': 'Guinea-Bissau', 'Guyana': 'Guyana', 'Hong Kong SAR China': 'Hong Kong SAR China', 'Heard & McDonald Islands': 'Heard & McDonald Islands', 'Honduras': 'Honduras', 'Croatia': 'Croatia', 'Haiti': 'Haiti', 'Hungary': 'Hungary', 'Canary Islands': 'Canary Islands', 'Indonesia': 'Indonesia', 'Ireland': 'Ireland', 'Israel': 'Israel', 'Isle of Man': 'Isle of Man', 'India': 'India', 'British Indian Ocean Territory': 'British Indian Ocean Territory', 'Iraq': 'Iraq', 'Iran': 'Iran', 'Iceland': 'Iceland', 'Italy': 'Italy', 'Jersey': 'Jersey', 'Jamaica': 'Jamaica', 'Jordan': 'Jordan', 'Japan': 'Japan', 'Kenya': 'Kenya', 'Kyrgyzstan': 'Kyrgyzstan', 'Cambodia': 'Cambodia', 'Kiribati': 'Kiribati', 'Comoros': 'Comoros', 'St Kitts & Nevis': 'St. Kitts & Nevis', 'North Korea': 'North Korea', 'South Korea': 'South Korea', 'Kuwait': 'Kuwait', 'Cayman Islands': 'Cayman Islands', 'Kazakhstan': 'Kazakhstan', 'Laos': 'Laos', 'Lebanon': 'Lebanon', 'Liechtenstein': 'Liechtenstein', 'Sri Lanka': 'Sri Lanka', 'Liberia': 'Liberia', 'Lesotho': 'Lesotho', 'Lithuania': 'Lithuania', 'Luxembourg': 'Luxembourg', 'Latvia': 'Latvia', 'Libya': 'Libya', 'Morocco': 'Morocco', 'Monaco': 'Monaco', 'Moldova': 'Moldova', 'Montenegro': 'Montenegro', 'St Martin': 'St. Martin', 'Madagascar': 'Madagascar', 'Marshall Islands': 'Marshall Islands', 'North Macedonia': 'North Macedonia', 'Mali': 'Mali', 'Myanmar (Burma)': 'Myanmar (Burma)', 'Mongolia': 'Mongolia', 'Macao SAR China': 'Macao SAR China', 'Northern Mariana Islands': 'Northern Mariana Islands', 'Martinique': 'Martinique', 'Mauritania': 'Mauritania', 'Montserrat': 'Montserrat', 'Malta': 'Malta', 'Mauritius': 'Mauritius', 'Maldives': 'Maldives', 'Malawi': 'Malawi', 'Mexico': 'Mexico', 'Malaysia': 'Malaysia', 'Mozambique': 'Mozambique', 'Namibia': 'Namibia', 'New Caledonia': 'New Caledonia', 'Niger': 'Niger', 'Norfolk Island': 'Norfolk Island', 'Nigeria': 'Nigeria', 'Nicaragua': 'Nicaragua', 'Netherlands': 'Netherlands', 'Norway': 'Norway', 'Nepal': 'Nepal', 'Nauru': 'Nauru', 'Niue': 'Niue', 'New Zealand': 'New Zealand', 'Oman': 'Oman', 'Panama': 'Panama', 'Peru': 'Peru', 'French Polynesia': 'French Polynesia', 'Papua New Guinea': 'Papua New Guinea', 'Philippines': 'Philippines', 'Pakistan': 'Pakistan', 'Poland': 'Poland', 'St Pierre & Miquelon': 'St. Pierre & Miquelon', 'Pitcairn Islands': 'Pitcairn Islands', 'Puerto Rico': 'Puerto Rico', 'Palestinian Territories': 'Palestinian Territories', 'Portugal': 'Portugal', 'Palau': 'Palau', 'Paraguay': 'Paraguay', 'Qatar': 'Qatar', 'Outlying Oceania': 'Outlying Oceania', 'Romania': 'Romania', 'Serbia': 'Serbia', 'Russia': 'Russia', 'Rwanda': 'Rwanda', 'Saudi Arabia': 'Saudi Arabia', 'Solomon Islands': 'Solomon Islands', 'Seychelles': 'Seychelles', 'Sudan': 'Sudan', 'Sweden': 'Sweden', 'Singapore': 'Singapore', 'Slovenia': 'Slovenia', 'Svalbard & Jan Mayen': 'Svalbard & Jan Mayen', 'Slovakia': 'Slovakia', 'Sierra Leone': 'Sierra Leone', 'San Marino': 'San Marino', 'Senegal': 'Senegal', 'Somalia': 'Somalia', 'Suriname': 'Suriname', 'South Sudan': 'South Sudan', 'São Tomé & Príncipe': 'São Tomé & Príncipe', 'El Salvador': 'El Salvador', 'Sint Maarten': 'Sint Maarten', 'Syria': 'Syria', 'Eswatini': 'Eswatini', 'Tristan da Cunha': 'Tristan da Cunha', 'Turks & Caicos Islands': 'Turks & Caicos Islands', 'Chad': 'Chad', 'French Southern Territories': 'French Southern Territories', 'Togo': 'Togo', 'Thailand': 'Thailand', 'Tajikistan': 'Tajikistan', 'Tokelau': 'Tokelau', 'Timor-Leste': 'Timor-Leste', 'Turkmenistan': 'Turkmenistan', 'Tunisia': 'Tunisia', 'Tonga': 'Tonga', 'Turkey': 'Turkey', 'Trinidad & Tobago': 'Trinidad & Tobago', 'Tuvalu': 'Tuvalu', 'Taiwan': 'Taiwan', 'Tanzania': 'Tanzania', 'Ukraine': 'Ukraine', 'Uganda': 'Uganda', 'US Outlying Islands': 'U.S. Outlying Islands', 'United Nations': 'United Nations', 'United States': 'United States', 'Uruguay': 'Uruguay', 'Uzbekistan': 'Uzbekistan', 'Vatican City': 'Vatican City', 'St Vincent & Grenadines': 'St. Vincent & Grenadines', 'Venezuela': 'Venezuela', 'British Virgin Islands': 'British Virgin Islands', 'US Virgin Islands': 'U.S. Virgin Islands', 'Vietnam': 'Vietnam', 'Vanuatu': 'Vanuatu', 'Wallis & Futuna': 'Wallis & Futuna', 'Samoa': 'Samoa', 'Pseudo-Accents': 'Pseudo-Accents', 'Pseudo-Bidi': 'Pseudo-Bidi', 'Kosovo': 'Kosovo', 'Yemen': 'Yemen', 'Mayotte': 'Mayotte', 'South Africa': 'South Africa', 'Zambia': 'Zambia', 'Zimbabwe': 'Zimbabwe', 'Unknown Region': 'Unknown Region'});
ForisTranslations.load({"domain": "forisjs", "locale": "en", "messages": {}, "plural_expr": "(n != 1)"});
</script>
<script type="application/javascript">ForisPlugins = [];</script>
<script defer type="text/javascript" src="/reforis/static/reforis_storage/js/app.min.js"></script>
<script defer type="text/javascript" src="/reforis/static/reforis_snapshots/js/app.min.js"></script>
<script defer type="text/javascript" src="/reforis/static/reforis_openvpn/js/app.min.js"></script>
<script defer type="text/javascript" src="/reforis/static/reforis_netmetr/js/app.min.js"></script>
<script defer type="text/javascript" src="/reforis/static/reforis_diagnostics/js/app.min.js"></script>
<script defer type="text/javascript" src="/reforis/static/reforis_data_collection/js/app.min.js"></script>
<script type="text/javascript" src="/reforis/static/reforis/js/app.min.js"></script>
<title>
Server error
reForis | Turris</title>
</head>
<body>
<div id="app-container"></div>
<div class="wrapper ">
<nav id="sidebar">
<div id="sidebar-header">
<a href="/reforis/" class="logo">
<img
src="/reforis/static/reforis/imgs/logo-turris-white.svg"
alt="Turris Logo"
/>
</a>
<div id="navigation-collapse-toggle"></div>
</div>
<div id="navigation-container" class="h-100"></div>
</nav>
<div id="content">
<div class="col-sm-12">
<div id="alert-container" class="ml-3 mr-3"></div>
<div id="top-bar" class="float-right mt-0 mt-md-1 mb-0">
<div id="top-bar-container"></div>
</div>
<h1>500 - Server error</h1>
<h3>Error:</h3>
<p>Remote Exception: Internal error 'ipv6-addr'('<class 'KeyError'>')</p>
<h3>Extra:</h3>
<p>{"module": "lan", "action": "get_settings", "kind": "request"}</p>
<h3>Trace:</h3>
<p>Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/foris_controller/message_router.py", line 117, in process_message
File "/usr/lib/python3.9/site-packages/foris_controller/module_base.py", line 61, in perform_action
File "/usr/lib/python3.9/site-packages/foris_controller_modules/lan/__init__.py", line 36, in action_get_settings
File "/usr/lib/python3.9/site-packages/foris_controller/utils.py", line 113, in inner
File "/usr/lib/python3.9/site-packages/foris_controller_modules/lan/handlers/openwrt.py", line 41, in get_settings
File "/usr/lib/python3.9/site-packages/foris_controller_backends/lan/__init__.py", line 266, in get_settings
File "/usr/lib/python3.9/site-packages/foris_controller_backends/lan/__init__.py", line 206, in get_ipv6_client_list
KeyError: 'ipv6-addr'
</p>
</div>
</div>
</div>
<div id="router-state-handler"></div>
<div id="scroll-to-top"></div>
<div id="modal-container"></div>
</body>
</html>