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

Blocking signals backtraces #608

Closed
dmilith opened this Issue Mar 4, 2013 · 9 comments

Comments

Projects
None yet
3 participants
@zanchey

This comment has been minimized.

Show comment
Hide comment
@zanchey

zanchey Mar 4, 2013

Member

Could you explain what you were doing when this message appeared?

Member

zanchey commented Mar 4, 2013

Could you explain what you were doing when this message appeared?

@dmilith

This comment has been minimized.

Show comment
Hide comment
@dmilith

dmilith Mar 4, 2013

Just spawned fish, and second fish in the tab next to first one. Zsh 5.0 in background. Spawned from iTerm2.

dmilith commented Mar 4, 2013

Just spawned fish, and second fish in the tab next to first one. Zsh 5.0 in background. Spawned from iTerm2.

@dmilith

This comment has been minimized.

Show comment
Hide comment
@dmilith

dmilith Mar 4, 2013

It's 100% reproductible. I just added "exec fish" at end of ~/.zshrc, and I'm spawning new tab in iterm. After that on previously opened fish console these backtraces happen (every single time)

dmilith commented Mar 4, 2013

It's 100% reproductible. I just added "exec fish" at end of ~/.zshrc, and I'm spawning new tab in iterm. After that on previously opened fish console these backtraces happen (every single time)

@zanchey

This comment has been minimized.

Show comment
Hide comment
@zanchey

zanchey Mar 5, 2013

Member

I do something similar, although not on OS X. Could you confirm the version of the build you are running, how you built it (Xcode or autotools) and what version of OS X you have?

I wonder if your .zshrc, etc. could be poisoning your environment somehow. Are you able to chsh to fish temporarily, exit all fish and fishd processes, and then try again?

Member

zanchey commented Mar 5, 2013

I do something similar, although not on OS X. Could you confirm the version of the build you are running, how you built it (Xcode or autotools) and what version of OS X you have?

I wonder if your .zshrc, etc. could be poisoning your environment somehow. Are you able to chsh to fish temporarily, exit all fish and fishd processes, and then try again?

@ridiculousfish

This comment has been minimized.

Show comment
Hide comment
@ridiculousfish

ridiculousfish Mar 5, 2013

Member

This backtrace is reading universal variables from the daemon. There's a universal variable, and a function that watches it. When we receive the universal variable change, we run the function. That can happen at some pretty arbitrary points, in this case, determining the environment variables.

In other words, fish wants to determine the environment variable array, so it reads the latest update from fishd, which changes a variable, which causes a function to run.

fish 1.x had similar issues.

Member

ridiculousfish commented Mar 5, 2013

This backtrace is reading universal variables from the daemon. There's a universal variable, and a function that watches it. When we receive the universal variable change, we run the function. That can happen at some pretty arbitrary points, in this case, determining the environment variables.

In other words, fish wants to determine the environment variable array, so it reads the latest update from fishd, which changes a variable, which causes a function to run.

fish 1.x had similar issues.

@ridiculousfish

This comment has been minimized.

Show comment
Hide comment
@ridiculousfish

ridiculousfish Mar 5, 2013

Member

@dmilith , can you please share your list of universal variables, that is, the output of set -UL? Feel free to censor anything personal.

Member

ridiculousfish commented Mar 5, 2013

@dmilith , can you please share your list of universal variables, that is, the output of set -UL? Feel free to censor anything personal.

@dmilith

This comment has been minimized.

Show comment
Hide comment
@dmilith

dmilith Mar 10, 2013

⌘ frenziedmon:~ λ ⇒ set -UL
__fish_init_1_22_0
__fish_init_1_50_0
fish_color_autosuggestion '005f5f' '--underline'
fish_color_command 87d787
fish_color_comment 5f5f5f
fish_color_cwd green
fish_color_cwd_root red
fish_color_error 'ff0000' '--bold'
fish_color_escape cyan
fish_color_history_current 00ffff
fish_color_match 00d787
fish_color_normal normal
fish_color_operator cyan
fish_color_param '00afff' 'cyan'
fish_color_quote brown
fish_color_redirection ffff5f
fish_color_search_match '080808' '--background=303030' '--underline'
fish_color_valid_path --underline
fish_greeting ''
fish_key_bindings fish_default_key_bindings
fish_pager_color_completion normal
fish_pager_color_description '555' 'yellow'
fish_pager_color_prefix cyan
fish_pager_color_progress cyan

nothing personal in here

dmilith commented Mar 10, 2013

⌘ frenziedmon:~ λ ⇒ set -UL
__fish_init_1_22_0
__fish_init_1_50_0
fish_color_autosuggestion '005f5f' '--underline'
fish_color_command 87d787
fish_color_comment 5f5f5f
fish_color_cwd green
fish_color_cwd_root red
fish_color_error 'ff0000' '--bold'
fish_color_escape cyan
fish_color_history_current 00ffff
fish_color_match 00d787
fish_color_normal normal
fish_color_operator cyan
fish_color_param '00afff' 'cyan'
fish_color_quote brown
fish_color_redirection ffff5f
fish_color_search_match '080808' '--background=303030' '--underline'
fish_color_valid_path --underline
fish_greeting ''
fish_key_bindings fish_default_key_bindings
fish_pager_color_completion normal
fish_pager_color_description '555' 'yellow'
fish_pager_color_prefix cyan
fish_pager_color_progress cyan

nothing personal in here

@ridiculousfish

This comment has been minimized.

Show comment
Hide comment
@ridiculousfish

ridiculousfish Mar 26, 2013

Member

Thanks. The only --on-variable firing-functions that ship by default are for the fish_color_* guys. I wonder if we should move to a model where events are enqueued, instead of firing immediately

Member

ridiculousfish commented Mar 26, 2013

Thanks. The only --on-variable firing-functions that ship by default are for the fish_color_* guys. I wonder if we should move to a model where events are enqueued, instead of firing immediately

@ridiculousfish

This comment has been minimized.

Show comment
Hide comment
@ridiculousfish

ridiculousfish Apr 4, 2013

Member

I added code that enqueues event handlers if signals are blocked, instead of running them immediately. That should fix this problem.
d9445f0

Thanks for reporting this!

Member

ridiculousfish commented Apr 4, 2013

I added code that enqueues event handlers if signals are blocked, instead of running them immediately. That should fix this problem.
d9445f0

Thanks for reporting this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment