freenas.local: Unscheduled system reboot

otpi

Contributor
Joined
Feb 23, 2017
Messages
117
Ok, this happened...

Code:
17:59 

New alerts:
* Unable to run alert source 'Samba4'
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/www/freenasUI/freeadmin/sqlite3_ha/base.py", line 412, in execute
    execute = self.locked_retry(Database.Cursor.execute, query, params)
  File "/usr/local/www/freenasUI/freeadmin/sqlite3_ha/base.py", line 403, in locked_retry
    raise e
  File "/usr/local/www/freenasUI/freeadmin/sqlite3_ha/base.py", line 389, in locked_retry
    rv = method(self, *args, **kwargs)
sqlite3.OperationalError: database is locked

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/plugins/alert.py", line 358, in __run_source
    alerts = (await alert_source.check()) or []
  File "/usr/local/lib/python3.6/site-packages/middlewared/plugins/../alert/source/samba4.py", line 11, in check
    if not await self.middleware.call("datastore.query", "storage.volume"):
  File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 1113, in call
    return await self._call(name, serviceobj, methodobj, params, app=app, pipes=pipes, io_thread=True)
  File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 1063, in _call
    return await run_method(methodobj, *args)
  File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 1009, in run_in_thread
    return await self.loop.run_in_executor(executor, functools.partial(method, *args, **kwargs))
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  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/datastore.py", line 175, in query
    select=options.get('select'),
  File "/usr/local/lib/python3.6/site-packages/middlewared/plugins/datastore.py", line 88, in __queryset_serialize
    for i in qs:
  File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 256, in __iter__
    self._fetch_all()
  File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 1087, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 54, in __iter__
    results = compiler.execute_sql()
  File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 835, in execute_sql
    cursor.execute(sql, params)
  File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python3.6/site-packages/django/db/utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/local/lib/python3.6/site-packages/django/utils/six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/www/freenasUI/freeadmin/sqlite3_ha/base.py", line 412, in execute
    execute = self.locked_retry(Database.Cursor.execute, query, params)
  File "/usr/local/www/freenasUI/freeadmin/sqlite3_ha/base.py", line 403, in locked_retry
    raise e
  File "/usr/local/www/freenasUI/freeadmin/sqlite3_ha/base.py", line 389, in locked_retry
    rv = method(self, *args, **kwargs)
django.db.utils.OperationalError: database is locked


Alerts:
* Unable to run alert source 'Samba4'
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/www/freenasUI/freeadmin/sqlite3_ha/base.py", line 412, in execute
    execute = self.locked_retry(Database.Cursor.execute, query, params)
  File "/usr/local/www/freenasUI/freeadmin/sqlite3_ha/base.py", line 403, in locked_retry
    raise e
  File "/usr/local/www/freenasUI/freeadmin/sqlite3_ha/base.py", line 389, in locked_retry
    rv = method(self, *args, **kwargs)
sqlite3.OperationalError: database is locked

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/plugins/alert.py", line 358, in __run_source
    alerts = (await alert_source.check()) or []
  File "/usr/local/lib/python3.6/site-packages/middlewared/plugins/../alert/source/samba4.py", line 11, in check
    if not await self.middleware.call("datastore.query", "storage.volume"):
  File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 1113, in call
    return await self._call(name, serviceobj, methodobj, params, app=app, pipes=pipes, io_thread=True)
  File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 1063, in _call
    return await run_method(methodobj, *args)
  File "/usr/local/lib/python3.6/site-packages/middlewared/main.py", line 1009, in run_in_thread
    return await self.loop.run_in_executor(executor, functools.partial(method, *args, **kwargs))
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  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/datastore.py", line 175, in query
    select=options.get('select'),
  File "/usr/local/lib/python3.6/site-packages/middlewared/plugins/datastore.py", line 88, in __queryset_serialize
    for i in qs:
  File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 256, in __iter__
    self._fetch_all()
  File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 1087, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/usr/local/lib/python3.6/site-packages/django/db/models/query.py", line 54, in __iter__
    results = compiler.execute_sql()
  File "/usr/local/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 835, in execute_sql
    cursor.execute(sql, params)
  File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/lib/python3.6/site-packages/django/db/utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/usr/local/lib/python3.6/site-packages/django/utils/six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/usr/local/www/freenasUI/freeadmin/sqlite3_ha/base.py", line 412, in execute
    execute = self.locked_retry(Database.Cursor.execute, query, params)
  File "/usr/local/www/freenasUI/freeadmin/sqlite3_ha/base.py", line 403, in locked_retry
    raise e
  File "/usr/local/www/freenasUI/freeadmin/sqlite3_ha/base.py", line 389, in locked_retry
    rv = method(self, *args, **kwargs)
django.db.utils.OperationalError: database is locked

Then I immediately got the same "gone alerts" message.

However, 10 minutes later I got this message:

Code:
freenas.local had an unscheduled system reboot.
The operating system successfully came back online at Fri Jan  4 18:10:47 2019.


No one using the box at the time, so I didn't notice the reboot before the message came through. Freenas 11.2, plex plugin installed, noting else.
 

Chris Moore

Hall of Famer
Joined
May 2, 2015
Messages
10,080
You should file a bug report.
 

otpi

Contributor
Joined
Feb 23, 2017
Messages
117
Searched the bugtracker for: sqlite3.OperationalError: database is locked

Found two similar bugs, both are marked as closed, but I'm not sure if it's the exact same as mine. Also, mine rebooted, which I can not see reported in these two instances:

https://redmine.ixsystems.com/issues/66459
https://redmine.ixsystems.com/issues/47877

Last comment is this:

Updated by William Grzybowski 24 days ago
nick triantos wrote:
I see the exact same issue. My boot volume is a USB flash disk that I have been using since FreeNAS 9.2. I don't think the device is likely going bad, but it could be slow. FreeNAS should be able to handle this kind of slow device better (since most USB flash sticks are slow, relative to magnetic or SSD hard drives.​
Being slow is fine, being extremely slow is something we cant do anything about, no system can function properly if a write to a database takes ages and there are multiple things trying to write to the same database.

Is it related to a slow/bad boot USB?

Still a bit worried about the "unscheduled reboot"...
 

Chris Moore

Hall of Famer
Joined
May 2, 2015
Messages
10,080
Still a bit worried about the "unscheduled reboot"...
If you submit a bug report, the developers can look at the system log and make the determination of why it rebooted and if some software in the system needs to be fixed to prevent future reboots.
 
Top