slimtoolkit / slim

Slim(toolkit): Don't change anything in your container image and minify it by up to 30x (and for compiled languages even more) making it secure too! (free and open source)
Apache License 2.0
19.21k stars 716 forks source link

[Macbook Pro] docker-slim build error - /opt/dockerslim/bin/docker-slim-sensor: no such file or directory #459

Open netdip opened 1 year ago

netdip commented 1 year ago

Team, When I am trying to execute build command getting below error time="2023-01-23T14:15:50+05:30" level=fatal msg="docker-slim: failure" error="API error (400): failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: \"/opt/dockerslim/bin/docker-slim-sensor\": stat /opt/dockerslim/bin/docker-slim-sensor: no such file or directory

kcq commented 1 year ago

@netdip are you using the latest released version, 1.40.0? If so, how did you install it? Either way, what kind of Macbook do you have? Is it an amd-based Macbook or one of the newer M1/M2 Macbooks?

LanzaTyler commented 1 year ago

I'm having the same exact issue on my M1 MacBook pro, Monterey. I installed slim via brew. slim version darwin|Transformer|1.40.0|latest|latest

JoshuaJackson-jobvite commented 1 year ago

Fuller stack trace then the above on a m1 mac installed with homebrew as well.

time="2023-02-11T10:39:01-08:00" level=fatal msg="docker-slim: failure" error="API error (400): failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: \"/opt/_slim/bin/slim-sensor\": stat /opt/_slim/bin/slim-sensor: no such file or directory: unknown" stack="
runtime/debug.Stack()
    runtime/debug/stack.go:24 +0x64
github.com/docker-slim/docker-slim/pkg/util/errutil.FailOn({0x1062dac20, 0x140007a60a8})
    github.com/docker-slim/docker-slim/pkg/util/errutil/errutil.go:28 +0x38
github.com/docker-slim/docker-slim/pkg/app.(*ExecutionContext).FailOn(0x140002c0580?, {0x1062dac20?, 0x140007a60a8?})
    github.com/docker-slim/docker-slim/pkg/app/execontext.go:56 +0x44
github.com/docker-slim/docker-slim/pkg/app/master/commands/build.OnCommand(_, _, {_, _}, _, {_, _}, {_, _}, {_, ...}, ...)
    github.com/docker-slim/docker-slim/pkg/app/master/commands/build/handler.go:879 +0x3990
github.com/docker-slim/docker-slim/pkg/app/master/commands/build.glob..func1(0x140005949c0)
    github.com/docker-slim/docker-slim/pkg/app/master/commands/build/cli.go:640 +0x3bf8
github.com/urfave/cli/v2.(*Command).Run(0x1070906c0, 0x140005265c0)
    github.com/urfave/cli/v2@v2.3.0/command.go:163 +0x4fc
github.com/urfave/cli/v2.(*App).RunContext(0x140002fed00, {0x1062f3c70?, 0x1400019e010}, {0x140001a6000, 0x7, 0x7})
    github.com/urfave/cli/v2@v2.3.0/app.go:313 +0x860
github.com/urfave/cli/v2.(*App).Run(...)
    github.com/urfave/cli/v2@v2.3.0/app.go:224
github.com/docker-slim/docker-slim/pkg/app/master.Run()
    github.com/docker-slim/docker-slim/pkg/app/master/app.go:15 +0x4c
main.main()
    github.com/docker-slim/docker-slim/cmd/slim/main.go:15 +0x1c4
" version="darwin|Transformer|1.40.0|latest|latest"

Homebrew does install differently between intel and apple silicon for pathing and it seems to be currently dropping for some reason the mid part of the path (stil investigating that part) but its not a missing file..just invalid path discovery/setting error:

ls /opt/homebrew/Cellar/docker-slim/1.40.0/bin
slim        slim-sensor

based on the missing path/file is that some overly agressive regex is probably trimming and replacing the homebrew/Celler/docker- with the _.

With debug:

