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

selection dialog hangs on FreeBSD wiht go >=1.13 #1226

Closed
aperum opened this issue Dec 11, 2019 · 4 comments · Fixed by #1375
Closed

selection dialog hangs on FreeBSD wiht go >=1.13 #1226

aperum opened this issue Dec 11, 2019 · 4 comments · Fixed by #1375
Labels
bug Defects
Milestone

Comments

@aperum
Copy link
Contributor

aperum commented Dec 11, 2019

Summary

The secret selection screen hangs, cursor movement or cancelation do not work, and has to be killed.

Steps To Reproduce

When opening the selection dialog with gopass searchstring the selection screen is drawn and then hangs and must be killed.

Expected behavior

Entries can be selected from the list or the dialog can be canceled

Environment

OS: FreeBSD 12.1
gopass: 1.8.6
golang: 1.13.5

Compiled from source

Additional context

I did alot of tests and could narrow it down to the following:

Compiling gopass with go 1.12.x results in a working dialog but compiling with go >= 1.13 exhibits the faulty behaviour. The culprit seems to be termbox-go which in turn is used by gocui. It depends heavily on the syscall package which has been deprecated by the go team in favour of x/sys/unix.
It seems to hang in the mainloop when waiting for SIGIO events. As the termbox-go README states the package is now "somewhat unmaintained" so opening a bug report there may not result in a fix. The gocui package also seems to be unmaintained as the last commit is from April, 2018.

I tried a dirty hack by replacing the termbox-go dependency in gocui with github.com/gdamore/tcell/termbox which then also results in a working dialog.

As a side note: The github binary release works. I think it may be build with golang <1.13?

@stale
Copy link

stale bot commented Mar 11, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix label Mar 11, 2020
@aperum
Copy link
Contributor Author

aperum commented Mar 21, 2020

Bump issue as i get more and more reports from people using the FreeBSD port about this

@stale stale bot removed the wontfix label Mar 21, 2020
@carobme
Copy link

carobme commented Mar 23, 2020

Seems to work for me now when building from ports. The port does have a few patches now.

@aperum
Copy link
Contributor Author

aperum commented Mar 24, 2020

Yes, we committed a patch based on my ugly hack described in this ticket. This works for now but also replaces termbox-go with tcell/termbox. Going forward this might not be compatible with future versions, so a fix in the project would be preferable.

@dominikschulz dominikschulz added this to the 1.x.x milestone Apr 25, 2020
dominikschulz added a commit to dominikschulz/gopass that referenced this issue May 18, 2020
Fixes gopasspw#1326
Fixes gopasspw#1226

RELEASE_NOTES=[BUGFIX] Remove curses UI.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
dominikschulz added a commit to dominikschulz/gopass that referenced this issue May 18, 2020
Fixes gopasspw#1326
Fixes gopasspw#1226

RELEASE_NOTES=[BUGFIX] Remove curses UI.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
dominikschulz added a commit that referenced this issue May 18, 2020
Fixes #1326
Fixes #1226

RELEASE_NOTES=[BUGFIX] Remove curses UI.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
kpitt pushed a commit to kpitt/gopass that referenced this issue Jul 21, 2022
Fixes gopasspw#1326
Fixes gopasspw#1226

RELEASE_NOTES=[BUGFIX] Remove curses UI.

Signed-off-by: Dominik Schulz <dominik.schulz@gauner.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Defects
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants