Skip to content


Runtime errors

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
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 $ (until V3.6 2018.12.06)
conn Too many connections (1022 max)
Could not initialize ssl(-26!)[] found SSL/TLS not enabled
d8The log had a partial transaction at the end but q couldn’t truncate the file
domain til -1 Out of domain
dup `a`b xasc flip`a`b`a!() Duplicate column in table (since V3.6 2019.02.19)
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 certificatesStarted 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
hopRequest to hopen a handle fails; includes message from OS
hwrHandle 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
invalid q -e 3 Invalid command-line option value
length ()+til 1 Incompatible lengths
limit 0W#2 Tried to generate a list longer than 264-1 (2e+09 until V3.0), or serialized object is > 1TB (2GB until V3.4), or 'type if trying to serialize a nested object which has > 2 billion elements, or Parse errors
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)
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
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; bad IPC header; or bad binary data in file
part Something wrong with the partitions in the HDB; or med applied over partitions or segments
path too long (`$":",1000#"a") set 1 2 3 File path ≥255 chars (100 before 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.)
Q7nyi 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
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 \ / 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 for 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.
timeoutRequest to hopen a handle fails on a timeout; includes message from OS
TLS not enabledReceived a TLS connection request, but kdb+ not started with -E 1 or -E 2
too many symsKdb+ 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:(();()))
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
-w init via cmd line Trying to allocate memory with \w without -w on command line
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

XXX:YYYXXX 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

[({])}" "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
globals a:"::a"sv string til 111;
Too many global variables
limit a:";"sv string 2+til 241;
Too many constants, or limit error
locals a:":a"sv string til 111;
Too many local variables
params f:{[a;b;c;d;e;f;g;h;e]} Too many parameters (8 max)

License errors

On launch

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 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../learn/ and QLIC
osWrong OS or operating-system error (if runtime error)
srvClient-only license in server mode
updVersion of kdb+ more recent than update date, or the function upd is undefined (sometimes encountered during -11!`:logfile)
userUnlicensed user
whaSystem date is prior to kdb+ version date
wrong q.k versionq and q.k versions do not match

Tutorial: Licensing

Handling errors

Use system command \ (abort) to clear one level off the execution stack.

Keyword exit terminates the kdb+ process.

Use hook .z.exit to set a callback on process exit.

Use Signal to signal errors.

Use Trap and Trap At to trap errors.