time="2023-02-11T10:47:29-08:00" level=debug msg="RunContainer: sensor (/opt/homebrew/bin/slim-sensor) perms => 0755" app=slim command=build component=container.inspector
time="2023-02-11T10:47:29-08:00" level=debug msg="ensureSensorVolume: already have volume = slim-sensor.1.40.0" app=slim command=build component=container.inspector
time="2023-02-11T10:47:29-08:00" level=debug msg="RunContainer: default exposed ports => map[docker.Port]struct {}{\"65501/tcp\":struct {}{}, \"65502/tcp\":struct {}{}}" app=slim command=build component=container.inspector
time="2023-02-11T10:47:29-08:00" level=debug msg="RunContainer: HostConfig.PublishAllPorts => true" app=slim command=build component=container.inspector
cmd=build info=container name='slimk_75459_20230211184729' id='f51163694c11a4751c1bf30e407284d6ea3a8c1e4dc9b0c8cb40d1eb69d29dcd' status='created'
time="2023-02-11T10:47:29-08:00" level=debug msg="version.Check: http status = 200 OK" app=docker-slim
cmd=build info=report file='slim.report.json'

it cetainly finds the bin slim-sensor... and has proper symlink:


 Feb 11 10:21 /opt/homebrew/bin/slim-sensor -> ../Cellar/docker-slim/1.40.0/bin/slim-sensor
JoshuaJackson-jobvite commented 1 year ago

appears to be a invalid arm64 executable at least on my system.

/opt/homebrew/bin/slim-sensor format error: /opt/homebrew/bin/slim-sensor

file /opt/homebrew/bin/slim-sensor /opt/homebrew/bin/slim-sensor: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, Go BuildID=vRfPV-b_oS9Q_RmTAnbW/mQl655YQlFWALTTWvvK7/GwbgdzzXvHVnhwXthpDd/eg6JTE8Etgptl1PUQNDv, stripped

filip-aipl commented 1 year ago

I downgraded to 1.39.1 and it works for now. But there for sure is invalid package at 1.40.0. When downloading .zip there are 3 directories under 1.40

docker-slim-sensor                                                                                                                                                                                
docker-slim                                                                                                                                                                                         
slim-sensor

I tried to replace files under docker-slim-sensor but it didn't work.

For the record, directories in zip under 1.39.1 are:

docker-slim
docker-slim-sensor
TomVS commented 1 year ago

I can confirm I have the same issue trying to run slim profile on M1 Mac Ventura 13.2.1 using brew-installed docker-slim v1.40.0.

kcq commented 1 year ago

I downgraded to 1.39.1 and it works for now. But there for sure is invalid package at 1.40.0. When downloading .zip there are 3 directories under 1.40

docker-slim-sensor                                                                                                                                                                                
docker-slim                                                                                                                                                                                         
slim-sensor

I tried to replace files under docker-slim-sensor but it didn't work.

For the record, directories in zip under 1.39.1 are:

docker-slim
docker-slim-sensor

Those brew 1.40 files don't look right. It should be slim, docker-slim (a symlink to slim) and slim-sensor. Need to review the formula. Thanks for investigating and sharing your findings!

kcq commented 1 year ago

Seems like there's a couple of different problems here... The first one is related to the missing sensor in the temporary container Slim creates. This happens when the sensor volume mounted to the temporary container is empty. The volume is empty if there was an error creating that sensor volume or when the main app couldn't find or access the local sensor binary to copy it to the volume it creates. This has been one of the tricky failures that's hard to repro. Sounds like it might be possible to repro it with brew using the current version of Slim

pkhadka56 commented 1 year ago

same issue here:

curl -sL https://raw.githubusercontent.com/slimtoolkit/slim/master/scripts/install-slim.sh | sudo -E bash -

Slim scripted install
 - Downloading https://downloads.dockerslim.com/releases/1.40.1/dist_mac_m1.zip
 - Unpacking dist_mac_m1.zip
 - Placing slim in /usr/local/bin
 - Cleaning up
 - slim version darwin|Transformer|1.40.1|

