Skip to content

Database upgrades are not atomic with schema number bump #1954

@nico202

Description

@nico202

Report

I'm on NixOS unstable. After nixos-rebuild switch'ing to the latest unstable, (upgrade from the unstable of last week), nix does not work anymore, neither as root nor as user.
The error message:

nix-shell -p # same as sudo nixos-rebuild switch
error: cannot open connection to remote store 'daemon': executing SQLite statement 'alter table ValidPaths add column ultimate integer': SQL logic error (in '/nix/var/nix/db/db.sqlite')        
(use '--show-trace' to show detailed location information)

The same error if run with sudo or after sudo -s.

Details

nix-info as user (those don's seems to be channels, see the output of nix-channel --list below):

  • system: "x86_64-linux"
  • host os: Linux 4.14.24, NixOS, 18.03pre130932.cc4677c36ee (Impala)
  • multi-user?: no
  • sandbox: yes
  • version: nix-env (Nix) 2.0pre5968_a6c0b773
  • channels(IITaudio): "nixos-18.03pre129076.831ef4756e3, telegram-cli-2016-03-23, machine-0.9.0, gitlab-runner-1.10.4, california-0.4.0, entr-3.6, tmuxp-1.2.2, keybase-20170209.17b641d, kbfs-20170209.d1db463, non-2016-12-07, go-sct-20160529-1d6b5e0, freecad-0.16, antimony-0.9.2, librecad-2.1.3, lemonbar-xft-unstable-2016-02-17, pencil-2.0.21, python3.5-qnotero-1.0.0, ruby-2.3.3, gimp-2.8.20, chromium-56.0.2924.87, nix-repl-1.11.7-2016-02-28, gparted-0.26.1, screen-4.5.1, vmpk-0.5.1, a2jmidid-8, platformio, teensyduino-1.6.12, teensy-loader-cli-2.1, blender-2.78c, unetbootin-613, mediainfo-0.7.91, xournal-0.4.8, zip-3.0, graphviz-2.40.1, ffmpeg-3.2.4, vlc-2.2.4, okular-16.12.2, pdfmod-0.9.1, green-pdfviewer-nightly-2014-04-22, android-sdk-25.2.3, android-studio-2.2.3.0, zathura-with-plugins-0.3.7, openjdk-8u121b13, android-ndk-r10e, virtualbox-5.1.14, R-3.3.2-wrapper, aspell-dict-en-2016.06.26-0"
  • channels(gitlab-runner): "nixpkgs-18.03pre117013.aebdc892d6"
  • channels(root): "nixos-18.03pre130932.cc4677c36ee"
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

nix-info as root:
error: executing SQLite statement 'alter table ValidPaths add column ultimate integer': SQL logic error (in '/nix/var/nix/db/db.sqlite')

  • system: 0
  • host os: Linux 4.14.24, NixOS, 18.03pre130932.cc4677c36ee (Impala)
  • multi-user?: no
  • sandbox: yes
    error: executing SQLite statement 'alter table ValidPaths add column ultimate integer': SQL logic error (in '/nix/var/nix/db/db.sqlite')
  • version: 0
    error: executing SQLite statement 'alter table ValidPaths add column ultimate integer': SQL logic error (in '/nix/var/nix/db/db.sqlite')

Both as user and root:
nix-channel --list
nixos https://nixos.org/channels/nixos-unstable

cat /etc/nix/nix.conf

# WARNING: this file is generated from the nix.* options in                                                                                                                                      
# your NixOS configuration, typically
# /etc/nixos/configuration.nix.  Do not edit it!
build-users-group = nixbld
max-jobs = 4
cores = 1
sandbox = true
extra-sandbox-paths =  
substituters = https://cache.nixos.org/
trusted-substituters = 
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
auto-optimise-store = false
require-sigs = true

trusted-users = root
allowed-users = *
builders =

nix-store --verify --check-contents --readonly-mode

root:

error: executing SQLite statement 'alter table ValidPaths add column ultimate integer': SQL logic error (in '/nix/var/nix/db/db.sqlite')

user:

error: cannot open connection to remote store 'daemon': executing SQLite statement 'alter table ValidPaths add column ultimate integer': SQL logic error (in '/nix/var/nix/db/db.sqlite')

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions