Working on update of rubygem-puma, I observe following test failure trying build rubygem-rails in Mock:
~~~
/usr/share/ruby/socket.rb:68:in `connect': Errno::EACCES: Permission denied - connect(2) for /run/host/notify (Puma::SdNotify::NotifyError) from /usr/share/ruby/socket.rb:68:in `connect_internal' from /usr/share/ruby/socket.rb:141:in `connect' from /usr/share/gems/gems/puma-6.4.2/lib/puma/sd_notify.rb:140:in `notify' from /usr/share/gems/gems/puma-6.4.2/lib/puma/sd_notify.rb:53:in `ready' from /usr/share/gems/gems/puma-6.4.2/lib/puma/plugin/systemd.rb:17:in `block in start' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:17:in `block in fire' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:17:in `each' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:17:in `fire' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:46:in `fire_on_booted!' from /usr/share/gems/gems/puma-6.4.2/lib/puma/single.rb:58:in `run' from /usr/share/gems/gems/puma-6.4.2/lib/puma/launcher.rb:194:in `run' from /usr/share/gems/gems/puma-6.4.2/lib/rack/handler/puma.rb:76:in `run' from /usr/share/gems/gems/rack-2.2.4/lib/rack/server.rb:327:in `start' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands/server/server_command.rb:38:in `start' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands/server/server_command.rb:143:in `block in perform' from internal:kernel:90:in `tap' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands/server/server_command.rb:134:in `perform' from /usr/share/gems/gems/thor-1.2.1/lib/thor/command.rb:27:in `run' from /usr/share/gems/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command' from /usr/share/gems/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/command/base.rb:87:in `perform' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/command.rb:48:in `invoke' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands.rb:18:in `<top (required)>' from /usr/share/ruby/bundled_gems.rb:74:in `require' from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require' from bin/rails:4:in `<main>' /usr/share/ruby/socket.rb:68:in `connect': Permission denied - connect(2) for /run/host/notify (Errno::EACCES) from /usr/share/ruby/socket.rb:68:in `connect_internal' from /usr/share/ruby/socket.rb:141:in `connect' from /usr/share/gems/gems/puma-6.4.2/lib/puma/sd_notify.rb:140:in `notify' from /usr/share/gems/gems/puma-6.4.2/lib/puma/sd_notify.rb:53:in `ready' from /usr/share/gems/gems/puma-6.4.2/lib/puma/plugin/systemd.rb:17:in `block in start' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:17:in `block in fire' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:17:in `each' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:17:in `fire' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:46:in `fire_on_booted!' from /usr/share/gems/gems/puma-6.4.2/lib/puma/single.rb:58:in `run' from /usr/share/gems/gems/puma-6.4.2/lib/puma/launcher.rb:194:in `run' from /usr/share/gems/gems/puma-6.4.2/lib/rack/handler/puma.rb:76:in `run' from /usr/share/gems/gems/rack-2.2.4/lib/rack/server.rb:327:in `start' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands/server/server_command.rb:38:in `start' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands/server/server_command.rb:143:in `block in perform' from internal:kernel:90:in `tap' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands/server/server_command.rb:134:in `perform' from /usr/share/gems/gems/thor-1.2.1/lib/thor/command.rb:27:in `run' from /usr/share/gems/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command' from /usr/share/gems/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/command/base.rb:87:in `perform' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/command.rb:48:in `invoke' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands.rb:18:in `<top (required)>' from /usr/share/ruby/bundled_gems.rb:74:in `require' from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require' from bin/rails:4:in `<main>' .
~~~
The full log is available here for the moment:
https://copr.fedorainfracloud.org/coprs/vondruch/mpb/build/6885294/
This is the sd_notify source code:
https://github.com/agis/ruby-sdnotify/blob/master/lib/sd_notify.rb
Nothing spectacular is going on there except it tries to write into socket if the `$NOTIFY_SOCKET` env variable is set. I believe that if I did `env -u NOTIFY_SOCKET`, I would get further.
However, I wonder how and why the NOTIFY_SOCKET variable is set? I also wonder why the socket exists if it can't be used? Or would it be usable by `root` so the permissions should be checked first?
~~~
$ mock -r ruby shell --unpriv
... snip ...
<mock-chroot> sh-5.2$ echo $NOTIFY_SOCKET /run/host/notify <mock-chroot> sh-5.2$ ll /run/host/notify srwxr-xr-x. 1 root root 0 Jan 11 14:35 /run/host/notify
~~~
It does not seems to be right, but I have no idea where to report this. Is this issue in sd_notify, Mock or is it systemd?
Interestingly enough, I don't have this env variable set on my computer.
Vít
Ping? Anybody?
Vít
Dne 11. 01. 24 v 15:00 Vít Ondruch napsal(a):
Working on update of rubygem-puma, I observe following test failure trying build rubygem-rails in Mock:
/usr/share/ruby/socket.rb:68:in `connect': Errno::EACCES: Permission denied - connect(2) for /run/host/notify (Puma::SdNotify::NotifyError) from /usr/share/ruby/socket.rb:68:in `connect_internal' from /usr/share/ruby/socket.rb:141:in `connect' from /usr/share/gems/gems/puma-6.4.2/lib/puma/sd_notify.rb:140:in `notify' from /usr/share/gems/gems/puma-6.4.2/lib/puma/sd_notify.rb:53:in `ready' from /usr/share/gems/gems/puma-6.4.2/lib/puma/plugin/systemd.rb:17:in `block in start' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:17:in `block in fire' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:17:in `each' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:17:in `fire' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:46:in `fire_on_booted!' from /usr/share/gems/gems/puma-6.4.2/lib/puma/single.rb:58:in `run' from /usr/share/gems/gems/puma-6.4.2/lib/puma/launcher.rb:194:in `run' from /usr/share/gems/gems/puma-6.4.2/lib/rack/handler/puma.rb:76:in `run' from /usr/share/gems/gems/rack-2.2.4/lib/rack/server.rb:327:in `start' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands/server/server_command.rb:38:in `start' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands/server/server_command.rb:143:in `block in perform' from <internal:kernel>:90:in `tap' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands/server/server_command.rb:134:in `perform' from /usr/share/gems/gems/thor-1.2.1/lib/thor/command.rb:27:in `run' from /usr/share/gems/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command' from /usr/share/gems/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/command/base.rb:87:in `perform' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/command.rb:48:in `invoke' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands.rb:18:in `<top (required)>' from /usr/share/ruby/bundled_gems.rb:74:in `require' from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require' from bin/rails:4:in `<main>' /usr/share/ruby/socket.rb:68:in `connect': Permission denied - connect(2) for /run/host/notify (Errno::EACCES) from /usr/share/ruby/socket.rb:68:in `connect_internal' from /usr/share/ruby/socket.rb:141:in `connect' from /usr/share/gems/gems/puma-6.4.2/lib/puma/sd_notify.rb:140:in `notify' from /usr/share/gems/gems/puma-6.4.2/lib/puma/sd_notify.rb:53:in `ready' from /usr/share/gems/gems/puma-6.4.2/lib/puma/plugin/systemd.rb:17:in `block in start' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:17:in `block in fire' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:17:in `each' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:17:in `fire' from /usr/share/gems/gems/puma-6.4.2/lib/puma/events.rb:46:in `fire_on_booted!' from /usr/share/gems/gems/puma-6.4.2/lib/puma/single.rb:58:in `run' from /usr/share/gems/gems/puma-6.4.2/lib/puma/launcher.rb:194:in `run' from /usr/share/gems/gems/puma-6.4.2/lib/rack/handler/puma.rb:76:in `run' from /usr/share/gems/gems/rack-2.2.4/lib/rack/server.rb:327:in `start' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands/server/server_command.rb:38:in `start' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands/server/server_command.rb:143:in `block in perform' from <internal:kernel>:90:in `tap' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands/server/server_command.rb:134:in `perform' from /usr/share/gems/gems/thor-1.2.1/lib/thor/command.rb:27:in `run' from /usr/share/gems/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command' from /usr/share/gems/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/command/base.rb:87:in `perform' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/command.rb:48:in `invoke' from /builddir/build/BUILD/railties-7.0.8/usr/share/gems/gems/railties-7.0.8/lib/rails/commands.rb:18:in `<top (required)>' from /usr/share/ruby/bundled_gems.rb:74:in `require' from /usr/share/ruby/bundled_gems.rb:74:in `block (2 levels) in replace_require' from bin/rails:4:in `<main>' .
The full log is available here for the moment:
https://copr.fedorainfracloud.org/coprs/vondruch/mpb/build/6885294/
This is the sd_notify source code:
https://github.com/agis/ruby-sdnotify/blob/master/lib/sd_notify.rb
Nothing spectacular is going on there except it tries to write into socket if the `$NOTIFY_SOCKET` env variable is set. I believe that if I did `env -u NOTIFY_SOCKET`, I would get further.
However, I wonder how and why the NOTIFY_SOCKET variable is set? I also wonder why the socket exists if it can't be used? Or would it be usable by `root` so the permissions should be checked first?
$ mock -r ruby shell --unpriv ... snip ... <mock-chroot> sh-5.2$ echo $NOTIFY_SOCKET /run/host/notify <mock-chroot> sh-5.2$ ll /run/host/notify srwxr-xr-x. 1 root root 0 Jan 11 14:35 /run/host/notify
It does not seems to be right, but I have no idea where to report this. Is this issue in sd_notify, Mock or is it systemd?
Interestingly enough, I don't have this env variable set on my computer.
Vít