DataMind Oda saves your chats as session log files on your computer. When it cannot open or save one of those files, it shows a message like the ones on this page. Find your message, read what it means, and follow the steps in the same row.
For where the files live and how Oda keeps them, see Chat logs on disk. A log written by a different version of Oda has its own page, Opening sessions from other versions, and repairs after a sudden stop are on Recovering sessions after a crash.
When a log fails one of these checks, Oda refuses to work from it rather than guess, and it leaves the file as it is. Nothing in Oda deletes session log files, and a hand edit can leave a chat that will not open, so keep damaged files untouched.
Oda keeps one writer per chat so its log stays in order. These messages mean it could not find, create or open a chat for writing.
| Message | What it means | What to do |
|---|---|---|
session "<id>" not found | Oda looked for this chat's log and did not find it. | Check that you are on the computer where the chat was saved. If the file or its folder was moved outside Oda, put it back, then open the chat again. |
session "<id>" already exists | A log for this chat is already on disk, and Oda will not create another one over it. | Open the chat that is already there. Nothing on disk was replaced. |
session "<id>" is already owned by an active write handle | Another task or another Oda window is saving to this chat. | Wait for that task to finish, or close the other window, then try again. Reading the chat is not blocked. |
session "<id>": <operation> is not available on a read handle | The action tried to save the chat through a connection that can only read it. | Open the chat again and repeat the action. If the message returns, contact your DataMind OS administrator with it. |
session "<id>": <operation> on a closed handle | The chat was closed before the action finished. | Open the chat again and repeat the action. |
session "<id>": close failed to drain and to release its write lock | While closing the chat, Oda could not finish saving and could not release the chat's write lock. | Try again. The lock ends when the process holding it stops. If the message returns, keep it for your administrator. |
A log carries the version of Oda that wrote it. These messages mean this version cannot read the file; Opening sessions from other versions explains the full story.
| Message | What it means | What to do |
|---|---|---|
session "<id>" uses log format v<version>, but this version of DataMind Oda reads only v<current>: the log was written by a newer version โ update DataMind Oda to open it | The chat was saved by a newer Oda than the one on your computer. | Update DataMind Oda, then open the chat again. |
session "<id>" uses log format v<version>, older than the supported v<current>, and this build ships no upgrade path for it | The file is older than any conversion this version of Oda ships. | Oda keeps the file as it is. Start a new chat for the work you need now, or open the file in a version of Oda that can read it. |
session "<id>" contains event type "<type>" (seq <n>) unknown to this version of DataMind Oda and not marked ignorable; refusing to interpret the log โ it was likely written by a newer version | The file holds an event this version does not know. | Update DataMind Oda, or open the file in the version of Oda that wrote it. |
session "<id>" contains a request/ | The file was written by an early pre-release build that released versions do not read. | Oda keeps the file as it is. Keep it and the message for your administrator. |
These messages mean Oda stopped reading a log because part of it is not valid. The first message wraps the others: the detail repeats the exact check that failed.
| Message | What it means | What to do |
|---|---|---|
session "<id>": stored log is corrupt: <detail> (raw log: <path>) | The file is damaged; the bracketed path names it on your computer. | Keep the file at that path as it is and contact your DataMind OS administrator with this message. |
corrupt session log: header line is not valid JSON | The first line of the file, which names the chat, cannot be read. | Keep the file as it is and contact your DataMind OS administrator with this message. |
corrupt session log: first line is not a JSON object | The first line can be read, but it is not a chat header. | Keep the file as it is and contact your DataMind OS administrator with this message. |
corrupt session log: first line is not a session header | The first line is not a record Oda recognises as the start of a chat. | Keep the file as it is and contact your DataMind OS administrator with this message. |
corrupt session log: unparsable committed event at line <n> | A saved part of the file at that line cannot be read. | Keep the file as it is and contact your DataMind OS administrator with this message. |
corrupt session log: invalid committed event at line <n>: <detail> | The saved part at that line is not valid; the detail says why. | Keep the file as it is and contact your DataMind OS administrator with this message. |
empty or header-less session log | The file is empty or does not begin with a chat header. | Keep the file as it is and contact your DataMind OS administrator with this message. |
By default, Oda saves session logs in a compressed form called Zstandard. These messages mean that compressed file is damaged.
| Message | What it means | What to do |
|---|---|---|
corrupt Zstandard session log: invalid frame magic at byte <n> | The compressed file stops looking like valid compressed data at that byte. | Keep the file as it is and contact your DataMind OS administrator with this message. |
corrupt Zstandard session log: reserved frame-header bit at byte <n> | A structure check inside the compressed file failed at that byte. | Keep the file as it is and contact your DataMind OS administrator with this message. |
corrupt Zstandard session log: reserved block type at byte <n> | The compressed file uses a reserved block type at that byte. | Keep the file as it is and contact your DataMind OS administrator with this message. |
corrupt Zstandard session log: first frame is not exactly one header line | The compressed file must begin with one part holding exactly the chat header, and it does not. | Keep the file as it is and contact your DataMind OS administrator with this message. |
corrupt Zstandard session log: header frame failed validation: <detail> | The header inside the compressed file failed its check; the detail says why. | Keep the file as it is and contact your DataMind OS administrator with this message. |
corrupt Zstandard session log: complete frame contains a torn JSONL record | A finished part of the compressed file ends in the middle of a saved record. | Keep the file as it is and contact your DataMind OS administrator with this message. |
empty or header-less Zstandard session log | The compressed file is empty or has no header. | Keep the file as it is and contact your DataMind OS administrator with this message. |
These messages mean the file Oda found does not belong to the chat it was asked to open.
| Message | What it means | What to do |
|---|---|---|
stored session identity mismatch: requested "<id>", header contains "<meta>" | The file on disk belongs to a different chat than the one being opened. | Keep the file as it is and contact your DataMind OS administrator with this message. |
requested id "<x>" does not match header id "<y>" | The place Oda opened says one chat, and the file inside says another. | Keep the file as it is and contact your DataMind OS administrator with this message. |
header id "<x>" and cwd identify "<path>" | The chat id and working folder saved inside the file point to a different location than the one Oda opened. | Keep the file as it is and contact your DataMind OS administrator with this message. |
These messages mean a write to a session log did not finish as expected.
| Message | What it means | What to do |
|---|---|---|
append seq mismatch for "<id>": expected <n> at index <i>, got <m> | A new part of the log did not continue the file exactly where it ended, so Oda refused it instead of guessing. | Try the action again; the refused part changed nothing on disk. If the message returns, contact your DataMind OS administrator with it. |
session event batch is not losslessly JSON-serializable because it contains non-JSON-serializable data | A record could not be saved exactly as it was, so Oda refused rather than save a changed version. | Try again. If the message returns, contact your DataMind OS administrator with it. |
session "<id>": stored log shrank below a previously observed prefix (<n> < <m>) | The file is now shorter than the part Oda had already read, so something changed it outside Oda. | Open the chat again, and keep session log files out of other programs. If the message returns, keep the file as it is and contact your DataMind OS administrator. |
failed to roll back append to "<path>" | A save failed, and undoing the partial write failed too, so the file may end with an unfinished part. | Open the chat again; Oda clears an incomplete end of the file before its next write. If the message returns, keep it for your administrator. |
When a chat from an older version records something new, Oda prepares and checks an updated copy first. These messages mean that preparation or its check did not finish. The file you already have is not changed by these steps.
| Message | What it means | What to do |
|---|---|---|
refusing to materialize "<id>": a log already exists on disk (open it instead) | Oda was about to create this chat's log and found one already on disk. | Open the existing chat. Nothing was overwritten. |
current session generation already exists at "<path>": <reason> | The updated copy is already at that path; the reason says why Oda stopped. | Open the chat again. Nothing on disk is overwritten. If the message returns, keep it for your administrator. |
historical session generation changed during migration: "<path>" | The older file changed while Oda was preparing its updated copy. | Close the chat, then open it again so the copy is prepared against the current file. |
target bytes differ from the migrated generation | The prepared copy and the copy already on disk do not match, so Oda refused to replace it. | Keep the file as it is and contact your DataMind OS administrator with this message. |
source v<version> artifact remains unchanged (raw log: <path>) | Oda stopped a conversion partway and left the older file alone; the bracketed path names it. | Keep the file as it is and contact your DataMind OS administrator with this message. |
migration verifier returned an invalid response | The check Oda runs on the prepared copy returned an answer it could not use. | Open the chat again. If the message returns, keep the file and the message for your administrator. |
migration verifier exited before reporting a result (code <n>) | The check stopped early, with code <n>. | Open the chat again. If the message returns, keep the file and the message for your administrator. |
migration verifier aborted | The check was stopped before it finished. | Open the chat again. |
migration verifier termination failed | The check could not be shut down cleanly. | Open the chat again. If the message returns, keep it for your administrator. |
These messages mean a session log is stored in a way this copy of Oda does not read.
| Message | What it means | What to do |
|---|---|---|
session artifact "<path>" uses <other suffix>, but this backend is configured for compression "<mode>"; use a separate root or select the matching compression mode | The file's form, compressed or plain, does not match the folder of logs it sits in. | Keep logs of the two forms in different folders. If the file is where Oda saved it, contact your DataMind OS administrator with this message. |
session artifact "<path>" uses the unsupported flat-file layout; use a separate root or move it into a project/ | The file sits directly in the folder that groups chats, not inside a chat folder of its own. | Oda does not load it from there. Move it into the chat folder it belongs to, or keep it in a folder of its own. |
duplicate JSONL session id "<id>" appears in multiple project directories | The same chat appears in more than one place under the folder where Oda keeps chats. | Oda does not choose between the copies. Keep the one you need and ask your administrator to remove the other. |
One case needs no action. If Oda stopped in the middle of a save, the very end of the log can be incomplete. Oda opens the chat with every complete record and notes what it did:
session "<id>" recovered from a torn tail; incomplete tail bytes were discarded
This is a notice, not damage: you do not need to do anything, and the next write clears the incomplete bytes. The full story is on Recovering sessions after a crash.
Oda opens each chat's log through a connection that either reads it or writes it, called a handle. A read handle only reads, and a closed handle has finished its work. When a message says an action was not available on a read handle, or happened on a closed handle, the action tried to save through the wrong connection. Open the chat again and repeat the action; if the message returns, contact your DataMind OS administrator with it.
already owned by an active write handle?Another task or another Oda window is saving that chat. Wait for it to finish, or close the other window, then try again. Reading the chat is not blocked, and the lock ends when the process holding it stops, so a crashed or closed task leaves nothing stuck. If a chat stays locked with no task running, Chat logs on disk describes the lock file you can remove.
No. Keep the file as it is and do not edit it in another program: a hand edit can leave a chat that will not open. If you have a backup copy of the chat, restore it in place of the damaged file; otherwise keep the file and the message for your DataMind OS administrator.
Yes. The refused file stays in its folder exactly as it is, and nothing in Oda deletes it. Start a new chat to continue the same work while the file is dealt with, and keep the file and the message for your DataMind OS administrator.
Send the message exactly as it appears, with every id, line, byte and path in it. If it ends with (raw log: <path>), that is the file on your computer to keep as it is: do not move, edit or delete it.
Something made the file shorter than the part Oda had already read, for example a change outside Oda. Open the chat again, and keep session log files out of other programs. If the message returns, keep the file as it is and contact your DataMind OS administrator.
No. These steps run on a copy, and the file you already have is not changed by them. Open the chat again, and keep the file and the message for your administrator if it returns.
The file's own header names a different chat than the one Oda was asked to open, so it refused rather than show the wrong history. Keep the file as it is and contact your DataMind OS administrator with this message.
Version refusals are explained on Opening sessions from other versions, repairs after a sudden stop on Recovering sessions after a crash, and the file layout on Chat logs on disk. For everything else, see Troubleshooting or contact your DataMind OS administrator with the message.