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

Nanoserver is missing DLLs required #1263

Closed
johnSchnake opened this issue May 14, 2021 · 0 comments · Fixed by #1265
Closed

Nanoserver is missing DLLs required #1263

johnSchnake opened this issue May 14, 2021 · 0 comments · Fixed by #1265
Assignees
Labels
kind/bug Behavior isn't as expected or intended lifecycle/active Actively being worked on p0-highest

Comments

@johnSchnake
Copy link
Contributor

What steps did you take and what happened:
Set up k8s cluster in azure and ran sonobuoy; ran into

sonobuoy logs
namespace="sonobuoy" pod="sonobuoy" container="kube-sonobuoy"
panic: Failed to load netapi32.dll: The specified module could not be found.

goroutine 1 [running]:
syscall.(*LazyProc).mustFind(...)
	/usr/local/go/src/syscall/dll_windows.go:322
syscall.(*LazyProc).Addr(...)
	/usr/local/go/src/syscall/dll_windows.go:329
syscall.NetGetJoinInformation(0x0, 0xc00011d238, 0xc00011d234, 0x2, 0xc00003a800)
	/usr/local/go/src/syscall/zsyscall_windows.go:1177 +0x105
os/user.isDomainJoined(0xc00011d290, 0xfa272e, 0x0)
	/usr/local/go/src/os/user/lookup_windows.go:18 +0x5a
os/user.lookupFullName(0xc000035220, 0xc, 0xc000035210, 0xd, 0xc00003a800, 0x1a, 0xd, 0xc00003a800, 0x1a, 0x1)
	/usr/local/go/src/os/user/lookup_windows.go:51 +0x2d
os/user.newUser(0xc0000351e0, 0xc, 0xc000035200, 0xc, 0xc00003a7e0, 0x16, 0xc000035210, 0xd, 0xc000035220, 0xc, ...)
	/usr/local/go/src/os/user/lookup_windows.go:181 +0xd4
os/user.current(0x0, 0x0, 0x0)
	/usr/local/go/src/os/user/lookup_windows.go:225 +0x2de
os/user.Current.func1()
	/usr/local/go/src/os/user/lookup.go:15 +0x29
sync.(*Once).doSlow(0x2c548c0, 0x2274318)
	/usr/local/go/src/sync/once.go:68 +0xf7
sync.(*Once).Do(...)
	/usr/local/go/src/sync/once.go:59
os/user.Current(0xc0000351d0, 0x8, 0x21c3b4d)
	/usr/local/go/src/os/user/lookup.go:15 +0x105
k8s.io/klog.init.1()
	/go/pkg/mod/k8s.io/[email protected]/klog_file.go:58 +0x4b

a missing dll and tracked the issue to an upstream one already being discussed: microsoft/Windows-Containers#72

What did you expect to happen:
It to run

Anything else you would like to add:
Experimenting with testing to verify images before pushing them. Seeing if a golang nanoserver image would work or not or if we have to go to servercore (much bigger)

@johnSchnake johnSchnake added kind/bug Behavior isn't as expected or intended p0-highest lifecycle/active Actively being worked on labels May 14, 2021
@johnSchnake johnSchnake self-assigned this May 14, 2021
johnSchnake added a commit that referenced this issue May 18, 2021
This missing dll is required to run may containerized golang apps
since anything checking the current user via the os package
relies on this. It so happens that klog does this and so its common
for some dependency to end up with the issue.

We can continue to shift to klog/v2 which may fix the issue, but
it would could get hit via another import as well.

Fixes #1263

Signed-off-by: John Schnake <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Behavior isn't as expected or intended lifecycle/active Actively being worked on p0-highest
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant