Connection and upload messages

When you work in DataMind Oda's browser interface, the page and DataMind Oda on this computer exchange requests in the background the whole time. When one of those requests cannot go through, you meet a short message: on the page itself, on a file's card in the composer, or in the browser's developer console. This page lists those messages and what each means.

Opening and signing in to the web app are covered in The Oda web app, the reasons a failed file's card can show are listed in File uploads in the web app, and messages from your DataMind server sign-in, models, updates and permissions are in Troubleshooting.

Find your message

  1. Note the message in full, including any id, address, status or number in it.
  2. Find it in the tables below. Each section says where its messages can appear.
  3. Follow the row. If a message returns every time, keep it as it is and contact your DataMind OS administrator with what you were doing.

Messages shown on the page

MessageWhat it meansWhat to do
Sign-in required; reopen the address the server printed when it started.This browser has not signed in to the web app yet.Open the exact address from the latest start of the web app; The Oda web app covers the steps.
not found or an empty pageThe address is not one the web app serves, and a request for it is answered the same way.Check the address for a typo, then open the address DataMind Oda printed.

Requests that are refused

The web interface checks each request before Oda's code handles it, and a refusal comes back as a short word with a status number. You meet these in the browser's developer tools, or when a tool reports what it received.

MessageWhat it meansWhat to do
unauthorizedThe request was refused with status 401: this browser has no working sign-in for the web app.Open the address from the latest start of the web app; that signs this browser in.
forbiddenThe request was refused with status 403: it did not pass the address check, because it came from an address the web app does not serve, or from another site.Open the web app at its own address. To reach the interface from another computer, see Oda in the browser.
413, for a request over the size capThe request was bigger than the web interface accepts for one request, so it is refused before Oda's code sees it and the connection is closed.Send less at once. An upload that hits this shows file upload transport failed with HTTP 413 on its card; File uploads in the web app covers the card.

Requests that cannot be handled

These messages are for developers: they appear in the browser's developer tools, or in the error a tool reports, when a request does not fit the shapes the web interface accepts or fails while being handled. A message that carries a prefix names the part that reported it.

MessageWhat it meansWhat to do
content type must be application/jsonA request body arrived in a form these requests do not take.Send the body as JSON.
body is not JSONThe body could not be read as JSON at all.Fix the body, then send the request again.
invalid client-request messageThe JSON arrived, but it is not the message shape Oda expects.Check the message's fields and type against what the request needs.
method "<x>" does not match endpoint "<y>"The message names a method that disagrees with the address it was sent to.Send the method the address expects.
handler failure: <detail>Something inside Oda threw while handling the request; the detail is the failure.Try again; if it returns, keep it for your administrator.
connection: invalid RPC target ...The request named a target the web interface does not allow.Correct the target and send the request again.
connection: invalid server-response envelope (...result, ...failure)A reply could not be read as one of the agreed message shapes.Try again; if it returns, keep it for your administrator.
rpcId mismatch for <endpoint>: sent <id>, got <id>An answer arrived that belongs to a different request, so it was not used. Every request carries a call id that its answer must echo.Send the request again; if it returns, keep it for your administrator. Binary attachments and downloads covers the call id rule.
transport failure for <channel>/<endpoint>: HTTP <status>The call could not be delivered through the web interface; the status is what came back in answer.Send it again. A dropped connection comes back on its own, as Connection states and recovery describes.

Upload messages

Uploads run through their own path in the web interface, and a refused one answers with one of these messages. Your file card shows its own wording for a failure, listed in File uploads in the web app; the messages below are what the path itself reports.

MessageWhat it meansWhat to do
content type must be application/octet-streamAn upload arrived as something other than raw file bytes.Send the file's bytes as the body. This comes from a tool that talks to the web app directly.
sessionId is requiredAn upload arrived without naming the chat it belongs to.Send the upload with its chat; uploads belong to one chat.
405 with allow: POSTAn upload was sent with a method other than POST.Send uploads as POST.
session "<id>" was disposed before its file upload completedThe chat ended while its file was still uploading.Add the file again in the chat where you want it.
session "<id>" is not attachedThe upload found no open chat to receive it.Open the chat, or start a new one, and add the file again.
failed to store file upload: <detail>Oda could not store the uploaded file; the detail says why.Add the file again. If it repeats, keep the message for your administrator.

