millionchart
فارسی

Engine messages

Messages that come from the engine while a script runs or from the platform's limits. One table, with what each means and what to do about it.

Diagnostics covers what the editor finds by reading your script. This page covers what the engine reports while the script runs, and the limits the platform sets. The numbers are on Limits and budgets.

Two words need explaining. The sandbox is the protected process in which the platform runs a script for an alert, with a fixed amount of time and memory. The watchdog is the clock that stops a run that goes on too long. A library here is a module, the thing an import brings in (see Modules and libraries).

A run-time message names the bar where it happened, and the line of the script. If a script ran fine on the history and stops on a new bar, the bar's data is what is different: look at the values on the bar the message names.

The table lists the engine's own words, in English, as the editor shows them. A part that changes is in braces ({n}); a part in square brackets is added only when it applies. Some codes have more than one sentence, for different causes: each has its own row, and the rows after the first start with ↳ and the same code. The codes E5101 to E5142 are errors found when the script is compiled, E5601 to E5640 are errors that stop the script while it runs, and the W- codes are warnings that let it run.

CodeMessageWhat to do
E-COMPILE-REPEATCalls of a function with several versions (by parameter type) or of a method name that several types share are nested too deep here: the chart compiles their arguments again for every version. Put the inner call in a variable firstThe compiler would have to build a very large number of copies of the same calls. Give the inner call a name with let, and use the name.
↳ E-COMPILE-REPEATThis script defines too many functions of one name for the calls it makes of them: the chart compiles every call once for each of them. Give them different namesGive the functions that share a name different names.
E-IMPORT-COUNTThis script imports too many libraries: {max} is the most[ (every import counts, the ones inside libraries too)]Import fewer modules, or combine small ones into one.
E-IMPORT-CYCLEThis import is a circle: {chain}. A library cannot import itself, directly or through other libraries (or, for a bundle, through others)Remove the import that closes the circle. The message names the chain of modules.
E-IMPORT-DEPTHLibraries import each other more than {max} levels deep ({chain})[. Import fewer levels of libraries]Flatten the modules so that a chain of imports is shorter.
E-IMPORT-SIZEThe libraries this script imports are too large together: {max} characters is the most[ (counted once per import)]Split the modules, or import only the ones this script needs.
↳ E-IMPORT-SIZEToo large to keep: the script may have {entry} characters, the whole {total}, and {modules} modulesThe script together with its modules is too big to be stored. Make the script or the modules shorter.
E-LIMIT-DEPTH"{name}" is called more than {max} calls deep: a chain that long should be a loopYour functions called one another more than 64 levels deep on one bar. A function that calls itself is refused before the run (E3310); this message comes from a chain that got past the checker, such as methods that share a name. Turn the chain into a loop, or make it shallower.
E-LIMIT-DRAWA polyline has at most {max} points (this one has {length})Draw fewer points in one polyline, or split it into several.
↳ E-LIMIT-DRAWThe polylines of the script hold {held} points together; the limit is {limit}Keep fewer polylines, or fewer points in them; delete the ones you no longer show.
E-LIMIT-HISTORYOn bar {bar} the script reads {k} bars back; this series keeps {depth} (the most is {cap}).A read with [] went further back than the series keeps. The series keeps as many bars as the text of the script says it reads (a written number, an input with a max, arithmetic on those) and never more than 8,192. Give the input a smaller max or read fewer bars back. A na is only for a value the chart does not have; a read past the limit is an error, never a na.
↳ E-LIMIT-HISTORYOn bar {bar} {fn} is given a window of {window} bars; the most is {cap}.The window of a function such as tech.sma is longer than any series keeps (8,192). Use a shorter window, or give the input a smaller max.
E-LIMIT-HISTORY-STATIC{what} is {k} bars; no series or window keeps more than {cap}. Use a smaller numberAn offset or a window length written in the script is more than 8,192. This is found before the script runs. Write a smaller number.
E-LIMIT-ITEMSThe {what} is too large: {n} elements (at most {max})Keep a window of the newest items instead of all of them: remove from the front with .shift() as you push.
↳ E-LIMIT-ITEMSThe {what} is too large: at least {n} elements (at most {max})The same limit. The count stopped at the first element over it, so the real size is not known; it is at least {n}.
↳ E-LIMIT-ITEMSThe map is too large: {pairs} pairs (at most {maxPairs})Keep fewer keys in a map; remove the ones you no longer need.
↳ E-LIMIT-ITEMSThe matrix is too large: {cells} elements (at most {maxCells})Make the matrix smaller, or keep several smaller ones.
↳ E-LIMIT-ITEMSThe matrix is too large: {rows} rows by {cols} columns (at most {maxSide} of either)Neither side of a matrix may be longer than the limit; make the matrix shorter or narrower.
E-LIMIT-MEMORYThe script holds too much memory on bar {bar}: about {held} bytes; a run may hold {heldCap}.The arrays, maps, texts, objects, drawings and history of the script held together are more than 134,217,728 bytes at one moment. The bytes are counted in the same way on every machine, not taken from the browser. Keep a window of the newest items, delete what you no longer need, or make fewer and smaller collections.
↳ E-LIMIT-MEMORYThe script builds too much on bar {bar}: {built} bytes over the run; a run may build {builtCap}.All that the script has built over the whole run, even what it already let go, is more than 2,147,483,648 bytes. A loop that builds a large array or text on every bar is the usual cause: build it once, or build less of it.
E-LIMIT-OPSThe script takes too long on bar {bar}[ ({at} UTC)]: this bar used more than {barCap} steps (a loop that runs too long, or a very long list or window); one bar may use {barCap}The script did too much work on one bar. Look for a loop that is too long or that never ends, and for work that could be done once instead of on this bar.
↳ E-LIMIT-OPSThe script takes too long on this chart: {steps} steps over {bars} bars; one run may use {runCap}. Make the work of each bar smallerThe whole run did too much work. Do less on each bar, or keep a shorter window.
↳ E-LIMIT-OPSThe script takes too long: its function calls branch into too many separate copies of each functionCalls that branch into many copies of one function make the compile too large. Call a function once and keep the result in a variable.
E-LIMIT-REGEXThe pattern of text.match is too big: the limit is 256 characters and 2048 instructionsA pattern may have 256 characters, and once its repeats are written out in full (a{3} is aaa) at most 2,048 instructions; a repeat count is at most 1,000. Write a shorter pattern or smaller counts, or split the work into two matches.
E-LIMIT-TABLEThe tables of the script hold {held} cells together; the limit is {maxLive}. Delete a table the script no longer shows (table.delete) before it makes anotherDelete a table you no longer show with table.delete before you make another, or build the table once on the last bar.
↳ E-LIMIT-TABLEA table has at most {maxCols} columns and {maxRows} rows (this one asks for {cols} × {rows})Make the table smaller.
↳ E-LIMIT-TABLEA table has at most {maxCells} cells (this one asks for {cols} × {rows} = {cells})Make the table smaller.
↳ E-LIMIT-TABLECell ({c}, {r}) is outside the table ({cols} columns × {rows} rows)Write only cells inside the table: columns and rows are counted from 0.
E-LIMIT-TEXT{fn} would build a text longer than {textLimit} charactersBuild shorter texts; a text that grows on every bar needs a cap.
↳ E-LIMIT-TEXT"{fn}": a map key is at most {keyLimit} characters (this one has {keyLength})Use a shorter key.
↳ E-LIMIT-TEXT{fn} reads a text of at most {readLimit} characters (this one has {readLength})Give the function a shorter text.
E-LIMIT-TIMEThe script ran longer than the time a run may takeThe script is too slow for the time one run gets. Do less work per bar, or draw fewer objects.
E-SANDBOX-BUSYthe sandbox queue is fullThe platform is busy running other scripts. Try again in a moment.
E-SANDBOX-CRASHthe sandbox is closedThe platform is restarting. Try again in a moment.
↳ E-SANDBOX-CRASHa worker could not be startedTry again. If it happens every time, send the script to support.
↳ E-SANDBOX-CRASHthe worker died while running the scriptTry again. If it happens every time with the same script, send the script to support.
↳ E-SANDBOX-CRASHthe worker exited while running the scriptTry again. If it happens every time with the same script, send the script to support.
E-SANDBOX-JOBa job is an objectA fault of the platform, not of your script. Try again, and if it keeps failing send the script to support.
↳ E-SANDBOX-JOBthe job could not be sent: {reason}A fault of the platform, not of your script. Try again, and if it keeps failing send the script to support.
↳ E-SANDBOX-JOBunknown job kind "{kind}"A fault of the platform, not of your script. Send the script to support.
↳ E-SANDBOX-JOB{text}The sandbox reports a failure in its own words. Try again, and if it keeps failing send the script to support.
E-SANDBOX-OOMthe script used more memory than a job may (heap limit)The script holds too much in memory. Keep fewer items, shorter texts and fewer drawings.
↳ E-SANDBOX-OOMthe process passed {mb} MB of memoryThe script holds too much in memory. Keep fewer items, shorter texts and fewer drawings.
E-SANDBOX-TIMEOUTthe script ran longer than {ms} msThe script took too long to run for an alert. Do less work per bar.
E-SCRIPT{message}The protected process that runs scripts for alerts ran your script and it stopped with an error of its own. The message carries that error: look it up in Diagnostics or on this page.
E5000{message}The engine stopped the script with a message that has no code of its own yet. The text is the engine's own sentence; it names the line and says what to change.
E5001Internal error of the formatter: {message}The formatter could not write the text back. This is a fault of the platform, not of your script. Send the script to support.
E5101A session must be declared at the top of the script (not inside if, for or a function)Move the session declaration to the top level of the file, before any if, loop or function. The session NAME = … form is the plain way to declare a session.
E5102alert.send({what} = …) must be written in the script (a text or a number), not computed or read from an inputWrite the value in the script as a text or a number (key = "breakout", cooldown = 3). It cannot be computed or read from an input.
E5103alert.send(cooldown = …) is a number of bars, 0 or moreGive cooldown a number of bars, 0 or more.
E5104id must be a name written in the script, as a text: letters, digits and _, starting with a letter or _Write id = "my_plot": a name in quotes, made of letters, digits and _, starting with a letter or _. See Ids.
E5105was must be a text written in the script: the earlier id, or several separated by spacesWrite was = "old_id" as a text in the script. To list several earlier ids, separate them with spaces.
E5106was: "{w}" is not a nameEach earlier id in was must be a name: letters, digits and _, starting with a letter or _.
E5107was: "{w}" is the id itselfwas names an id the plot had before. Remove the id that is the plot's present id.
E5108The id "{written}" is already used by {holder}Two things in the script cannot share an id. Give one of them another id.
E5109An input's default value must be a constantThe default of an input must be a constant: a number, a text, true, false or a colour, not a value that depends on the bars.
E5110The options of an input are a list in brackets: [a, b, c]Write the options of an input as a list in square brackets: ["a", "b", "c"].
E5111Every option of an input must be a constantWrite each option of an input as a constant, not as a value that depends on the bars.
E5112{name}(…) must be called on the top level of the script (not inside if, for or a function)Move the call to the top level of the file, outside any if, loop or function. To draw only sometimes, give it a value that is na the rest of the time.
E5113level(…) must be called on the top level of the scriptMove hline(…) to the top level of the file.
E5114level(…) needs a constant price (a number or an input)Give hline a constant price: a number, or an input.
E5115shade(…) must be called on the top level of the scriptMove fill(…) to the top level of the file.
E5116shade(…) takes two plots or two levels (the values plot(…) / level(…) returned)Give fill the two things it shades between: keep the result of each plot(…) or hline(…) in a name and pass the names.
E5117alert.when(…) must be called on the top level of the script (not inside if, for or a function)Move alert.when(…) to the top level of the file, outside any if, loop or function.
E5118alert.when(…, on = …) must be the text "rises" or "level", written in the scriptWrite on = "rises" or on = "level" as a text in the script.
E5119data.series needs an expression to readGive data.series its third argument: the expression to read on the other timeframe.
E5120"{name}" is already declared here; give it a new value with :=A name is declared once. To give a variable a new value, write name := value; to make a second variable, give it another name.
E5121A return is only valid inside a functionreturn belongs inside a fn. Remove it, or move the code into a function.
E5122"{name}" is not declared; declare it with = firstDeclare the variable before you change it: mut name = value, then name := value.
E5123Only a variable or a field can be given a new valueOnly a variable (mut) or a field can be given a new value with :=.
E5124Functions are defined at the top level of a scriptWrite the fn at the top level of the file, not inside an if, a loop or another function.
E5125Parameter "{name}" is listed twiceGive each parameter of a function its own name.
E5126The library "{path}" is not in your scripts. Add it under My scripts (as a library) and try againAdd the library under My scripts (as a library) and try again.
E5127"{name}" is a function: call it with ( )A function is used by calling it: add the brackets, name().
E5128"{name}" is not declaredCheck the spelling of the name, and declare it above its first use.
E5129"{member}" is not a member of {owner}Check the name after the dot. The function index lists the names the engine has.
E5130"{d}" is a function: call it with ( )A function is used by calling it: add the brackets.
E5131"{d}" is not a built-in variable this chart knowsCheck the name against the function index. This chart does not have that built-in variable.
E5132{what} takes at most {length} argument(s)Remove the extra arguments.
E5133{what} has no argument "{name}"Check the name of the argument against the function. The function index lists the parameters.
E5134Create a {name} with {name}.new(…)Make the object with its .new(…) function, for example line.new(…).
E5135"{name}" is not a function this chart knowsCheck the name against the function index.
E5136The library "{lib}" has no function "{fn}"Check the name of the function against what the library exports.
E5137"{d}" is not supported on this chart yetThis feature is not available on the chart yet. See Limits and budgets.
E5138Only names can be calledOnly a name can be called. Put the value in a let and call that.
E5139{name}.copy takes the object to copyGive .copy the object to copy.
E5140"{name}" is not a method this chart knowsCheck the name of the method against the function index.
E5141This constant is built from other constants too many times over (each one is used twice or more by the next). Put a value in a variable once and use thatA constant that uses other constants twice or more at each step grows too large when the engine folds it. Put a value in a variable once and use the variable.
E5142This is a library: other scripts import it; it does not draw on its ownA library is imported by other scripts and draws nothing on its own. Import it from an indicator or a strategy.
E5601"{fn}": the {what} is naA function got na where it needs a value. Look at the value on the bar the message names (a series is na until it has enough bars) and guard it with nz() or ??.
E5602Index {i} is out of bounds (array size is {n})Check the index against the size of the array before you read it.
E5603"{fn}": the size cannot be negative ({n})A size is a number from 0 up.
E5604Cannot call "array.pop" on an empty arrayCheck that the array is not empty before pop.
E5605Cannot call "array.shift" on an empty arrayCheck that the array is not empty before shift.
E5606"array.slice": from ({i}) is after to ({j})index_from must not be after index_to.
E5607"array.covariance" needs two arrays of the same size ({lengthX} and {lengthY})Give covariance two arrays of the same size.
E5608"map.set": the key is na (a map key must have a value)A map key needs a value: guard a key that can be na.
E5609Row {i} is out of bounds (the matrix has {rows} rows)Check the row number against the number of rows of the matrix. Rows are counted from 0.
E5610Column {j} is out of bounds (the matrix has {cols} columns)Check the column number against the number of columns of the matrix. Columns are counted from 0.
E5611{what} {i} is out of bounds (the matrix has {size} {unit})Check the number against the size of the matrix. Counting starts at 0.
E5612{what} {j} is out of bounds (the matrix has {size} {unit})Check the number against the size of the matrix. Counting starts at 0.
E5613"{fn}": from_{what} ({i}) is after to_{what} ({j})The start must not be after the end.
E5614"{fn}" needs a square matrix (this one is {rows}x{cols})This function works on a matrix with as many rows as columns.
E5615"matrix.new": the size cannot be negative ({rows}x{cols})A size is a number from 0 up.
E5616"{fn}": the array has {elements} elements but the matrix has {cols} columnsThe array must have as many elements as the matrix has columns.
E5617"{fn}": the array has {elements} elements but the matrix has {rows} rowsThe array must have as many elements as the matrix has rows.
E5618"{fn}": the matrix has no rowsThe matrix is empty: add rows before you call this.
E5619"{fn}": the matrix has no columnsThe matrix is empty: add columns before you call this.
E5620"{fn}": a {rowsOld}x{colsOld} matrix ({elements} elements) cannot become {rowsNew}x{colsNew}The new shape must hold the same number of elements as the matrix has.
E5621"{fn}": the matrices have {colsA} and {colsB} columnsThe matrices must have the same number of columns.
E5622"{fn}" needs two matrices of the same size ({rowsA}x{colsA} and {rowsB}x{colsB})The two matrices must be the same size.
E5623"{fn}": the first matrix has {cols} columns but the second has {rows} rowsThe first matrix must have as many columns as the second has rows.
E5624"{fn}": the matrix has {cols} columns but the array has {elements} elementsThe array must have as many elements as the matrix has columns.
E5625"{fn}": the power cannot be negative ({p})The power is a number from 0 up.
E5626A table needs a number of columns and rowsGive the table its number of columns and rows.
E5627Unknown pivot point type "{type}" (Traditional, Fibonacci, Woodie, Classic, DM or Camarilla)The type is one of Traditional, Fibonacci, Woodie, Classic, DM or Camarilla.
E5628tech.pivot_levels: "developing" cannot be true with the Woodie typeUse developing = false with the Woodie type, or another type.
E5629Cannot set "{name}" of naThe drawing was never created, or is na on this bar. Create it first, and guard a name that can still be na.
E5630"{name}" cannot be set hereThat property cannot be changed by the function you called.
E5631"{name}" is not a field of this valueCheck the field name against the type of the value.
E5632Cannot call "{name}" on naThe value is na on this bar (the object was never created). Create it before you call a method on it.
E5633A {tn} has no method "{name}"Check the method name against the type of the value.
E5634This script is an indicator: only a strategy (a strategy header at the top) places orders to testOrders are placed by a strategy. Change the first line of the script to strategy(…), or take the order statements out.
E5635Cannot call "{fn}" on na (the {what} was never created)The object was never created. Create it before you call the function on it.
E5636"{fn}" needs {expected}, not a {found}Give the function a value of the kind it needs.
E5637{message}The script called log.abort(…) with this text and stopped on purpose. Look at the condition that leads to the call.
E5638The script stopped (log.abort)The script called log.abort(…) and stopped on purpose. Look at the condition that leads to the call.
E5639The script calls itself too deeplyThe script nests too deeply for the engine to follow. A function that calls itself is refused before the script runs (E3310), and too long a chain of your functions is E-LIMIT-DEPTH, so this one is rare. Make the nesting shallower: put parts of a long expression in let lines, or use a loop.
E5640{message}An error the engine did not expect. The message carries its own words. If it comes again with the same script, send the script to support.
W-ENGINE-ALERT-CUTThe message of an alert is cut to {ALERT_TEXT_MAX} charactersMake the message of the alert shorter.
W-ENGINE-CONST-ARG{fn} {name} must be a constant written in the script; it stays at its default valueWrite the value in the script as a constant. Until then the option stays at its default.
W-ENGINE-CURRENCY-RATEA currency rate is not available on this chart; it reads 1The chart has no currency rates, so the call reads 1. Do not rely on a converted value.
W-ENGINE-HISTORY-OPENDynamic lookback has no declared upper bound; execution is limited to {cap} bars. Give the input a maxA read such as x[n] where nothing in the text of the script limits n (an input without a max, a parameter of a function, a counter). The script runs, but a series that is read this way keeps up to 8,192 bars, and a read further back stops it (E-LIMIT-HISTORY). It is said once for the script. Give the input a max so that the script keeps only the bars it can reach.
W-ENGINE-HTF-NOT-LOADEDThe {period} bars are not available yet; data.series reads naThe bars of that timeframe are not on the chart yet, so the request gives na. The chart asks for them and runs the script again.
W-ENGINE-HTF-RESAMPLEDThe {period} bars are built from the chart's own bars (the market server sent none): they reach only as far back as the chart doesThe market server had no bars of that timeframe, so the engine built them from the chart's own bars; they reach back only as far as the chart does.
W-ENGINE-INDICATOR-TIMEFRAMEindicator(timeframe=…) is not supported yet: the script runs on the chart's timeframeRemove timeframe from indicator(…) and use data.series for the other timeframe.
W-ENGINE-LIBRARY-CHANGEDThe library "{path}" changed since this script was last saved ({was} -> {now}); the script may behave differentlyThe library was edited after you saved the script. Check what the script does, then save it again.
W-ENGINE-LIST-INPUTThe list of the input "{name}" cannot be read as a list: it is empty hereThe settings keep a list input as text, and this text is not a list (it was damaged or changed by hand). The script gets an empty list. Open the settings, enter the list again and save.
W-ENGINE-LOG-DROPPED{n} log lines were dropped: a bar keeps {perBar} lines and a run {perRun}Log fewer lines per bar, or only on the bars you care about.
W-ENGINE-LOWER-TFdata.series of a lower timeframe reads the chart's own bars hereA timeframe shorter than the chart's is not loaded. Read a timeframe longer than the chart's, or run the script on a chart with a shorter timeframe.
W-ENGINE-LOWER-TF-FORMdata.intrabars reads the chart's own bar here (lower timeframes are not loaded)Lower timeframes are not loaded here: the call gives the chart's own bar.
W-ENGINE-OTHER-SYMBOLdata.series can only read this chart's symbol here; another symbol reads naData for another symbol is not available in this release. See Other timeframes and symbols.
W-ENGINE-RANDOM-SEEDmath.random draws from the run seed {seed} (script {script}, inputs {inputs})A note, not a fault. A call of math.random with no seed of its own draws from the run seed shown here, so the same script (the same id, or for an unsaved script the same name) with the same inputs gives the same numbers on every machine; change an input, or the id or name, and the numbers change, while rewriting or reformatting the script does not move them. Give the call a seed to make its numbers depend on that number alone. See Random numbers.
W-ENGINE-REQUEST-NA{name} is not available on this chart; it reads naThe chart does not have this data, so it reads na. Guard it with nz() or ??.
W-ENGINE-SOURCE-DEFAULTA source input can only default to a price (open, high, low, close, hl2 …) hereGive a source input a price as its default: open, high, low, close, hl2 and the like.
W-ENGINE-STRATEGY-NOT-SIMULATEDStrategy orders are not simulated on the chart: open the Strategy tester to test itThe chart does not simulate the orders of a strategy. Press Test in the editor to run it in the Strategy Lab.
W-ENGINE-TEXT-CUTA text of a label, box or table cell is cut to {DRAW_TEXT_MAX} charactersWrite a shorter text in the label, box or cell.
W-ENGINE-TICKER-KINDThe chart kind "{kind}" is not applied here; data.series reads the ordinary candlesA script cannot change the kind of candle a request reads here: the request reads the ordinary candles.
W-ENGINE-VWAP-NO-VOLUMEtech.vwap reads na: the bars of this chart have no volumeThis symbol's bars carry no volume, so tech.vwap cannot be worked out.
W-ENGINE-ZONE-UNKNOWNThe time zone "{tz}" is not known; it is read as UTCWrite a time zone name the chart knows, such as "Europe/London" or "America/New_York".
W-OBJECT-LIMIT{n} {kind} were dropped: the script keeps the newest {keep} ({param}).[ The oldest dropped was made on bar {at}.][ Raise {param} in the indicator() line (this chart allows up to {allowed})]The chart keeps the newest lines, labels, boxes or polylines. Raise the setting named in the message in the indicator() line, up to what the chart allows, or draw fewer.
↳ W-OBJECT-LIMIT{sloped} sloped fills (linefill between two lines that are not level) are not drawn on this chart yetA linefill between two lines that are not level is not drawn yet. Use a fill between two plots.
↳ W-OBJECT-LIMIT{tables} tables were dropped: the chart keeps the newest 40 tables. Delete a table the script no longer shows (table.delete) before it makes anotherDelete a table you no longer show with table.delete before you make another.
↳ W-OBJECT-LIMIT{setting} {asked} is cut to {cap} on this chartAsk for no more than the chart allows.
W-UNMODELLED{fn}: {param} {why}The engine does not model this option of the function: it reads the option but does not act on it. The message says which, and why.
↳ W-UNMODELLED{fn} {whyWhole}The engine does not model this function: the script runs, but the function does not do what its name says. The message says why.

