Skip to content
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

Freezes julia session under a variety of circumstances #40

Closed
omalled opened this issue Oct 15, 2018 · 5 comments · Fixed by JuliaLang/julia#30112
Closed

Freezes julia session under a variety of circumstances #40

omalled opened this issue Oct 15, 2018 · 5 comments · Fixed by JuliaLang/julia#30112

Comments

@omalled
Copy link

omalled commented Oct 15, 2018

I have had some problems with TerminalExtensions freezing my julia session so that I can't type anything and things like Ctrl-C have no effect. It seems to occur in a variety of situations. I am using TerminalExtensions 0.4.0, iTerm2 3.2.3 and have reproduced it with julia 0.7.0 and 1.0.1. Here is a simple example that reproduces it on my machine from the start of a fresh julia session:

  1. type using TerminalExtensions and hit return
  2. type a
  3. hit the backspace key twice
  4. type a
  5. hit the backspace key
  6. now the julia session is frozen

I have also run into similar freezes when using tab completion, but haven't been able to come up with a reproducible example of this. Maybe the issues are related?

@montyvesselinov
Copy link

montyvesselinov commented Oct 27, 2018

@Keno Any solutions about this issue.

@Keno
Copy link
Owner

Keno commented Nov 21, 2018

I've seen this too. I think it's an ITerm issue. Let me investigate.

Keno added a commit to JuliaLang/julia that referenced this issue Nov 21, 2018
The REPL beeping (blinking) code made the assumption that the prompt
prefix is always a String. That's not necessarily the case, and in
fact it can be an arbitrary funcion to be called when the prompt is
printed (e.g. TerminalExtensions uses this for the iTerm integration).
However, even worse, this code acquired a lock that it never released
on error, causing a deadlock. Fix the original assumption and also
add a try/catch/finally block such that future errors print the error
rather than deadlocking the terminal.

Fixes Keno/TerminalExtensions.jl#40
@montyvesselinov
Copy link

montyvesselinov commented Nov 21, 2018 via email

@Keno
Copy link
Owner

Keno commented Nov 21, 2018

Turned out to be a Julia issue. See linked PR.

@montyvesselinov
Copy link

montyvesselinov commented Nov 21, 2018 via email

Keno added a commit to JuliaLang/julia that referenced this issue Nov 22, 2018
The REPL beeping (blinking) code made the assumption that the prompt
prefix is always a String. That's not necessarily the case, and in
fact it can be an arbitrary funcion to be called when the prompt is
printed (e.g. TerminalExtensions uses this for the iTerm integration).
However, even worse, this code acquired a lock that it never released
on error, causing a deadlock. Fix the original assumption and also
add a try/catch/finally block such that future errors print the error
rather than deadlocking the terminal.

Fixes Keno/TerminalExtensions.jl#40
KristofferC pushed a commit to JuliaLang/julia that referenced this issue Nov 28, 2018
The REPL beeping (blinking) code made the assumption that the prompt
prefix is always a String. That's not necessarily the case, and in
fact it can be an arbitrary funcion to be called when the prompt is
printed (e.g. TerminalExtensions uses this for the iTerm integration).
However, even worse, this code acquired a lock that it never released
on error, causing a deadlock. Fix the original assumption and also
add a try/catch/finally block such that future errors print the error
rather than deadlocking the terminal.

Fixes Keno/TerminalExtensions.jl#40

(cherry picked from commit 038d866)
KristofferC pushed a commit to JuliaLang/julia that referenced this issue Dec 12, 2018
The REPL beeping (blinking) code made the assumption that the prompt
prefix is always a String. That's not necessarily the case, and in
fact it can be an arbitrary funcion to be called when the prompt is
printed (e.g. TerminalExtensions uses this for the iTerm integration).
However, even worse, this code acquired a lock that it never released
on error, causing a deadlock. Fix the original assumption and also
add a try/catch/finally block such that future errors print the error
rather than deadlocking the terminal.

Fixes Keno/TerminalExtensions.jl#40

(cherry picked from commit 038d866)
KristofferC pushed a commit to JuliaLang/julia that referenced this issue Feb 11, 2019
The REPL beeping (blinking) code made the assumption that the prompt
prefix is always a String. That's not necessarily the case, and in
fact it can be an arbitrary funcion to be called when the prompt is
printed (e.g. TerminalExtensions uses this for the iTerm integration).
However, even worse, this code acquired a lock that it never released
on error, causing a deadlock. Fix the original assumption and also
add a try/catch/finally block such that future errors print the error
rather than deadlocking the terminal.

Fixes Keno/TerminalExtensions.jl#40

(cherry picked from commit 038d866)
KristofferC pushed a commit to JuliaLang/julia that referenced this issue Feb 20, 2020
The REPL beeping (blinking) code made the assumption that the prompt
prefix is always a String. That's not necessarily the case, and in
fact it can be an arbitrary funcion to be called when the prompt is
printed (e.g. TerminalExtensions uses this for the iTerm integration).
However, even worse, this code acquired a lock that it never released
on error, causing a deadlock. Fix the original assumption and also
add a try/catch/finally block such that future errors print the error
rather than deadlocking the terminal.

Fixes Keno/TerminalExtensions.jl#40

(cherry picked from commit 038d866)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants