Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Bug]: FFF segfaults when launching neovim from a deleted directory.

Open
#672 9 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
52/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
neovim, rust
Domain
tooling

Research direction

Reproduce the listed mkdir, cd, and rmdir sequence before launching Neovim. Start with the fff_search::file_picker filesystem walk and background_watcher initialization shown in the log; done means FFF launches without a segfault when its working directory has been deleted.

Written by the indexing model from the issue text.

Description

bug
Which fff frontend?

Neovim plugin (fff.nvim)

has logs
2026-06-27T10:19:04.124407Z  INFO ThreadId(02) fff_search::log: FFF tracing initialized: /home/karim/.local/state/nvim/logs/fff+1782555544+34397.log (pid=34397, retain_runs=20)
2026-06-27T10:19:04.124456Z  INFO ThreadId(02) open_env{db_path="/home/karim/.cache/nvim/fff_nvim"}: fff_search::dbs::lmdb: new
2026-06-27T10:19:04.124642Z  INFO ThreadId(02) open_env{db_path="/home/karim/.cache/nvim/fff_nvim"}: fff_search::dbs::lmdb: close time.busy=176µs time.idle=8.59µs
2026-06-27T10:19:04.124767Z  INFO ThreadId(02) fff_nvim: Frecency database initialized at /home/karim/.cache/nvim/fff_nvim
2026-06-27T10:19:04.124777Z  INFO ThreadId(02) open_env{db_path="/home/karim/.local/share/nvim/fff_queries"}: fff_search::dbs::lmdb: new
2026-06-27T10:19:04.124929Z  INFO ThreadId(02) open_env{db_path="/home/karim/.local/share/nvim/fff_queries"}: fff_search::dbs::lmdb: close time.busy=147µs time.idle=4.06µs
2026-06-27T10:19:04.125054Z  INFO ThreadId(02) fff_nvim: Query tracker database initialized at /home/karim/.local/share/nvim/fff_queries
2026-06-27T10:19:04.125108Z  INFO ThreadId(02) fff.trace{trace_id="9b62b9d694f8de20" label="picker"}: fff_search::log: new
2026-06-27T10:19:04.125114Z  INFO ThreadId(02) fff_search::file_picker: Spawning background threads: base_path=/home/karim, warmup=true, content_indexing=true, mode=Neovim
2026-06-27T10:19:04.126254Z  WARN fff-scan fff.trace{trace_id="9b62b9d694f8de20" label="picker"}: fff_search::file_picker: No git repository found for path: /home/karim
2026-06-27T10:19:04.126288Z  INFO fff-scan fff.trace{trace_id="9b62b9d694f8de20" label="picker"}:walk_filesystem: fff_search::file_picker: new
2026-06-27T10:19:04.126293Z  INFO fff-scan fff.trace{trace_id="9b62b9d694f8de20" label="picker"}:walk_filesystem: fff_search::file_picker: SCAN: Starting filesystem walk and git status (async)
2026-06-27T10:19:04.128031Z  INFO fff-scan fff.trace{trace_id="9b62b9d694f8de20" label="picker"}:walk_filesystem:walker_run: fff_search::file_picker: new
2026-06-27T10:19:04.378043Z  INFO fff-scan fff.trace{trace_id="9b62b9d694f8de20" label="picker"}:walk_filesystem:walker_run: fff_search::file_picker: close time.busy=250ms time.idle=15.4µs
2026-06-27T10:19:04.378067Z  INFO fff-scan fff.trace{trace_id="9b62b9d694f8de20" label="picker"}:walk_filesystem: fff_search::file_picker: SCAN: File walking completed in 250.042382ms for 39198 files
2026-06-27T10:19:04.432300Z  INFO fff-scan fff.trace{trace_id="9b62b9d694f8de20" label="picker"}:walk_filesystem: fff_search::file_picker: SCAN: Walk completed in 306.003354ms (39198 files, 3693 dirs, chunked_store=0.77MB, files_vec=3.59MB, dirs=0.34MB, FileItem=96B)
2026-06-27T10:19:04.432336Z  INFO fff-scan fff.trace{trace_id="9b62b9d694f8de20" label="picker"}:walk_filesystem: fff_search::file_picker: close time.busy=306ms time.idle=5.89µs
2026-06-27T10:19:04.432351Z  INFO fff-scan fff.trace{trace_id="9b62b9d694f8de20" label="picker"}:run_post_scan{warmup=true indexing=true}: fff_search::scan: new
2026-06-27T10:19:05.766708Z  INFO fff-scan fff.trace{trace_id="9b62b9d694f8de20" label="picker"}:run_post_scan{warmup=true indexing=true}: fff_search::scan: close time.busy=1.33s time.idle=4.99µs
2026-06-27T10:19:05.766748Z  INFO fff-scan fff.trace{trace_id="9b62b9d694f8de20" label="picker"}: fff_search::background_watcher: Initializing background watcher for path: /home/karim, mode: Neovim
2026-06-27T10:19:05.891164Z  INFO fff-scan fff.trace{trace_id="9b62b9d694f8de20" label="picker"}: fff_search::background_watcher: File watcher initialized for 4085 directories (NonRecursive) under /home/karim (aborted_early=false)
2026-06-27T10:19:05.891185Z  INFO fff-scan fff.trace{trace_id="9b62b9d694f8de20" label="picker"}: fff_search::background_watcher: Background file watcher initialized successfully
Description

It's not a big issue to begin with. However, I'll report it nonetheless.
steps:

  • mkdir test
  • cd test
  • rmdir test (in another terminal.)
  • Launch nvim, FFF will segfault.

Small side note:
The log path is ~/.local/state/nvim/logs not ~/.local/state/nvim/log

Thanks for the plugin!

Dominant language
Rust
Stars
11.1k
Forks
467
Avg merge
1d 5h
Merged PRs (30d)
23

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dmtrKovalenko/fff

All issues in dmtrKovalenko/fff

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.