Upgraded ISH using apk update / apk upgrade now FiSH no longer works
Hi
I just ran apk update and apk upgrade and now the Friendly Interactive Shell (FiSH) no longer works, can't run ls or clear in it, it just dies
Running Alpine Linux 3.12.0
Maybe do this?
echo “http://dl-cdn.alpinelinux.org/alpine/v3.13/main
http://dl-cdn.alpinelinux.org/alpine/v3.13/community
http://dl-cdn.alpinelinux.org/alpine/edge/main
http://dl-cdn.alpinelinux.org/alpine/edge/community
http://dl-cdn.alpinelinux.org/alpine/edge/testing
http://dl-cdn.alpinelinux.org/alpine/latest-stable/main
http://dl-cdn.alpinelinux.org/alpine/latest-stable/community” > /etc/apk/repositories; apk update; apk upgrade
I'm getting a lot of "not found" errors by copying and pasting your answer into ish
Maybe I'm missing keys or something?
It's splitting your response by return character, hmm I'll need to take out the new lines
Maybe do this?
echo “http://dl-cdn.alpinelinux.org/alpine/v3.13/main http://dl-cdn.alpinelinux.org/alpine/v3.13/community http://dl-cdn.alpinelinux.org/alpine/edge/main http://dl-cdn.alpinelinux.org/alpine/edge/community http://dl-cdn.alpinelinux.org/alpine/edge/testing http://dl-cdn.alpinelinux.org/alpine/latest-stable/main http://dl-cdn.alpinelinux.org/alpine/latest-stable/community” > /etc/apk/repositories; apk update; apk upgrade
Having multiple versions of alpine is a bad idea; this is three. You should choose one.
I have a workaround. Downgrade
to fish-2.6.0-r2 and apk add python2.
This works whether or not you’re running Alpine v.3.12.x like you say you are, because the problem evidently relates to a stubbed syscall in iSH (91) and all of 1.1.2; BtW. apk foo does not “update/upgrade iSH”, only on Alpine’s apps and for apk’s repository list itself.
@62f
apk add fish-2.6.0-r2
Gives an error that the Aplinev3.13 main and community repos are unable to select the packages...
Any suggestions?
It seems that the clear command is not the only casualty; after one or two entries of any sort, any of the newer fish versions locks iSH up even ^C, then iSH cannot run any commands at all, although the web-based online help browser seems to work for extended periods. Despite the fact that I was using fish before, an update to musl seems to have nipped off that bud from a very low level across the board. Even using another of the prebuilt Alpine mini-filesystems to take the major version of Alpine down to the lowest possible subversion hasn't helped, and I presuppose that htop's only salvation also lies in retrograding its apk by several steps.
Just now it did seem as if I have found yet another workaround fish & fish which ran current versions of fish fairly well, until discovering any iOS task switch immediately freezes it. The latter versions log a 375 stub in dmesg with every command, while the working version offishdoes not.
⏎ Welcome to fish, the friendly interactive shell
Type `help` for instructions on how to use fish
root@iPhone ~# dmesg
2 stub syscall 383
2 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 375
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
51 stub syscall 383
51 stub syscall 383
51 stub syscall 383
51 stub syscall 383
51 stub syscall 383
51 stub syscall 383
51 stub syscall 383
51 stub syscall 383
51 stub syscall 383
51 stub syscall 383
51 stub syscall 383
5 stub syscall 383
51 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
52 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
53 stub syscall 383
53 stub syscall 383
53 stub syscall 383
5 stub syscall 383
5 stub syscall 383
53 stub syscall 383
53 stub syscall 383
53 stub syscall 383
53 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
54 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
55 stub syscall 383
55 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
57 stub syscall 383
57 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
58 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
59 stub syscall 383
5 stub syscall 383
5 stub syscall 383
59 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
60 stub syscall 383
60 stub syscall 383
60 stub syscall 383
60 stub syscall 383
60 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
60 stub syscall 383
60 stub syscall 383
60 stub syscall 383
60 stub syscall 383
60 stub syscall 383
60 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
62 stub syscall 383
62 stub syscall 383
62 stub syscall 383
62 stub syscall 383
62 stub syscall 383
63 stub syscall 383
63 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
64 stub syscall 383
64 stub syscall 383
64 stub syscall 383
64 stub syscall 383
64 stub syscall 383
65 stub syscall 383
65 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
66 stub syscall 383
66 stub syscall 383
66 stub syscall 383
66 stub syscall 383
66 stub syscall 383
67 stub syscall 383
67 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
68 stub syscall 383
68 stub syscall 383
68 stub syscall 383
68 stub syscall 383
68 stub syscall 383
68 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
5 stub syscall 383
root@iPhone ~# ``` </details>
iSH (1.1.2 build 100) & fresh fish:
Bootingfish as iSH v101(1.1.2)'s default shell visually registers input yet output-wise remains catatonic.
Implicit example for a non-destructive app-regression : https://github.com/ish-app/ish/issues/1269#issuecomment-781817483
@StewAlexander-com
"apk add fish-2.6.0-r2" is not how apk functions.
Maybe do this?
echo “http://dl-cdn.alpinelinux.org/alpine/v3.13/main
http://dl-cdn.alpinelinux.org/alpine/v3.13/community
http://dl-cdn.alpinelinux.org/alpine/edge/main
http://dl-cdn.alpinelinux.org/alpine/edge/community
http://dl-cdn.alpinelinux.org/alpine/edge/testing
http://dl-cdn.alpinelinux.org/alpine/latest-stable/main
http://dl-cdn.alpinelinux.org/alpine/latest-stable/community” > /etc/apk/repositories; apk update; apk upgrade
Having multiple versions of alpine is a bad idea; this is three. You should choose one.
I went with v3.13 and that solved all IO ERROR issues for me.
@josteink except that the OP title isn’t simply about fixing apk repository I/O errors, it’s about fish ‘dying’. #1320 is #1213 , not this bug.
Any progress with this? I can confirm that this issue still exists quite frequently, to the point where FiSH is unusable in any normal capacity.
I have it set as my default shell for the app and simply navigating around the file system with cd or checking running processes with ps will cause the described behavior. I can’t get it to happen consistently enough to determine a cause, but it definitely happens consistently enough to be unreliable. :(
iSH v1.2.2 (Build 178) and fish v3.1.2.
From my testing here’s what else I can determine about this issue:
-
This error requires a command be run inside
fish. Spamming the Return key without running a command prior never causesfishto die/freeze up. Additionally,fishdoesn’t care if it’s the default shell or if it’s called from another shell, this seems to be consistent regardless of how you enter thefishshell. -
This error seems to require multi-line output from
fishto occur. I cannot get this error to occur if I run a command or any series of commands that simply output a single line of text then output the prompt. But if the command outputs multiple lines of text, or if the command outputs text not in a regular output flow—i.e., uses tabs like withls—it seems like that can help causefishto die either soon after or upon execution of that command. The issue also can prop up if you use the tab suggestions and there’s multiple columns and rows of suggestions, but it doesn’t fail if there’s only a single row of suggestions. -
This appears possibly be related to how iSH renders outputs or handles text. I don’t know if that’s true, but there is a difference in when commands are run in
ashvsfish. The prompt infishnoticeably takes time to appear while theashprompt is always instantly there with no delay, no matter how fast the Return key is spammed. I don’t even know if this observation is something noteworthy or not towards this issue, but this ‘delayed prompt’ doesn’t exist insh,bash,zsh,dash,cshortcsh. It’s exclusive tofish.
@kgsbowtie
Any progress, how can I help?
This problem still exists, any progress?
Still looking on any updates here - @Practicalbutterfly5 are you still seeing the problem?
Still looking on any updates here - @Practicalbutterfly5 are you still seeing the problem?
Yes still same problem.
@Practicalbutterfly5 😒, thanks for the update -- keeping this issue open until there's a fix or someone telling us that it can't be, and the reason
Hi! iSH 1.3 is out which might have resolved this problem (this sounds like the same issue described in #1764 and #2018). Could you please give it a try after updating, and let us know in the case you're still running into issues with fish? Thank you!
Tested this for a whole day, with all my fish plugins and customizations. Works perfect 👌 thanks!