Kakoune: Line complete (all buffers) <c-x>L crashes session

Created on 18 Aug 2020  路  5Comments  路  Source: mawww/kakoune


EDIT: Probably related to #3571 , I'm using 4e4a65e9440cdf7164b7a73bdff50b6c641ac2f5.
EDIT-2: Reproduces without multiple clients connected to the session.

Steps

Opening a kakoune session such as kak -s ab file-a.txt file-b.txt and then connecting to it in a second terminal with kak -c ab.
Enter insert mode and try to line complete with <c-x>L and press multiple keys simultaneously.

Outcome/Stacktrace

Fatal error: assert failed "is_valid(coord)" at buffer.cc:657
[Debug Infos]
pid: 114547
callstack:
kak(Kakoune::Backtrace::Backtrace()+0x2b) [0x55980fd9eb11]
kak(Kakoune::on_assert_failed(char const*)+0x24) [0x55980fd9e1a6]
kak(Kakoune::Buffer::char_prev(Kakoune::BufferCoord) const+0x46) [0x55980fda6718]
kak(+0x244ecd) [0x55980ff29ecd]
kak(+0x2464cb) [0x55980ff2b4cb]
kak(+0x246594) [0x55980ff2b594]
kak(Kakoune::InsertCompleter::reset()+0x163) [0x55980ff2a1b9]
kak(Kakoune::InsertCompleter::update(bool)+0x55) [0x55980ff29d0b]
kak(+0x22ef17) [0x55980ff13f17]
kak(+0x23edcd) [0x55980ff23dcd]
kak(+0x23cecb) [0x55980ff21ecb]
kak(+0x239a1b) [0x55980ff1ea1b]
kak(std::function<void (Kakoune::Timer&)>::operator()(Kakoune::Timer&) const+0x49) [0x55980fe92fdb]
kak(Kakoune::Timer::run(Kakoune::EventMode)+0x62) [0x55980fe919ec]
kak(Kakoune::EventManager::handle_next_events(Kakoune::EventMode, __sigset_t*, bool)+0x979) [0x55980fe92555]
kak(Kakoune::run_server(Kakoune::StringView, Kakoune::StringView, Kakoune::StringView, Kakoune::Optional<Kakoune::BufferCoord>, Kakoune::ServerFlags, Kakoune::UIType, Kakoune::DebugFlags, Kakoune::ArrayView<Kakoune::StringView const>)+0xd7a) [0x55980ff65813]
bug crash

All 5 comments

Could not reproduce with the given steps, but this does seem to be a duplicate of #3571 despite the stacktraces not being identical.

Related to <c-x>L behavior #3071.

@lenormf it most reliably reproduces after having completed a word by <c-n> or <c-p> and afterwards doing a <c-x>L and hitting multiple keys simultaneously.

More minimal steps to reproduce: open single file, enter insert mode, <c-n> or <c-p> a word followed by <c-x>l and hitting any number of keys, at least one.

kak -n -e 'exec i scrat <c-n> <c-x>l'
Was this page helpful?
0 / 5 - 0 ratings

Related issues

abitofalchemy picture abitofalchemy  路  3Comments

akkartik picture akkartik  路  3Comments

MasterOfTheTiger picture MasterOfTheTiger  路  4Comments

basbebe picture basbebe  路  4Comments

dpc picture dpc  路  4Comments