StrangeMann
StrangeMann

Reputation: 251

fork/exec : operation not permitted Ubuntu 20.04

When trying to debug go application I get the following similar error messages.
I initially tried debugging simple golang program with the following vscode launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch Package",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${workspaceFolder}"
        }
    ]
}

What I get is:

could not launch process: fork/exec /tmp/__debug_bin1874603807: operation not permitted

Setting "debugAdapter": "legacy" leads to similar result:

could not launch process: fork/exec /home/user/test/__debug_bin: operation not permitted

Starting dlv from command line has same output:

user@my-machine:~/test$ /home/user/go/bin/dlv debug could not launch process: fork/exec /home/user/test/__debug_bin: operation not permitted

I have tested that running files from /tmp is allowed; I have tried setting kernel.yama.ptrace_scope = 0 in /etc/sysctl.d/10-ptrace.conf because all I can find on this error is related to ptrace (https://github.com/go-delve/delve/issues/515).

Also it is worth mentioning that command works as root:

user@my-machine:~/test$ su root
Password: 
root@my-machine:/home/user/test# export PATH=$PATH:/usr/local/go/bin
root@my-machine:/home/user/test# go version
go version go1.17.6 linux/amd64
root@my-machine:/home/user/test# ../go/bin/dlv debug
Type 'help' for list of commands.
(dlv) quit

Reinstalling dlv with deleting dlv binary and running go install github.com/go-delve/delve/cmd/dlv@latest does not help. I have a fresh Ubuntu Server 20.04 installation.

How to fix debugging?

Upvotes: 2

Views: 4327

Answers (2)

Javier Contreras
Javier Contreras

Reputation: 1123

Docker was installed using Ubuntu preinstall commands. However, docker was not working properly, container couldn't start.

IMPORTANT: I'm using Ubuntu Server

COTAINER LOGS:

exec /portainer: operation not permitted
exec /portainer: operation not permitted
exec /portainer: operation not permitted
exec /portainer: operation not permitted
exec /portainer: operation not permitted
exec /portainer: operation not permitted

The solution was to install docker install command.

# Install Docker
apt install docker.io

Done, problem solved. Now we can run:

# Compose up
docker compose up -d

Upvotes: 0

StrangeMann
StrangeMann

Reputation: 251

I have figured out that setting kernel.yama.ptrace_scope = 0 did not work for some reason, however echo 0 > /proc/sys/kernel/yama/ptrace_scope helped

Upvotes: 3

Related Questions