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

gRPC CreateHeaderFields probe fails with permission denied #78

Closed
vreynolds opened this issue Apr 14, 2023 · 2 comments · Fixed by #150
Closed

gRPC CreateHeaderFields probe fails with permission denied #78

vreynolds opened this issue Apr 14, 2023 · 2 comments · Fixed by #150
Labels
bug Something isn't working

Comments

@vreynolds
Copy link

vreynolds commented Apr 14, 2023

Describe the bug

Running a sample gRPC app with go auto-instrumentation causes the app to crashloop, instrumentation fails with a permission error.

Environment

  • OS: osx ventura 13.3.1, k8s 1.25.4
  • Go Version: 1.20
  • Version: 5.15.49-linuxkit

To Reproduce

Steps to reproduce the behavior:

  1. Using the example
  2. Create the deployments in k8s cluster following readme
  3. Notice the server and client pods are crashlooping
  4. Check the logs for an instrumentation pod and observe the logs:
2023-04-14 19:40:06 {"level":"error","ts":1681515606.0069542,"caller":"cli/main.go:88","msg":"error while running instrumentors","error":"field UprobeHttp2ClientCreateHeaderFields: program uprobe_Http2Client_CreateHeaderFields: load program: permission denied: 979: (71) r7 = *(u8 *)(r7 +0): R0=inv(id=51) R1_w=inv(id=0,umax_value=65535,var_off=(0x0; 0xffff)) R2_w=inv(id=0,umax_value=255,var_off=(0x0; 0xff)) R3_w=inv(id=0,umax_value=16777215,var_off=(0x0; 0xffffff)) R4_w=invP3 R5_w=fp-204 R6_w=fp-381 R7_w=map_value(id=0,off=0,ks=4,vs=16,umax_value=15,var_off=(0x0; 0xf)) R8_w=map_value(id=0,off=0,ks=4,vs=16,umax_value=15,var_off=(0x0; 0xf)) R9=inv(id=0,umax_value=1099511627775,var_off=(0x0; 0xffffffffff)) R10=fp0 fp-48=???mmmmm fp-56=mmmmmmmm fp-64=mmmmmmmm fp-72=mmmmmmmm fp-80=mmmmmmmm fp-96=mmmmmmmm fp-104=mmmmmmmm fp- (truncated, 1249 line(s) omitted)","stacktrace":"main.main\n\t/app/cli/main.go:88\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:250"}

Expected behavior

The app runs and is instrumented.

@vreynolds vreynolds added the bug Something isn't working label Apr 14, 2023
@MrAlias
Copy link
Contributor

MrAlias commented Apr 18, 2023

This was not reproducible with the keyval version of this code, so the cause is likely in the diff between this and that project.

@MrAlias
Copy link
Contributor

MrAlias commented Apr 18, 2023

The main diff between this and the keyval code is ARM support. So this might be related to that feature addition. Investigation needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants