AprilNEA / AprilNEA/OpenLogi

[Bug]: Possible Memory Leak on macOS 27

Open
#735 1 comment 0 reactions 0 assignees View on GitHub
needs: triage type: bug
Dominant language
Rust
Stars
21k
Forks
675
Avg merge
2d 5h
Merged PRs (30d)
172

Description

### Pre-flight checklist

- [x] I searched [existing issues](https://github.com/AprilNEA/OpenLogi/issues?q=is%3Aissue) and this is not a duplicate.
- [x] I am on the [latest release](https://github.com/AprilNEA/OpenLogi/releases/latest) or a recent `master` build.
- [x] I quit **Logi Options+** before running OpenLogi (the two apps fight over HID++ access and only one can own a receiver at a time).

### Which part of OpenLogi?

CLI (the `openlogi` binary)

### OpenLogi version

0.7.1

### Operating system

macOS

### OS version & architecture

macOS 27 Public Beta 4, Apple Silicon

### Device model

MX Master 3S + MX Keys Mini

### How is the device connected?

Bluetooth (direct, no receiver)

### Affected area(s)

- [ ] Device discovery / detection
- [ ] Button remapping
- [ ] DPI control
- [ ] SmartShift
- [ ] Per-application profiles
- [ ] Battery status
- [ ] Settings / configuration (TOML)
- [ ] Auto-update
- [ ] Menu bar / tray
- [x] Other

### What happened?

There might be a possible memory leak from openLogiAgent as it is currently using 2.7 Gb of RAM. Seems to be very slowly but constantly increasing (over a period of 2 days).

Image

### Steps to reproduce

- Launch OpenLogi
- Keep Mac on for 2 days

### Diagnostics report

```markdown
### OpenLogi Diagnostics

**App**
- OpenLogi (GUI): v0.7.1 (release)
- Agent: v0.7.1 (connected)
- IPC protocol: GUI 17 / agent 17
- Inventory: ready
- OS: macOS 27.0 (arm64)
- Locale: es-MX (UI: follow system)
- Accessibility: granted · Input hook: installed
- Launch at login: yes · Menu bar: yes · Update check: off
- Running from: source build (dev)
- Config: schema 4 · 4 configured device(s) · thumbwheel 14

**Assets**
- Source: user cache · Index: loaded (210 models) · User cache: present
- Cache path: ~/.local/share/openlogi/assets · Bundle assets: absent

**Devices (2)**
- MX Master 3S — mouse (codename: MX Master 3S)
- Connection: Bluetooth (direct) · Online: yes · Battery: 25% (discharging, low)
- Capabilities: buttons=yes, pointer=yes, lighting=no
- Model: 0b034 (model-ids: b034/0000/0000, ext-model: 00)
- Transports: BTLE
- Render: mx_master_3s · direct
- MX Keys Mini — keyboard (codename: MX Keys Mini)
- Connection: Bluetooth (direct) · Online: yes · Battery: 70% (discharging, full)
- Capabilities: buttons=yes, pointer=no, lighting=no
- Model: 0b369 (model-ids: b369/0000/0000, ext-model: 00)
- Transports: BTLE
- Render: mx_keys_mini · direct
```

### `openlogi list` output

```text
MX Master 3S (—, vid=046d pid=b034)
└─ slot 255 ● MX Master 3S (mouse, wpid=?, battery=25% low (discharging))
model_ids=[b034,0000,0000] ext=00 serial=2501ZE9DYR78 unit_id=570ed5ed transports=btle

MX Keys Mini (—, vid=046d pid=b369)
└─ slot 255 ● MX Keys Mini (keyboard, wpid=?, battery=70% full (discharging))
model_ids=[b369,0000,0000] ext=00 serial=2443CE22D488 unit_id=93f54a10 transports=btle
```

### Logs

```shell

```

### macOS permissions (if applicable)

- [x] OpenLogi has **Accessibility** permission (needed to remap buttons via the event tap).
- [x] OpenLogi has **Input Monitoring** permission (needed for Bluetooth-direct devices and capture).

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the OpenLogi CLI and openLogiAgent entry points described in the report, reproduce the launch-and-wait scenario, and monitor the agent's memory usage over time. Compare behavior with the provided diagnostics and `openlogi list` output; done means the reported steady memory increase is explained and no longer occurs during the same observation period.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
cli, desktop, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.