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

No response to RPCServer.State request #2573

Closed
nd opened this issue Jul 6, 2021 · 6 comments
Closed

No response to RPCServer.State request #2573

nd opened this issue Jul 6, 2021 · 6 comments

Comments

@nd
Copy link
Contributor

nd commented Jul 6, 2021

  1. What version of Delve are you using (dlv version)?
Delve Debugger
Version: 1.6.1
Build: 7a3faca71f7e01a97833e11ebf0683543e8159cb
  1. What version of Go are you using? (go version)?

1.14.4

  1. What operating system and processor architecture are you using?

Mac OS X (10.15.7, x86_64)

  1. What did you do?

Debugged the program:

package main

import "fmt"

func main() {
	a := 1
	fmt.Println(a) // breakpoint
}

Delve was launched from IDE with the command:

dlv --listen=0.0.0.0:57555 --headless=true --api-version=2 --check-go-version=false --only-same-user=false exec /path/to/executable --

The executable was compiled with the -gcflags "all=-N -l" option.

  1. What did you expect to see?

Debugger responds to IDE requests.

  1. What did you see instead?

Debugger doesn't respond.

Judging by IDE logs it connected to delve successfully and sent the {"method":"RPCServer.State","params":[{"NonBlocking":true}],"id":1} request, but didn't get any response back.

If delve is launched with --log --log-output lldbout,rpc, it prints only

API server listening at: [::]:55744
2021-07-05T18:48:22+07:00 debug layer=rpc API server pid = 43752

in its own log. Debugserver log doesn't seem to contain any errors.

Reportedly delve does work fine if launched as dlv debug /path/to/main.go.

@aarzilli
Copy link
Member

aarzilli commented Jul 7, 2021

There are a few obvious hypotheses:

  1. it is possible that we have a problem parsing the executable file, a way to check this would be to manually give the dlv exec /path/to/executable. dlv debug /path/to/main.go could be debugging a different program, unless you are sure it isn't.
  2. it is possible that we had problems starting or connecting to debugserver, how was debugserver.log obtained? Passing gdbwire to --log-output would help determining if this is the case.
  3. if neither of the above is happening then the most likely explanation is a problem with the user's computer, such as a firewall preventing communication to delve (application level firewalls were fairly popular among macos users at some point).

@nd
Copy link
Contributor Author

nd commented Jul 14, 2021

Gdbwire log: https://gist.github.com/nd/dce79f0cdafc670cb379c02e7243bb41. Seems like it doesn't contain any problems?

@aarzilli
Copy link
Member

There's nothing wrong there, seems like the most likely explanation is that it is not a problem with delve.

@aarzilli
Copy link
Member

aarzilli commented Sep 7, 2021

Anything new with this?

@nd
Copy link
Contributor Author

nd commented Sep 7, 2021

Sorry, forget to close it. It looks like something called VMware Carbon Black Endpoint was blocking the debugger.

@nd nd closed this as completed Sep 7, 2021
@aarzilli
Copy link
Member

aarzilli commented Sep 7, 2021

VMware Carbon Black Endpoint

Awesome name. Thank you.

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

No branches or pull requests

2 participants