On Mon, 2016-12-19 at 05:22 +0800, Ed Greshko wrote:
On 12/19/16 02:49, Patrick O'Callaghan wrote:
> On Sun, 2016-12-18 at 07:36 +0800, Ed Greshko wrote:
> > On 12/18/16 07:22, Patrick O'Callaghan wrote:
> > > This is fine as far as it goes, however I just had a failed boot
> > > because although the akmod RPM did compile, it had an install error
> > > (the key line being "sqlite3.OperationalError: database is
locked").
> > > When I managed to track it down I went back and simply ran dnf manually
> > > on the same RPM. It installed and booted correctly. I've no idea what
> > > the origin of the problem was.
> >
> > Did the line "akmods: Successful" appear in the log file? I've
never had a case where
> > that line was there an a boot failed.
> >
> > Where did you see the "sqlite3.OperationalError: database is locked"
message?
>
> In /var/cache/akmods/nvidia/375.26-1-for-4.8.12-300.fc25.x86_64.failed.log
>
> The tail of which says:
>
> ================================================================================
> Package Arch Version Repository Size
> ================================================================================
> Upgrading:
> kmod-nvidia-4.8.12-300.fc25.x86_64 x86_64 1:375.26-1.fc25 @commandline 6.1 M
>
> Transaction Summary
> ================================================================================
> Upgrade 1 Package
>
> Total size: 6.1 M
> Downloading Packages:
> Running transaction check
> Transaction check succeeded.
> Running transaction test
> Transaction test succeeded.
> Running transaction
> Traceback (most recent call last):
> File "/bin/dnf", line 58, in <module>
> main.user_main(sys.argv[1:], exit_code=True)
> File "/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 174, in
user_main
> errcode = main(args)
> File "/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 60, in
main
> return _main(base, args)
> File "/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 120, in
_main
> ret = resolving(cli, base)
> File "/usr/lib/python3.5/site-packages/dnf/cli/main.py", line 149, in
resolving
> base.do_transaction(display=displays)
> File "/usr/lib/python3.5/site-packages/dnf/cli/cli.py", line 228, in
do_transaction
> super(BaseCli, self).do_transaction(display)
> File "/usr/lib/python3.5/site-packages/dnf/base.py", line 607, in
do_transaction
> self._run_transaction(cb=cb)
> File "/usr/lib/python3.5/site-packages/dnf/base.py", line 651, in
_run_transaction
> lastdbv = self.history.last()
> File "/usr/lib/python3.5/site-packages/dnf/yum/history.py", line 1319,
in last
> ret = self.old([], 1, complete_transactions_only)
> File "/usr/lib/python3.5/site-packages/dnf/yum/history.py", line 1268,
in old
> executeSQL(cur, sql, params)
> File "/usr/lib/python3.5/site-packages/dnf/yum/sqlutils.py", line 167,
in executeSQLQmark
> return cursor.execute(query)
> sqlite3.OperationalError: database is locked
> 2016/12/17 10:24:37 akmods: Could not install newly built RPMs. You can find them
and the logfile
> 2016/12/17 10:24:37 akmods: 375.26-1-for-4.8.12-300.fc25.x86_64.failed.log in
/var/cache/akmods/nvidia/
>
Oh, OK. So, there was a clear indication that something went wrong and you needed to
take
action.
I was concerned that the logs may have indicated "success" with the result
being a blank
screen on reboot with a blinking cursor. Which, BTW, does happen when a reboot is
forced
before "success" is noted. Unfortunately many take that to be a bad sign when
in reality
the kmod is being rebuilt with that blinking cursor going on. The RPMfusion guys really
should find a way to put some message on the screen to tell people to wait while the
process completes.
Of course, but in this case there is clearly a database lock for some
unexplained reason, which the dnf authors(s) did not expect to ever
happen (or they would have caught the exception).
I guess I should BZ it.
poc