and error

 $ slim b docker-image
 ....
error="API error (400): failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: \"/opt/_slim/bin/slim-sensor\": stat /opt/_slim/bin/slim-sensor: no such file or directory: unknown" stack="goroutine 1 [running]:\nruntime/debug.Stack()\n\truntime/debug/stack.go:24 +0x64\ngithub.com/docker-slim/docker-slim/pkg/util/errutil.FailOn({0x10410cd00, 0x14000380390})\n\tgithub.com/docker-slim/docker-slim/pkg/util/errutil/errutil.go:32 +0x38\ngithub.com/docker-slim/docker-slim/pkg/app.(*ExecutionContext).FailOn(0x14000223080?, {0x10410cd00?, 0x14000380390?})\n\tgithub.com/docker-slim/docker-slim/pkg/app/execontext.go:56 +0x44\ngithub.com/docker-slim/docker-slim/pkg/app/master/commands/build.OnCommand(_, _, {_, _}, _, {_, _}, {_, _}, {_, ...}, ...)\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/commands/build/handler.go:968 +0x4178\ngithub.com/docker-slim/docker-slim/pkg/app/master/commands/build.glob..func1(0x14000568a40)\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/commands/build/cli.go:723 +0x4654\ngithub.com/urfave/cli/v2.(*Command).Run(0x104ee19c0, 0x140005425c0)\n\tgithub.com/urfave/cli/v2@v2.3.0/command.go:163 +0x4fc\ngithub.com/urfave/cli/v2.(*App).RunContext(0x14000102680, {0x104125f30?, 0x14000194008}, {0x14000188090, 0x3, 0x3})\n\tgithub.com/urfave/cli/v2@v2.3.0/app.go:313 +0x860\ngithub.com/urfave/cli/v2.(*App).Run(...)\n\tgithub.com/urfave/cli/v2@v2.3.0/app.go:224\ngithub.com/docker-slim/docker-slim/pkg/app/master.Run()\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/app.go:15 +0x4c\nmain.main()\n\tgithub.com/docker-slim/docker-slim/cmd/slim/main.go:15 +0x1c4\n" version="darwin|Transformer|1.40.1|"
muirandy commented 1 year ago

Same for me on an M1 Mac.

If I try to run slim-sensor directly, I get:

zsh: exec format error: slim-sensor

When I run which slim, I get:

/opt/homebrew/bin/slim: Mach-O 64-bit executable arm64

When I run which slim-sensor, I get:

/opt/homebrew/bin/slim-sensor: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, Go BuildID=JEy0mObtYtgV6Z5w3sGr/XfnvZyHfGEDpirD6J7A5/xK6xJkcWCqmAJ-5P9gfD/QdhctUjelCjKrJ-YG8S_, stripped

is it fair to assume the brew has installed the wrong executable?

muirandy commented 1 year ago

I removed the brew installation, then tries installing manually - same issue.

Installing 1.39.1 manually works.

pkhadka56 commented 1 year ago

@muirandy Even if you download the binary you will still get the same issue zsh: exec format error: slim-sensor

sdhou commented 1 year ago

I had the same problem mac pro m1

kcq commented 1 year ago

Turns out the main problem was caused by the symlink homebrew creates to the standard bin location. That caused a failure creating the sensor volume. This problem has been fixed in master. Hopefully once the next release is out and the homebrew formula is updated (to pick up the latest release) this will go away.

Kurt-Shiwz commented 1 year ago

same problem. slim version darwin|Transformer|1.40.2|latest|latest. macOS 13.4.1 m1

kcq commented 1 year ago

@Kurt-Shiwz can you do which slim-sensor and then ls -lh THE_PATH_FROM_PREVIOUS_COMMAND?

Kurt-Shiwz commented 1 year ago

@Kurt-Shiwz can you do which slim-sensor and then ls -lh THE_PATH_FROM_PREVIOUS_COMMAND?

/opt/homebrew/bin/slim-sensor

