[Bug 3511] New: KbdInteractiveAuthentication and Golang goroutines scheduler

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Tue Dec 20 20:41:36 AEDT 2022


            Bug ID: 3511
           Summary: KbdInteractiveAuthentication and Golang goroutines
           Product: Portable OpenSSH
           Version: 9.1p1
          Hardware: amd64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P5
         Component: PAM support
          Assignee: unassigned-bugs at mindrot.org
          Reporter: krasnovu at gmail.com

Hi! I don't know how to solve my problem and I don't know where the
problem is, in OpenSSH or Golang runtime.

I am writing a multi-factor PAM module in Golang. The module asks
questions to the user and waits for answers from him. So to make the
dialog work, I switch `KbdInteractiveAuthentication yes`. Everything
works, but as soon as the golang goroutine is launched, the module
freezes (stuck, hang). Hangs up so that no code in the module is
running anymore. The description for `KbdInteractiveAuthentication`
says `Change to yes to enable challenge-response passwords (beware
issues with some PAM modules and threads)`. Can you describe how this
option works, why does it break the golang goroutines scheduler?

If this is a known issue and a problem in golang, then I will open a
new issue on github, since mine
(https://github.com/golang/go/issues/57394) was closed due to the fact
that I could not explain the cause of the problem.

If this is an OpenSSH issue, then I can provide the necessary logs and
a minimal project to reproduce the issue.

ps. Unfortunately, even if I write in one thread, the http package in
golang itself launches goroutines and the module freezes.

pss. I've tried rebuilding the OpenSSH server with the
UNSUPPORTED_POSIX_THREADS_HACK declaration and then everything works as
it should, but I can't ask all users to rebuild the OpenSSH server. And
the description says there is no support for enabling this.

Thank you for your attention!

You are receiving this mail because:
You are watching the assignee of the bug.

More information about the openssh-bugs mailing list