Parts of the engine that load when needed#

The engine is not downloaded when a page opens. It is a few parts that load when a script needs them: the script engine itself (the first script of a visit), the strategy runner (a strategy), and the deterministic mathematics (math.log, math.exp, math.pow and the trigonometric functions: see Numbers). A script that needs a part runs only on a part that was loaded and checked (its version and its fingerprint, and that it belongs to the same build as the page); otherwise it does not start at all, before the first bar, and nothing is calculated with other numbers. There are four messages for it, all described in Diagnostics and none a fault of your script: E-ENGINE-PART-UNAVAILABLE (the part could not be had), E-ENGINE-PART-VERSION (it is not the one this engine was published with), E-CHUNK-SKEW (it belongs to another build of the site) and E-CHUNK-LATE (it was asked for after the run had started).

For alerts: while a part is missing, does not match or belongs to another build, the platform does not evaluate the alerts that depend on it, does not send them, and does not try another version of the part. It records the event so that the team sees it, and it does not mark your alert as broken: the alert starts again by itself when the part is back. The platform reports a missed check rather than make a check with the wrong numbers.

Reading the limit messages#

A limit message says what was passed and by how much. For example, a run that takes too long reads: The script takes too long on bar 0 (2026-09-07 12:10 UTC): this bar used more than the steps one bar may use … (line 3) The bar and the line are where the budget ran out; the cause may be earlier, since a loop that grows with every bar hits the limit late. Limits and budgets lists every number.

See also: Diagnostics, Limits and budgets, The editor.