Project

General

Profile

Bug #42761

Fix traceback when Plugins INDEX does not exist

Added by Jeff Ervin over 1 year ago. Updated over 1 year ago.

Status:
Done
Priority:
No priority
Assignee:
Brandon Schneider
Category:
Middleware
Target version:
Severity:
New
Reason for Closing:
Reason for Blocked:
Needs QA:
No
Needs Doc:
No
Needs Merging:
No
Needs Automation:
No
Support Suite Ticket:
n/a
Hardware Configuration:
ChangeLog Required:
No

Description

Seen in FreeNAS-11.2-MASTER-201808230859. Went into plugins / Installed and received this error. There are no plugin's installed.

[EFAULT] Plugin INDEX doesn't exist, unable to list pkg versions for any plugins.

Error: concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/local/lib/python3.6/concurrent/futures/process.py", line 175, in _process_worker
r = call_item.fn(*call_item.args, **call_item.kwargs)
File "/usr/local/lib/python3.6/site-packages/middlewared/worker.py", line 122, in main_worker
res = loop.run_until_complete(coro)
File "/usr/local/lib/python3.6/asyncio/base_events.py", line 468, in run_until_complete
return future.result()
File "/usr/local/lib/python3.6/site-packages/middlewared/worker.py", line 82, in _run
return await self._call(f'{service_name}.{method}', serviceobj, methodobj, params=args, job=job)
File "/usr/local/lib/python3.6/site-packages/middlewared/worker.py", line 75, in _call
return methodobj(*params)
File "/usr/local/lib/python3.6/site-packages/middlewared/worker.py", line 75, in _call
return methodobj(*params)
File "/usr/local/lib/python3.6/site-packages/middlewared/schema.py", line 668, in nf
return f(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/middlewared/plugins/jail.py", line 378, in list_resource
'Plugin INDEX doesn\'t exist, unable to list pkg'
middlewared.service_exception.CallError: [EFAULT] Plugin INDEX doesn't exist, unable to list pkg versions for any plugins.
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 155, in call_method
result = await self.middleware.call_method(self, message)
File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 129, in throw
return self.gen.throw(type, value, traceback)
File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 1023, in call_method
return await self._call(message['method'], serviceobj, methodobj, params, app=app, io_thread=False)
File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 129, in throw
return self.gen.throw(type, value, traceback)
File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 960, in call
return await self._call_worker(serviceobj, name, *args)
File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 129, in throw
return self.gen.throw(type, value, traceback)
File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 987, in _call_worker
job,
File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 129, in throw
return self.gen.throw(type, value, traceback)
File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 918, in run_in_proc
return await self.run_in_executor(self.
_procpool, method, *args, **kwargs)
File "/usr/local/lib/python3.6/asyncio/coroutines.py", line 129, in throw
return self.gen.throw(type, value, traceback)
File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 912, in run_in_executor
return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
middlewared.service_exception.CallError: [EFAULT] Plugin INDEX doesn't exist, unable to list pkg versions for any plugins.

Plugin 1.png (46.9 KB) Plugin 1.png Jeff Ervin, 08/29/2018 10:20 AM
Plugs removed.png (56.6 KB) Plugs removed.png Jeff Ervin, 08/29/2018 10:21 AM
Plugin 2.png (52.6 KB) Plugin 2.png Jeff Ervin, 08/29/2018 10:21 AM
Plugin 2 removed.png (55.2 KB) Plugin 2 removed.png Jeff Ervin, 08/29/2018 10:21 AM
26695
26706
26717
26728

Associated revisions

Revision 4dafcc32 (diff)
Added by Brandon Schneider over 1 year ago

fix(plugins): Append N/A for version and revision if INDEX doesn't exist Ticket: #42761

Revision ce081fe0 (diff)
Added by Brandon Schneider over 1 year ago

fix(plugins): Append N/A for version and revision if INDEX doesn't exist Ticket: #42761

History

#1 Updated by Dru Lavigne over 1 year ago

  • Category changed from GUI (new) to Middleware
  • Assignee changed from Erin Clark to William Grzybowski

#3 Updated by William Grzybowski over 1 year ago

  • Assignee changed from William Grzybowski to Brandon Schneider
  • Target version changed from Backlog to 11.2-RC1

Brandon, have you seen this before?

Jeff, can you please attach your Save Debug?

#4 Updated by Jeff Ervin over 1 year ago

  • File debug.tgz added

#5 Updated by Jeff Ervin over 1 year ago

  • File debug(1).tgz added

Actually use this debug file...I had two systems running.

#6 Updated by Brandon Schneider over 1 year ago

  • Category changed from Middleware to GUI (new)
  • Assignee changed from Brandon Schneider to Erin Clark

This is expected. middlewared added this exception for this purpose, UI needs to handle.

#7 Updated by Brandon Schneider over 1 year ago

  • Category changed from GUI (new) to Middleware
  • Assignee changed from Erin Clark to Brandon Schneider

Perhaps a CallError is overkill here. Will change on our end.

#8 Updated by Brandon Schneider over 1 year ago

  • Status changed from Unscreened to In Progress

#9 Updated by Erin Clark over 1 year ago

As we discussed, this call should just result in an empty array [], that is what the table expects when there are no elements to be reported, i.e. no plugins installed. The result would be an empty table because the user hasn't installed anything yet.

#10 Updated by Dru Lavigne over 1 year ago

  • Target version changed from 11.2-RC1 to 11.2-BETA3

#11 Updated by Brandon Schneider over 1 year ago

PR: https://github.com/freenas/freenas/pull/1725
DESC: Just return N/A for plugin version and revision if the INDEX is missing
RISK: Low
ACCEPTANCE: Create some plugins, then nuke the .plugin_index and verify it now shows N/A instead of versions.

#12 Updated by Bug Clerk over 1 year ago

  • Status changed from In Progress to Ready for Testing

#13 Updated by Dru Lavigne over 1 year ago

  • Subject changed from Error message when clicking on Installed Plugins to Fix traceback when Plugins INDEX does not exist
  • Needs Doc changed from Yes to No
  • Needs Merging changed from Yes to No

#14 Updated by Dru Lavigne over 1 year ago

  • File deleted (debug.tgz)

#15 Updated by Dru Lavigne over 1 year ago

  • File deleted (debug(1).tgz)

#16 Updated by Jeff Ervin over 1 year ago

26695
26706
26717
26728

Test Passes FreeNAS-11.2-MASTER-201808220903
Installed Plugins on both VM's and deleted both. See screenshots. No errors.

#17 Updated by Dru Lavigne over 1 year ago

  • Status changed from Passed Testing to Done

Also available in: Atom PDF