$ ls -lh /opt/homebrew/bin/slim-sensor
lrwxr-xr-x@ 1 shiweize  admin    44B Jul  5 17:44 /opt/homebrew/bin/slim-sensor -> ../Cellar/docker-slim/1.40.2/bin/slim-sensor
kcq commented 1 year ago

The 1.40.3 release includes the fix for the brew installed slim on the amd and M1 macs. Manually verified it on my own macs. Please let me know if you still have any problems there.

sdhou commented 1 year ago

Confirmation of fix

kcq commented 1 year ago

I'll close this issue in a few days unless we have new failure reports. Thanks everyone for your reports! Thanks to you slim is better.

kubijo commented 11 months ago

I have just tried a brew package on Ubuntu, and it has the aforementioned issue, so I've removed it and tried the binary download method, but the result is the same.

$ slim --version
slim version linux|Transformer|1.40.4|d310b07567dc90763f5f27f94c618f057295b55d|2023-08-26_01:39:22AM

$ which slim-sensor
/home/pepa/.bin/slim-sensor

$ ls -lh /home/pepa/.bin/slim-sensor
Permissions Size User Date Modified Name
.rwxr-xr-x  6,0M pepa 26 srp 03:41   /home/pepa/.bin/slim-sensor
$ slim build --pull xxx/yyy/zzz:3f6f8c31
cmd=build info=param.http.probe message='using default probe' 
cmd=build state=started
cmd=build info=params target.type='image' target='xxx/yyy/zzz:3f6f8c31' continue.mode='probe' rt.as.user='true' keep.perms='true' tags='' 
cmd=build state=image.inspection.start
cmd=build info=image id='sha256:891b42dadc39b24f1bf9ecfbd72808692a5291cf488326659d4b8723182bf9a7' size.bytes='2562266731' size.human='2.6 GB' 
cmd=build info=image.users exe='admin' all='admin,admin' 
cmd=build info=image.stack index='0' name='xxx/yyy/zzz:3f6f8c31' id='sha256:891b42dadc39b24f1bf9ecfbd72808692a5291cf488326659d4b8723182bf9a7' 
cmd=build state=image.inspection.done
cmd=build state=container.inspection.start
cmd=build info=container id='52055ce1c020c5abb567f56500b6f1dabfc2b42026c22bea277fb4fb13964b45' status='created' name='slimk_40716_20230926093938' 
cmd=build info=container status='crashed' id='52055ce1c020c5abb567f56500b6f1dabfc2b42026c22bea277fb4fb13964b45' 
slim: container stdout:
slim: container stderr:
exec /opt/_slim/bin/slim-sensor: no such file or directory
slim: end of container logs =============
cmd=build state=exited code=-123 version=linux|Transformer|1.40.4|d310b07567dc90763f5f27f94c618f057295b55d|2023-08-26_01:39:22AM 
time="2023-09-26T11:39:39+02:00" level=fatal msg="slim: failure" error="slim: error => missing comms ports" stack="goroutine 1 [running]:\nruntime/debug.Stack()\n\truntime/debug/stack.go:24 +0x65\ngithub.com/docker-slim/docker-slim/pkg/util/errutil.FailWhen(0xf9?, {0x1f97dcf, 0x22})\n\tgithub.com/docker-slim/docker-slim/pkg/util/errutil/errutil.go:56 +0x4e\ngithub.com/docker-slim/docker-slim/pkg/app/master/inspectors/container.(*Inspector).RunContainer(0xc0001f6b00)\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/inspectors/container/container_inspector.go:740 +0x2917\ngithub.com/docker-slim/docker-slim/pkg/app/master/commands/build.OnCommand(_, _, {_, _}, _, {_, _}, {_, _}, {0x0, ...}, ...)\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/commands/build/handler.go:1116 +0x42f2\ngithub.com/docker-slim/docker-slim/pkg/app/master/commands/build.glob..func1(0xc0001aee00)\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/commands/build/cli.go:743 +0x5910\ngithub.com/urfave/cli/v2.(*Command).Run(0x327cee0, 0xc000120600)\n\tgithub.com/urfave/cli/v2@v2.3.0/command.go:163 +0x5dc\ngithub.com/urfave/cli/v2.(*App).RunContext(0xc000581ba0, {0x22d13f0?, 0xc0000561d0}, {0xc000050080, 0x4, 0x4})\n\tgithub.com/urfave/cli/v2@v2.3.0/app.go:313 +0xb7d\ngithub.com/urfave/cli/v2.(*App).Run(...)\n\tgithub.com/urfave/cli/v2@v2.3.0/app.go:224\ngithub.com/docker-slim/docker-slim/pkg/app/master.Run()\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/app.go:15 +0x46\nmain.main()\n\tgithub.com/docker-slim/docker-slim/cmd/slim/main.go:15 +0x18e\n" version="linux|Transformer|1.40.4|d310b07567dc90763f5f27f94c618f057295b55d|2023-08-26_01:39:22AM"
casperfrx commented 10 months ago

