-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Importing bash history sometimes hangs on globs #7407
Comments
Let me repeat my comment from then: Well, the obvious thing to check here is your config. Do you have anything in config.fish or conf.d that could be doing this? |
|
What about |
|
There are not such files. and /usr/local/etc/fish/config.fish is essentially an empty file. |
all above directories are empty. |
strace shows |
What is it stat-ing? Which paths? |
Also what does |
inside $HOME
a lot of stuff, I put some parts here.
|
Ah, that's the ast stuff. Unfortunately that's super noisy and of little use here, so try |
|
Okay, so that gets to printing the title, which should be right before it draws the prompt. On my system the fish_trace ends with:
In your case the /etc is /usr/local/etc because of different build options, so really the only difference is that my system reads fish_prompt.fish while yours doesn't manage to, so it's possibly going in circles looking for it? Can you run fish -ic 'echo $fish_function_path' ? |
|
Is this only reproduced with WSL2? |
@Ravenclaw-OIer It is not, see the original report at #6730. That was using Ubuntu directly. |
@faho, I have the same issue with fish fresh installed on Ubuntu 20.10. after run
and then the shell is unresponsive. When
|
So my current theory is that Snap is doing something weird with the filesystem that causes fish's autosuggestions to end up in an infinite loop. I'll have to install Ubuntu to check, but this explains why we've only seen it in Ubuntu so far, and why everyone seemed to have snap enabled. @ridiculousfish any other ideas? |
It is enabled by default.
Then After this:
And rebooted of course )) And the result after |
I tried on Ubuntu 20.10 but could not reproduce. @fffed can you share some of Also can you please try getting a C++ backtrace?
and paste the output here or in a gist. Thanks! |
@ridiculousfish , the list of 'stat's is a way to long because of node_modeles, but some of them at the beginning:
And here the gist of |
The stack starts with
This seems to happen when importing a command from Bash's history! @fffed Since your binary is probably stripped of debug information, you could clone the fish repository, build it ( |
Ok, I can already reproduce
That explains all those |
This seems like it may be a bug in More generally it's easy to blow your leg off with |
@fffed can you identify which command in your |
@ridiculousfish, interesting thing: I've commented all lines of my .bashrc and fish started successfully, but then I uncommented all lines and it started as well. Then I purged
And after Or indeed there was something weird in my bash history that was popped out already. |
@fffed this is because the Bash-history-import will only run if the fish history is missing. |
@krobelus , tried with no success - fish is working properly )). |
Hmm that's strange. Maybe a simple
Only |
@ridiculousfish, @krobelus I finally could reproduce the bug - I restored my bash_history from a backup and indeed it had a line |
Awesome! Any idea how |
It is a hole standalone line, my guess - I miss click/enter something while searching via |
In e43913a we stop expanding globs when doing our initial error checking pass, since expanding globs doesn't help there. This also fixes the bash history import. |
same issue with #6730
version 3.1.2
OS: Ubuntu-20.04 WSL2
sh -c 'env HOME=$(mktemp -d) fish' works
The text was updated successfully, but these errors were encountered: