Add more validation when removing iocage mount point

Description

Removing a mount point in fstab fails.

Error: concurrent.futures.process._RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/local/lib/python3.7/concurrent/futures/process.py", line 232, in _process_worker
r = call_item.fn(*call_item.args, **call_item.kwargs)
File "/usr/local/lib/python3.7/site-packages/middlewared/worker.py", line 103, in main_worker
res = loop.run_until_complete(coro)
File "/usr/local/lib/python3.7/asyncio/base_events.py", line 573, in run_until_complete
return future.result()
File "/usr/local/lib/python3.7/site-packages/middlewared/worker.py", line 59, in _run
return await self._call(name, serviceobj, methodobj, params=args, job=job)
File "/usr/local/lib/python3.7/site-packages/middlewared/worker.py", line 52, in _call
return methodobj(*params)
File "/usr/local/lib/python3.7/site-packages/middlewared/worker.py", line 52, in _call
return methodobj(*params)
File "/usr/local/lib/python3.7/site-packages/middlewared/schema.py", line 922, in nf
return f(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/jail.py", line 735, in fstab
dump, _pass, index=index
File "/usr/local/lib/python3.7/site-packages/iocage_lib/iocage.py", line 1172, in fstab
index=index
File "/usr/local/lib/python3.7/site-packages/iocage_lib/ioc_fstab.py", line 64, in _init_
self.src = self._fstab_encode_(self.src)
File "/usr/local/lib/python3.7/site-packages/iocage_lib/ioc_fstab.py", line 466, in _fstab_encode_
result = ctypes.create_string_buffer(len(_string) * 4 + 1)
TypeError: object of type 'NoneType' has no len()
"""

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

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 168, in call_method
result = await self.middleware.call_method(self, message)
File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1129, in call_method
return await self._call(message['method'], serviceobj, methodobj, params, app=app, io_thread=False)
File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1074, in _call
return await self._call_worker(name, *args)
File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1094, in _call_worker
return await self.run_in_proc(main_worker, name, args, job)
File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1025, in run_in_proc
return await self.run_in_executor(self.__procpool, method, *args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 999, in run_in_executor
return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
TypeError: object of type 'NoneType' has no len()

Problem/Justification

None

Impact

None

SmartDraw Connector

Katalon Manual Tests (BETA)

Activity

Show:

Jeff Ervin June 20, 2019 at 1:11 PM

Test Passed FreeNAS-11.2-INTERNAL-9

Mount points accessed/removed/edited without traceback.

Bug Clerk May 29, 2019 at 6:14 PM

Bug Clerk May 29, 2019 at 6:05 PM

Bug Clerk May 13, 2019 at 9:12 PM

Bug Clerk May 13, 2019 at 9:11 PM

Complete
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

More fields

Katalon Platform

Created April 23, 2019 at 10:28 PM
Updated July 1, 2022 at 4:32 PM
Resolved June 23, 2019 at 4:00 AM