Running into the same issue as Kubijo on Ubuntu 22.04.3 using the Brew installation.

$ slim build localimage:latest
cmd=build info=param.http.probe message='using default probe' 
cmd=build state=started
cmd=build info=params tags='' target.type='image' target='localimage:latest' continue.mode='probe' rt.as.user='true' keep.perms='true' 
cmd=build state=image.inspection.start
cmd=build info=image id='sha256:98127b80b5aa8b679cfa203b661b9f88d5c5a99db8d2c3861e6da03ecbb01db3' size.bytes='19047715432' size.human='19 GB' 
cmd=build info=image.stack index='0' name='localimage:latest' id='sha256:98127b80b5aa8b679cfa203b661b9f88d5c5a99db8d2c3861e6da03ecbb01db3' 
cmd=build info=image.exposed_ports list='7860/tcp,5000/tcp,5005/tcp' 
cmd=build state=image.inspection.done
cmd=build state=container.inspection.start
cmd=build info=container status='created' name='slimk_3693744_20231019161717' id='7ebdbad328a948b8be9f8e801f9262fb28d05e9c15fba540c7718ab5c9ab8cca' 
cmd=build info=container status='crashed' id='7ebdbad328a948b8be9f8e801f9262fb28d05e9c15fba540c7718ab5c9ab8cca' 
slim: container stdout:
slim: container stderr:
exec /opt/_slim/bin/slim-sensor: no such file or directory
slim: end of container logs =============
cmd=build state=exited code=-123 version=linux|Transformer|1.40.4|latest|latest 
time="2023-10-19T16:17:18Z" level=fatal msg="slim: failure" error="slim: error => missing comms ports" stack="goroutine 1 [running]:\nruntime/debug.Stack()\n\truntime/debug/stack.go:24 +0x5e\ngithub.com/docker-slim/docker-slim/pkg/util/errutil.FailWhen(0x59?, {0x2b60d86, 0x22})\n\tgithub.com/docker-slim/docker-slim/pkg/util/errutil/errutil.go:56 +0x45\ngithub.com/docker-slim/docker-slim/pkg/app/master/inspectors/container.(*Inspector).RunContainer(0xc0005b2580)\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/inspectors/container/container_inspector.go:740 +0x28f7\ngithub.com/docker-slim/docker-slim/pkg/app/master/commands/build.OnCommand(_, _, {_, _}, _, {_, _}, {_, _}, {0x0, ...}, ...)\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/commands/build/handler.go:1116 +0x4392\ngithub.com/docker-slim/docker-slim/pkg/app/master/commands/build.glob..func1(0xc000448c00)\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/commands/build/cli.go:743 +0x5d70\ngithub.com/urfave/cli/v2.(*Command).Run(0x3e3f3a0, 0xc000140cc0)\n\tgithub.com/urfave/cli/v2@v2.3.0/command.go:163 +0x583\ngithub.com/urfave/cli/v2.(*App).RunContext(0xc0005a2b60, {0x2e98878?, 0x3ff5760}, {0xc0000521b0, 0x3, 0x3})\n\tgithub.com/urfave/cli/v2@v2.3.0/app.go:313 +0xaa5\ngithub.com/urfave/cli/v2.(*App).Run(...)\n\tgithub.com/urfave/cli/v2@v2.3.0/app.go:224\ngithub.com/docker-slim/docker-slim/pkg/app/master.Run()\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/app.go:15 +0x45\nmain.main()\n\tgithub.com/docker-slim/docker-slim/cmd/slim/main.go:15 +0x187\n" version="linux|Transformer|1.40.4|latest|latest"
sharemen commented 9 months ago

