Errors
Runtime errors¶
error | example | explanation |
---|---|---|
access | Attempt to read files above directory, run system commands or failed usr/pwd | |
accp | Tried to accept an incoming TCP/IP connection but failed to do so | |
adict | d[::]:x | Blocked assignment ('nyi ) |
arch | :test set til 100 -17!`:test | Attempt to load file of wrong endian format |
assign | cos:12 | Attempt to redefine a reserved word |
badtail | Incomplete transaction at end of file, get good (count;length) with -11!(-2;`:file) | |
can't | Only commercially licensed kdb+ instances can encrypt code in a script | |
cast | s:`a`b; c:`s$`a`e | Value not in enumeration |
con | qcon client is not supported when kdb+ is in multithreaded input mode | |
cond | Even number of arguments to $ | |
conn | Too many connections (1022 max) | |
Could not initialize ssl | (-26!)[] found SSL/TLS not enabled | |
d8 | The log had a partial transaction at the end but q couldn’t truncate the file | |
domain | til -1 | Out of domain |
elim | ((-58?`3) set\:(),`a)$`a | Too many enumerations (max: 57) |
enable slave threads via cmd line -s only | \s 4 | Command line enabled processes for parallel processing |
failed to load TLS certificates | Started kdb+ with -E 1 or -E 2 but without SSL/TLS enabled | |
from | select price trade | Badly formed select statement |
glim | `g# limit (99 prior to V3.2, now unlimited | |
hop | Request to hopen a handle fails; includes message from OS | |
hwr | Handle write error, can't write inside a peach | |
IJS | "D=\001"0:"0=hello\0011=world" | Key type is not I , J , or S . |
insert | t:([k:0 1]a:2 3);`t insert(0;3) | Attempt to insert a record with an existing key into a keyed table |
length | ()+til 1 | Incompatible lengths |
limit | 0W#2 |
Tried to generate a list longer than 2,000,000,000, or serialized object is > 1TB (2GB until V3.4), or 'type if trying to serialize a nested object which has > 2 billion elements |
loop | a::a | Dependency loop |
mismatch | ([]a:til 4),([]b:til 3) | Columns that can't be aligned for R,R or K,K |
Mlim | Too many nested columns in splayed tables. (Prior to V3.0, limited to 999; from V3.0, 251; from V3.3, 65530) | |
mq | Multi-threading not allowed | |
name too long | Filepath ≥100 chars (until V3.6 2018.09.26) | |
noamend | t:([]a:1 2 3) n:`a`b`c update b:{`n?`d;:`n?`d}[] from `t | Cannot change global state from within an amend |
no append to zipped enums | V2:.z.zd:17 2 6 `:sym?`a`b V3: `:sym?`c | Cannot append to zipped enum (from V3.0) |
no `g# |
{`g#x}peach 2#enlist 0 1 |
A thread other than the main q thread has attempted to add a group attribute to a vector. Seen with peach +slave threads or multithreaded input queue |
noupdate | {a::x}peach 0 1 |
Updates blocked by the -b cmd line arg,
or reval code or a thread other than the main thread has attempted to update a global variable
when in peach +slave threads or multithreaded input queue.
Update not allowed when using negative port number.
|
nosocket | Can only open or use sockets in main thread. | |
nyi | "a"like"**" | Not yet implemented: it probably makes sense, but it’s not defined nor implemented, and needs more thinking about as the language evolves |
os | \foo bar | Operating-system error or license error |
par | Unsupported operation on a partitioned table or component thereof | |
parse | Invalid syntax | |
part | Something wrong with the partitions in the HDB | |
path too long | (`$":",1000#"a") set 1 2 3 | File path ≥255 chars (100 until V3.6 2018.09.26) |
pl | peach can’t handle parallel lambdas (V2.3 only) | |
pwuid | OS is missing libraries for getpwuid . (Most likely 32-bit app on 64-bit OS. Try to install ia32-libs.) | |
Q7 | nyi op on file nested array | |
rank | +[2;3;4] | Invalid rank |
rb | Encountered a problem while doing a blocking read | |
restricted | 0"2+3" | in a kdb+ process which was started with -b cmd line. Also for a kdb+ process using the username:password authentication file, or the -b cmd line option, \x cannot be used to reset handlers to their default. e.g. \x .z.pg |
s-fail | `s#3 2 | Invalid attempt to set “sorted” attribute. Also encountered with `s#enums when loading a database (\l db ) and enum target is not already loaded. |
splay | nyi op on splayed table | |
stack | {.z.s[]}[] |
Ran out of stack space. Consider using
converge-iterate \ or converge-repeat /
instead of recursion.
|
step | d:`s#`a`b!1 2;`d upsert `c`d!3 4 | Attempt to upsert a step dictionary in place |
stop | User interrupt (Ctrl-c) or time limit (-T ) | |
stype | '42 | Invalid type used to signal |
sys | {system "ls"}peach 0 1 | Using system call from thread other than main thread |
threadview | Trying to calc a view in a thread other than main thread. A view can be calculated in the main thread only. The cached result can be used from other threads. | |
timeout | Request to hopen a handle fails on a timeout; includes message from OS | |
TLS not enabled | Received a TLS connection request, but kdb+ not started with -E 1 or -E 2 | |
too many syms | Kdb+ currently allows for ~1.4B interned symbols in the pool and will exit with this error when this threshold is reached | |
trunc | The log had a partial transaction at the end but q couldn’t truncate the file | |
type | til 2.2 | Wrong type. Also see 'limit |
type/attr error amending file | Direct update on disk for this type or attribute is not allowed | |
u-fail | `u#2 2 | Invalid attempt to set “unique” attribute |
unmappable | t:([]sym:`a`b;a:(();())) .Q.dpft[`:thdb;.z.d;`sym;`t] | When saving partitioned data each column must be mappable. () and ("";"";"") are OK |
upd | Function upd is undefined (sometimes encountered during -11!`:logfile ) or license error | |
utf8 | The websocket requires that text is UTF-8 encoded | |
value | No value | |
vd1 | Attempted multithread update | |
view | Trying to re-assign a view to something else | |
wsfull | 999999999#0j |
malloc failed, ran out of swap (or addressability on 32-bit), or hit -w limit
|
wsm | 010b wsum 010b | Alias for nyi for wsum prior to V3.2 |
XXX | delete x from system "d";x | Value error (XXX undefined) |
System errors¶
From file ops and IPC
error | explanation |
---|---|
XXX:YYY | XXX is from kdb+, YYY from the OS |
XXX
from addr, close, conn, p(from -p
), snd, rcv or (invalid) filename, e.g. read0`:invalidname.txt
Parse errors¶
On execute or load
error | example | explanation |
---|---|---|
[({])}" | "hello | Open ([{ or " |
branch | a:"1;",65024#"0;" value "{if[",a,"]}" | A branch (if;do;while;$[.;.;.]) more than 65025 byte codes away (255 before V3.6 2017.09.26) |
char | value "\000" | Invalid character |
constants | a:";"sv string 2+til 97; value"{",a,"}" | Too many constants (max locals+globals+constants: 240; 95 before V3.6 2017.09.26) |
globals | a:"::a"sv string til 111; value"{a",a,"::0}" | Too many global variables (110 max; 31 before V3.6 2017.09.26) |
locals | a:":a"sv string til 111; value"{a",a,":0}" | Too many local variables (110 max; 23 before V3.6 2017.09.26) |
params | f:{[a;b;c;d;e;f;g;h;e]} | Too many parameters (8 max) |
License errors¶
On launch
error | explanation |
---|---|
cores | The license is for fewer cores than available |
cpu | The license is for fewer CPUs than available |
exp | License expiry date is prior to system date |
host |
The hostname reported by the OS does not match the hostname or hostname-pattern in the license.
If you see 255.255.255.255 in the kdb+ banner, the machine almost certainly cannot resolve its hostname to an IP address,
which will cause a 'host error.
|
k4.lic |
k4.lic file not found, check contents of environment variables
QHOME and
QLIC
|
os | Wrong OS or operating-system error (if runtime error) |
srv | Client-only license in server mode |
upd | Version of kdb+ more recent than update date, or the function upd is undefined (sometimes encountered during -11!`:logfile ) |
user | Unlicenced user |
wha | System date is prior to kdb+ version date |