dmtrKovalenko / dmtrKovalenko/fff

[Bug]: on android SIGSEGV when a directory contains more than two child directories

Open
#786 4 comments 1 reaction 0 assignees View on GitHub
bug triaged
Dominant language
Rust
Stars
10.7k
Forks
446
Avg merge
1d 21h
Merged PRs (30d)
39

Description

### Which fff frontend?

Neovim plugin (fff.nvim)

### has logs

[fff+1786859934+11285.log](https://github.com/user-attachments/files/31112893/fff%2B1786859934%2B11285.log)

### Description

# Bug: SIGSEGV when a directory contains more than two child directories

## Which fff frontend?

Neovim plugin (fff.nvim)

## has logs

FFF log attached.

## Description

I'm using fff.nvim on Termux with the prebuilt binary.

FFF works when a directory contains **≤2 child directories**, but consistently segfaults when a directory contains **>2 child directories**, regardless of nesting depth.

### Reproduction

Works:

```text
.
├── a
└── b
```

Crashes:

```text
.
├── a
├── b
└── c
```

Also works when nested:

```text
.
└── parent
├── a
└── b
```

But crashes at any depth when that directory has more than two child directories:

```text
.
└── parent
└── child
├── a
├── b
└── c
```

The crash occurs during the `zlob` filesystem walk:

```text
fff_search::walk::zlob: new
=== CRASH SIGSEGV (fff) ===
fff.nvim's rust extension hit a segfault and is about to die.
=== CRASH END SIGSEGV ===
```

### Environment

```text
Termux
aarch64 / arm64-v8a
fff.nvim using the prebuilt binary
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the fff_search::walk::zlob filesystem-walk path and the attached FFF log, then reproduce the crash on Termux aarch64 using the directory trees described in the issue. Trace the walk when a directory has more than two child directories; done means the prebuilt or rebuilt binary completes those walks without a SIGSEGV at any nesting depth.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.