Error map
readonly database sqlite3.OperationalError: attempt to write a readonly database
SQL · layer 5, Data
Centre: this error. First ring: errors it is linked with (12). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.
Directly related (12)
Linux: Permission denied
Your user (or the service user) lacks read/write/execute permission on a file, directory or one of its parents.
sqlite3.OperationalError: unable to open database file
SQLite couldn’t open or create the database file — wrong path or missing/unwritable directory.
sqlite3.OperationalError: near "x": syntax error
SQLite couldn’t parse the statement; the token after “near” is where it stopped.
macOS: Operation not permitted — Terminal/app lacks Full Disk Access (TCC privacy protection)
macOS privacy protection (TCC) blocked access to protected folders (Desktop, Documents, Downloads, Mail, Photos, external volumes…
sqlite3.OperationalError: database is locked (SQLITE_BUSY)
Another connection holds a write lock on the SQLite file, and this one gave up waiting.
sqlite3.IntegrityError: UNIQUE constraint failed: users.email
An insert/update duplicated a value in a UNIQUE or PRIMARY KEY column in SQLite.
PERMISSION_DENIED: The caller does not have permission (insufficient permissions)
You are authenticated, but your identity isn’t allowed to perform this action on this resource.
System.UnauthorizedAccessException: Access to the path 'x' is denied
The process’s identity can’t read/write that file or folder — IIS app pool identity, container user, read-only attribute, or a di…
sqlite3.IntegrityError: FOREIGN KEY constraint failed
An insert/update/delete violated a foreign key in SQLite (with PRAGMA foreign_keys=ON).
AccessControlListNotSupported: The bucket does not allow ACLs
The upload sets an ACL (like public-read), but the bucket uses “Bucket owner enforced” Object Ownership, which disables ACLs.
Key Vault: (Forbidden) The user, group or application does not have secrets get permission on key vault
The caller authenticated but has no permission on the vault — missing access policy or RBAC role, or the vault’s firewall blocks…
Permission denied writing to a mounted volume inside a Docker container
The process inside the container runs as a user (UID) that doesn’t own the bind-mounted host folder, so reads/writes fail with EA…
Two steps away (35)
Git: Permission denied (publickey). fatal: Could not read from remote repository.
SSH authentication to GitHub/GitLab/Bitbucket failed — no key, wrong key, or the key isn’t added to your account.
npm ERR! code EACCES — permission denied
npm can’t write to a directory — usually global installs into a root-owned folder.
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
The docker CLI can’t talk to the Docker engine — it isn’t running, or your user can’t access the socket.
FileNotFoundError: [Errno 2] No such file or directory: 'data.csv'
Python couldn’t find the file at that path — usually because relative paths resolve from the working directory, not the script.
sqlite3.OperationalError: no such column: x
SQLite can’t find the column — missing migration, typo, or a string written in double quotes.
sqlite3.DatabaseError: database disk image is malformed
The SQLite file is corrupted.
MySQL ERROR 1064 (42000): You have an error in your SQL syntax
MySQL couldn’t parse the query. The text after “near” shows where parsing failed.
Column reference is ambiguous / Column 'id' in field list is ambiguous (MySQL 1052)
A column name exists in more than one joined table, so the database doesn’t know which one you mean.
Column must appear in the GROUP BY clause / isn't in GROUP BY (MySQL 1055 only_full_group_by)
You selected a column that is neither grouped nor aggregated, so the result would be ambiguous.
HTTP 403 Forbidden
The server understood the request but refuses to authorize it — you (or the server process) are not allowed to access this resour…
OAuth 2.0 Error: invalid_scope / insufficient_scope
The requested scope is unknown or not allowed for this client — or the token lacks the scope the API endpoint requires.
Windows Error 0x80070005 (E_ACCESSDENIED): Access is denied
Windows refused an operation because the account or process lacks permission — seen in Windows Update, installers, Task Scheduler…
Deadlock found when trying to get lock; try restarting transaction
Two transactions waited on each other’s locks; the database killed one so the other could continue.
Lock wait timeout exceeded; try restarting transaction (MySQL 1205)
A query waited too long for a row lock held by another transaction and gave up.
MySQL ERROR 1213 (40001): Deadlock found when trying to get lock; try restarting transaction
MySQL detected a deadlock between two transactions and rolled one back.
MySQL ERROR 1062 (23000): Duplicate entry for key
An INSERT/UPDATE would create a duplicate value in a PRIMARY or UNIQUE key.
PostgreSQL: ERROR: duplicate key value violates unique constraint
An INSERT/UPDATE would create a duplicate in a UNIQUE or PRIMARY KEY column — or the id sequence is behind the existing data.
sqlite3.IntegrityError: NOT NULL constraint failed: table.column
A NULL went into a NOT NULL column in SQLite.
AWS S3: AccessDenied (403) when calling GetObject / PutObject
An IAM policy, bucket policy, ACL/ownership setting, Block Public Access or KMS key policy denied the S3 request.
Azure: AuthorizationFailed — The client does not have authorization to perform action
The signed-in identity (user, service principal or managed identity) lacks an Azure RBAC role for that action on that scope.
Azure Storage: AuthorizationPermissionMismatch (403) — This request is not authorized to perform this operation using this permission
You’re accessing blob/queue data with Microsoft Entra ID, but the identity has only management roles (Owner/Contributor) — not a…
Error: ENOENT: no such file or directory
A file or directory the program tried to open doesn’t exist at that path.
user is not in the sudoers file. This incident will be reported.
Your account isn’t allowed to use sudo.
WordPress: Sorry, you are not allowed to access this page.
Your user role lacks the capability for that admin screen — or the database table prefix / user capabilities are out of sync afte…
MySQL ERROR 1452: Cannot add or update a child row: a foreign key constraint fails
You inserted/updated a row whose foreign key value doesn’t exist in the referenced parent table.
SQL Server: The INSERT statement conflicted with the FOREIGN KEY constraint 'x'. (Msg 547)
The row references a parent that doesn’t exist (or a DELETE would orphan children).
AWS S3: NoSuchKey / NoSuchBucket — The specified key/bucket does not exist
S3 found no object at that key (or no bucket with that name in the region/account you’re calling).
java.nio.file.AccessDeniedException: /path
The OS denied a file operation to the Java process.
NotAllowedError: Failed to execute 'writeText' on 'Clipboard': Document is not focused.
The Clipboard API refused to write — the page isn’t focused, there was no user gesture, or the context isn’t secure.
Error: listen EACCES: permission denied 0.0.0.0:80
Node isn’t allowed to bind that port — ports below 1024 need root on Linux/macOS, and some Windows ports are reserved.
Error: EPERM: operation not permitted, rename / unlink
The OS refused a file operation — on Windows usually because another process (antivirus, editor, indexer) has the file locked.
Error: spawn EACCES
Node tried to execute a file that isn’t executable (missing +x permission) or isn’t a program.
Warning: session_start(): open(/var/lib/php/sessions/sess_x, O_RDWR) failed: Permission denied
PHP can’t write session files to the configured session.save_path.
Laravel: The stream or file "storage/logs/laravel.log" could not be opened in append mode: Failed to open stream: Permission denied
The web server can’t write to Laravel’s storage or bootstrap/cache directories.
FATAL: data directory "/var/lib/postgresql/data" has invalid permissions — Permissions should be u=rwx (0700) or u=rwx,g=rx (0750).
PostgreSQL refuses to start because the data directory is too open or owned by the wrong user.
Map another error
Popular: 4035004000xC000007BTypeErrorCritical error404NullPointerException