openwrt / openwrt/packages

fish: Fish Shell don't work correctly in OpenWRT 22.03.0 with mipsel_24kc architecture.

Open
#19,386 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

release/22.03 stale
Dominant language
Makefile
Stars
4.6k
Forks
4k
Avg merge
3d 12h
Merged PRs (30d)
134

Description

Maintainer: @jqqqqqqqqqq @hendrydong
Description:

fish shell always crash after upgrading to OpenWRT 22.03.0 (In OpenWRT 21.02, fish shell can work correctly).

$ fish
Assertion failed: (status_.load() & STATUS_NEEDS_WAKEUP) == 0 && "No thread should be waiting" (fish-3.3.1/src/topic_monitor.cpp: try_update_gens_maybe_becoming_reader: 208)
Aborted

This issue seems that happens in all mipsel_24kc architecture devices, I have Redmi Router AC2100(MT7621A), GL.iNet MT1300(MT7621A), Xiaomi Router 4C(MT7628AN) ...
All of these devices had this issue.

fish package info:

Package: fish
Version: 3.3.1-2
Depends: libc, libncurses6, libstdcpp6, libatomic1, librt, libpcre2-32
Status: install user installed
Section: utils
Architecture: mipsel_24kc
Size: 2050273
Filename: fish_3.3.1-2_mipsel_24kc.ipk
Description: Fish is a smart and user-friendly command line shell for OS X, Linux, and the
 rest of the family. Fish includes features like syntax highlighting,
 autosuggest-as-you-type, and fancy tab completions that just work, with no
 configuration required.
Installed-Time: 1663171114

Environment (Redmi Router AC2100):

NAME="OpenWrt"
VERSION="22.03.0"
ID="openwrt"
ID_LIKE="lede openwrt"
PRETTY_NAME="OpenWrt 22.03.0"
VERSION_ID="22.03.0"
HOME_URL="https://openwrt.org/"
BUG_URL="https://bugs.openwrt.org/"
SUPPORT_URL="https://forum.openwrt.org/"
BUILD_ID="r19685-512e76967f"
OPENWRT_BOARD="ramips/mt7621"
OPENWRT_ARCH="mipsel_24kc"
OPENWRT_TAINTS=""
OPENWRT_DEVICE_MANUFACTURER="OpenWrt"
OPENWRT_DEVICE_MANUFACTURER_URL="https://openwrt.org/"
OPENWRT_DEVICE_PRODUCT="Generic"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="OpenWrt 22.03.0 r19685-512e76967f"

Contributor guide

Open the contributing guide

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.

Research direction

Reproduce the crash by running fish on an OpenWrt 22.03.0 mipsel_24kc device, then start with fish-3.3.1/src/topic_monitor.cpp at try_update_gens_maybe_becoming_reader, line 208. Compare the behavior with OpenWrt 21.02 and verify that fish starts without the assertion failure on the affected architectures.

Written by the indexing model from the issue text.

Assessment

Tech stack
fish, shell
Domain
cli, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.