Bug 56574

Summary: bbolt выводит panic / непонятные ошибки в определенных случаях с неправильными аргументами
Product: Sisyphus Reporter: Artem Varaksa <varaksaaa>
Component: bboltAssignee: fl0pp5 <fl0pp5>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: fl0pp5
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Artem Varaksa 2025-10-23 13:27:34 MSK
Данная ошибка создана из upstream-ошибки https://github.com/etcd-io/bbolt/issues/681 для отслеживания её статуса в bugzilla.altlinux.org. Версии пакетов могут быть устаревшими.

По крайней мере для нескольких команд CLI-утилита не справляется с отсутствующими аргументами, приводя к различным panic и ошибкам, а не к печати полезных сообщений об ошибках.

Например:

> $ bbolt get
> panic: runtime error: slice bounds out of range [:-1]
> 
> goroutine 1 [running]:
> main.(*getCommand).Run(0xc00006cdc8, {0xc000014070, 0x0, 0x0})
>         /usr/src/RPM/BUILD/bbolt-1.3.8/cmd/bbolt/main.go:996 +0x699
> main.(*Main).Run(0xc00006cf40, {0xc000014070?, 0x7f66b3c44108?, 0x60?})
>         /usr/src/RPM/BUILD/bbolt-1.3.8/cmd/bbolt/main.go:123 +0x10d
> main.main()
>         /usr/src/RPM/BUILD/bbolt-1.3.8/cmd/bbolt/main.go:67 +0xae

> $ bbolt page-item test.db 4
> strconv.ParseUint: parsing "": invalid syntax

Сама БД является корректной, и с правильными аргументами bbolt возвращает правильные результаты.

[p10] bbolt-1.3.8-alt1
Comment 1 Artem Varaksa 2025-10-23 13:30:37 MSK
Согласно upstream, должно быть исправлено в v1.4.0-alpha.1+ и v1.3.9+:

- https://github.com/etcd-io/bbolt/pull/682
- https://github.com/etcd-io/bbolt/pull/683
- https://github.com/etcd-io/bbolt/pull/686
Comment 2 Artem Varaksa 2025-10-27 13:08:01 MSK
Проверил поведение в p11 и sisyphus. Ошибка только частично исправлена в sisyphus:

Первый случай исправлен:

> $ bbolt get
> not enough arguments

Второй воспроизводится:

> $ etcd & etcdctl put foo bar; etcdctl put abc def; pkill etcd
> $ bbolt page-item default.etcd 4
> strconv.ParseUint: parsing "": invalid syntax

И полностью актуальна для p11 (воспроизводятся оба случая) - версия не обновлялась.

Написал в upstream о частичном исправлении: https://github.com/etcd-io/bbolt/issues/681#issuecomment-3450454500

[p11] bbolt-1.3.8-alt1.x86_64
[sisyphus] bbolt-1.4.2-alt1.x86_64
Comment 3 Artem Varaksa 2025-10-27 13:16:02 MSK
Исходя из https://github.com/etcd-io/bbolt/issues/681#issuecomment-3450499196, второй случай будет исправлен в версии 1.5.0, которая ещё не выпущена.