Running into the same issue as Kubijo on Ubuntu 22.04.3 using the Brew installation.

$ slim build localimage:latest
cmd=build info=param.http.probe message='using default probe' 
cmd=build state=started
cmd=build info=params tags='' target.type='image' target='localimage:latest' continue.mode='probe' rt.as.user='true' keep.perms='true' 
cmd=build state=image.inspection.start
cmd=build info=image id='sha256:98127b80b5aa8b679cfa203b661b9f88d5c5a99db8d2c3861e6da03ecbb01db3' size.bytes='19047715432' size.human='19 GB' 
cmd=build info=image.stack index='0' name='localimage:latest' id='sha256:98127b80b5aa8b679cfa203b661b9f88d5c5a99db8d2c3861e6da03ecbb01db3' 
cmd=build info=image.exposed_ports list='7860/tcp,5000/tcp,5005/tcp' 
cmd=build state=image.inspection.done
cmd=build state=container.inspection.start
cmd=build info=container status='created' name='slimk_3693744_20231019161717' id='7ebdbad328a948b8be9f8e801f9262fb28d05e9c15fba540c7718ab5c9ab8cca' 
cmd=build info=container status='crashed' id='7ebdbad328a948b8be9f8e801f9262fb28d05e9c15fba540c7718ab5c9ab8cca' 
slim: container stdout:
slim: container stderr:
exec /opt/_slim/bin/slim-sensor: no such file or directory
slim: end of container logs =============
cmd=build state=exited code=-123 version=linux|Transformer|1.40.4|latest|latest 
time="2023-10-19T16:17:18Z" level=fatal msg="slim: failure" error="slim: error => missing comms ports" stack="goroutine 1 [running]:\nruntime/debug.Stack()\n\truntime/debug/stack.go:24 +0x5e\ngithub.com/docker-slim/docker-slim/pkg/util/errutil.FailWhen(0x59?, {0x2b60d86, 0x22})\n\tgithub.com/docker-slim/docker-slim/pkg/util/errutil/errutil.go:56 +0x45\ngithub.com/docker-slim/docker-slim/pkg/app/master/inspectors/container.(*Inspector).RunContainer(0xc0005b2580)\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/inspectors/container/container_inspector.go:740 +0x28f7\ngithub.com/docker-slim/docker-slim/pkg/app/master/commands/build.OnCommand(_, _, {_, _}, _, {_, _}, {_, _}, {0x0, ...}, ...)\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/commands/build/handler.go:1116 +0x4392\ngithub.com/docker-slim/docker-slim/pkg/app/master/commands/build.glob..func1(0xc000448c00)\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/commands/build/cli.go:743 +0x5d70\ngithub.com/urfave/cli/v2.(*Command).Run(0x3e3f3a0, 0xc000140cc0)\n\tgithub.com/urfave/cli/v2@v2.3.0/command.go:163 +0x583\ngithub.com/urfave/cli/v2.(*App).RunContext(0xc0005a2b60, {0x2e98878?, 0x3ff5760}, {0xc0000521b0, 0x3, 0x3})\n\tgithub.com/urfave/cli/v2@v2.3.0/app.go:313 +0xaa5\ngithub.com/urfave/cli/v2.(*App).Run(...)\n\tgithub.com/urfave/cli/v2@v2.3.0/app.go:224\ngithub.com/docker-slim/docker-slim/pkg/app/master.Run()\n\tgithub.com/docker-slim/docker-slim/pkg/app/master/app.go:15 +0x45\nmain.main()\n\tgithub.com/docker-slim/docker-slim/cmd/slim/main.go:15 +0x187\n" version="linux|Transformer|1.40.4|latest|latest"

