kaimon crash report #29
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
kahliburke/Kaimon.jl#29
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Kaimon v1.3.1, installed as an app.
Didn't do anything spectacular at the time, to my knowledge. Claude had just submitted some julia code to a repl session with
ex.Crash report:
Root cause found — this is a UTF-8 byte-vs-character slicing bug in Tachikoma's
DataTable.render, triggered when a cell (or header) that needs truncation contains a multi-byte character. Your crash index[45]landing next to[44]=>'—'is the tell:—(em-dash) is 3 bytes, and the truncation slices mid-character.Two spots in
Tachikoma.jl/src/widgets/datatable.jl:length(cell_text)counts characters, butcell_text[1:n]indexes by bytes — so whennfalls inside a multi-byte char,getindex(::String, ::UnitRange)throwsStringIndexError.Fix: use
Base.first(s, n), which truncates by character count (and clamps whenn ≥ length):Both are crash-safe and match the character-count intent already used by the surrounding
length(...)checks. (For full correctness with wide/CJK glyphs,textwidth-based truncation would be the larger follow-up, butfirstresolves the crash.)This lives in Tachikoma, so the fix belongs there; leaving this open until it lands. A good regression test: render a
DataTablewhose cell/header contains—(or any non-ASCII char) in a column narrow enough to force truncation.Confirmed this is a Tachikoma-side bug (UTF-8 byte-slicing in
DataTable.render, detailed above), not a Kaimon issue per se. Tracking the fix in Tachikoma: kahliburke/Tachikoma.jl#36.Closing here; the crash will be resolved once that lands and Kaimon picks up the new Tachikoma.