ish icon indicating copy to clipboard operation
ish copied to clipboard

Upgraded ISH using apk update / apk upgrade now FiSH no longer works

Open StewAlexander-com opened this issue 5 years ago • 22 comments

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

StewAlexander-com avatar Feb 12 '21 15:02 StewAlexander-com

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

404oops avatar Feb 12 '21 19:02 404oops

I'm getting a lot of "not found" errors by copying and pasting your answer into ish

StewAlexander-com avatar Feb 12 '21 21:02 StewAlexander-com

Maybe I'm missing keys or something?

StewAlexander-com avatar Feb 12 '21 21:02 StewAlexander-com

It's splitting your response by return character, hmm I'll need to take out the new lines

StewAlexander-com avatar Feb 12 '21 21:02 StewAlexander-com

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.

tbodt avatar Feb 12 '21 22:02 tbodt

I have a workaround. Downgrade imageto 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 avatar Feb 13 '21 00:02 62f

@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?

StewAlexander-com avatar Feb 15 '21 22:02 StewAlexander-com

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.

62f avatar Feb 16 '21 14:02 62f

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>

62f avatar Feb 16 '21 15:02 62f

iSH (1.1.2 build 100) & fresh fish:

still flaky & fried!

62f avatar Feb 17 '21 16:02 62f

Bootingfish as iSH v101(1.1.2)'s default shell visually registers input yet output-wise remains catatonic.

Oddly enough, fish still responds to the TAB key to produce the predictive list of commands

62f avatar Feb 18 '21 21:02 62f

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.

62f avatar Feb 19 '21 05:02 62f

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 avatar Mar 03 '21 19:03 josteink

@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.

62f avatar Mar 05 '21 00:03 62f

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. :(

kgsbowtie avatar Aug 06 '21 21:08 kgsbowtie

iSH v1.2.2 (Build 178) and fish v3.1.2. From my testing here’s what else I can determine about this issue:

  1. This error requires a command be run inside fish. Spamming the Return key without running a command prior never causes fish to die/freeze up. Additionally, fish doesn’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 the fish shell.
  2. This error seems to require multi-line output from fish to 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 with ls—it seems like that can help cause fish to 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.
  3. 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 ash vs fish. The prompt in fish noticeably takes time to appear while the ash prompt 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 in sh, bash, zsh, dash, csh or tcsh. It’s exclusive to fish.

kgsbowtie avatar Aug 14 '21 05:08 kgsbowtie

@kgsbowtie

Sounds like #1273. Unfortunately I don't know of any way to fix it.
__Originally posted by @tbodt in https://github.com/ish-app/ish/issues/1287#issuecomment-779505938__

62f avatar Aug 20 '21 15:08 62f

Any progress, how can I help?

StewAlexander-com avatar Nov 09 '21 13:11 StewAlexander-com

This problem still exists, any progress?

Practicalbutterfly5 avatar Jan 16 '22 05:01 Practicalbutterfly5

Still looking on any updates here - @Practicalbutterfly5 are you still seeing the problem?

StewAlexander-com avatar Jul 18 '22 13:07 StewAlexander-com

Still looking on any updates here - @Practicalbutterfly5 are you still seeing the problem?

Yes still same problem.

Practicalbutterfly5 avatar Jul 18 '22 19:07 Practicalbutterfly5

@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

StewAlexander-com avatar Jul 19 '22 19:07 StewAlexander-com

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!

Mnpn avatar Apr 25 '23 23:04 Mnpn

Tested this for a whole day, with all my fish plugins and customizations. Works perfect 👌 thanks!

alin23 avatar Apr 26 '23 11:04 alin23