Try install slim with download binarys , do not installed slim by "Scripted Install" way I have same problem , it worked after i reinstall slim with download binarys

kcq commented 9 months ago

I noticed you are using 1.40.4, which is not the latest version. The current version is 1.40.7. Give it a try.

Quick summary of the (original) problem:

Due to symlinking used by Brew copying the slim-sensor binary to a temporary volume, which is then used to mount the sensor into the container Slim creates, did not work as expected (the symlink got copied, but not the actual sensor binary).

The latest version of Slim detects the symlink and ensures that the actual binary is copied. You can verify it manually by looking at the slim-sensor Docker volume (do docker volume ls to get the exact name and the use docker run to mount the volume and check what's in it).

FYI, I'll add a helper command to the CLI to easily list and explore local Docker volumes to help debug problems like this.

Wolfsrudel commented 8 months ago

The installation routine doesn't matter, it doesn't work with any, for Ubuntu 22.04 from WSL2.

kcq commented 8 months ago

Brew on Ubuntu hasn't been tested yet, but now it will be :-) There'll be a delay because the brew formula is community maintained. First though, need to repro it.

WSL2 unfortunately hasn't been tested (no hardware to test, but it'll be good to explore virtual options at some point) and it's not clear if Slim would work there. Not sure about any WSL2 related gotchas.

remkolems commented 7 months ago

Unfortunately, I ran into this issue as well on Ubuntu 22.04.3 LTS (GNU/Linux 6.5.0-15-generic x86_64) with all type of installs: brew install, curl install and scripted install.

Docker version

Client: Docker Engine - Community
 Version:           25.0.2
 API version:       1.44
 Go version:        go1.21.6
 Git commit:        29cf629
 Built:             Thu Feb  1 00:22:57 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          25.0.2
  API version:      1.44 (minimum version 1.24)
  Go version:       go1.21.6
  Git commit:       fce6e0c
  Built:            Thu Feb  1 00:22:57 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.28
  GitCommit:        ae07eda36dd25f8a1b98dfbf587313b99c0190bb
 runc:
  Version:          1.1.12
  GitCommit:        v1.1.12-0-g51d5e94
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Error:

cmd=build info=container status='created' name='slimk_2049679_20240203130326' id='15a356e41284ff64e6a2636558f92668aa65f3c40b14bbb10a54161bcadf83e5' 
cmd=build info=container status='crashed' id='15a356e41284ff64e6a2636558f92668aa65f3c40b14bbb10a54161bcadf83e5' 
slim: container stdout:
slim: container stderr:
exec /opt/_slim/bin/slim-sensor: no such file or directory
slim: end of container logs =============
cmd=build state=exited code=-123 version=linux/amd64|Transformer|1.40.11|1b271555882eacdfb4e6598d6d0552e9b9b1449b|2024-02-02_01:36:22PM 
slim: container stdout:
slim: container stderr:
exec /opt/_slim/bin/slim-sensor: no such file or directory
slim: end of container logs =============
cmd=build info=report file='slim.report.json' 
cmd=build info=exit code='-123' version='linux/amd64|Transformer|1.40.11|1b271555882eacdfb4e6598d6d0552e9b9b1449b|2024-02-02_01:36:22PM' location='/usr/local/bin' 
kcq commented 7 months ago

This error is misleading unfortunately... It's a "late" failure that's not directly related to the actual problem. The main problem is not having the sensor app where it needs to be locally.

The upcoming 1.40.12 will focus on making this problem less messy. Stay tuned :) Thank you for sharing your report!

btalberg commented 6 months ago

I encountered this issue as well. Until 1.40.12 is released, any suggestions to work around the problem?