Messages in the browser's developer console

This section is for developers and support: these lines appear in the browser's developer console when the page's connection to DataMind Oda has trouble. They are notes, not page text. The behaviour behind them is on Connection states and recovery.

Console lineWhat it meansWhat to do
[connection] connection lost, retry #<n>The connection dropped, and Oda is running attempt number <n>.Usually nothing; the attempts continue on their own.
[connection] generation is still not ready after <n>msAn attempt is taking longer than expected to become ready, counted from about 3 seconds.Usually nothing; a slow attempt is noted, not stopped.
[connection] connection generation was not ready within <n>ms; cancelling generationAn attempt passed its deadline, about 15 seconds, and was cancelled; the next one starts.Usually nothing; if it repeats, keep the line for your administrator.
[connection] connection sink threw:A part of the page failed while receiving connection updates; the error follows the line.The rest of the page keeps working; keep the line for your administrator if it returns.
[connection] generation listener threw: / [connection] state listener threw:A listener that reacts to connection changes failed; it is set aside so the rest keeps working, and the error follows.Keep the line for your administrator if it returns.
connection: a generation source is already registeredTwo parts of the interface tried to provide the connection at once.This is a conflict inside the page's own wiring; keep it for your administrator.
connection: the stream loop is already owned by another consumerA second part tried to take over the connection's stream of updates.Keep it for your administrator.
connection: no generation source is registeredThe connection was asked to start before anything provided it.Keep it for your administrator.

When the web app cannot start

These messages are meant for whoever set up this installation, not for everyday readers. They appear in Oda's own output when it starts, rather than on the page.

MessageWhat it meansWhat to do
browser-session credential record has an unsupported format / ... has an invalid secret / ... was not createdOda could not read the record that keeps browsers signed in to its web interface. It stops rather than replacing the record.Keep the record and the message for your DataMind OS administrator, and replace nothing unless they ask.
Agent resolver is already registeredTwo parts of the upload helper tried to start at once.Restart Oda; if the message returns, keep it for your administrator.
operation requires the Agent's own scopeAn upload ran outside the chat that owns it.Keep the message for your administrator.

Questions, answered

Where do these messages appear?

On the page itself, on a file's card in the composer, in the browser's developer console, or in Oda's own output when it starts. Each section above says which. The console lines and the start-up messages are for developers and support; the page's own sign-in and address messages are covered in The Oda web app.

Why does a request answer unauthorized?

This browser has no working sign-in for the web app, so the request was refused with status 401. Open the address from the latest start of the web app; that signs this browser in, as The Oda web app describes.

Why does a request answer forbidden?

The request did not pass the address check: it came from an address the web app does not serve, or from another site. The refusal carries status 403. Open the web app at its own address; to reach the interface from another computer, see Oda in the browser.

Why was my request answered 413?

A request bigger than the web interface accepts for one request is answered 413 and closed before Oda's code sees it. Send less at once. An upload that hits this shows file upload transport failed with HTTP 413 on its card; File uploads in the web app covers the card and its fixes.

What does handler failure mean?

Something inside Oda threw while handling the request, and the message carries the failure after handler failure:. Send the request again; if the message returns, keep it for your DataMind OS administrator.

What does invalid client-request message mean?

The request arrived as readable JSON, but it is not the message shape this part of Oda expects, so it was refused. Check the message's fields and type against what the request needs, then send it again.

What do the [connection] lines in the console mean?

They note the connection's life: a drop with its attempt number, a slow attempt counted from about 3 seconds, an attempt cancelled after about 15 seconds, and errors a part of the page threw while handling updates. The first three need nothing from you; Connection states and recovery explains the behaviour, and repeated threw: lines are worth keeping for your administrator.

Why does the web app stop over its saved sign-in record?

Oda keeps a record on this computer behind the web app's browser sign-in. When it cannot read that record, it stops instead of replacing it. Keep the record and the message for your DataMind OS administrator, and replace nothing unless they ask.