Bug 1386320 - 'docker run IMAGE nonexistingcmd' error message is hard to get
Summary: 'docker run IMAGE nonexistingcmd' error message is hard to get
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: oci-register-machine
Version: 7.3
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Lokesh Mandvekar
QA Contact: Martin Jenner
URL:
Whiteboard:
: 1386321 (view as bug list)
Depends On: 1380685 1386321
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-10-18 16:09 UTC by Daniel Walsh
Modified: 2016-12-06 17:43 UTC (History)
18 users (show)

Fixed In Version: oci-register-machine-0-1.10.gitfcdbff0.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1380685
Environment:
Last Closed: 2016-12-06 17:43:09 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2893 0 normal SHIPPED_LIVE oci-register-machine bug fix update 2016-12-06 22:40:52 UTC

Description Daniel Walsh 2016-10-18 16:09:05 UTC
+++ This bug was initially created as a clone of Bug #1380685 +++

Description of problem:
I got back to docker after a long while and when I was going to run an image, I issued "docker run" command with swapped "IMAGE" and "-it" arguments, so I got command like the following:
# docker run fedora -it /usr/bin/bash

The command failed and I was sure there is a bug in docker because it printed out:
/usr/bin/docker-current: Error response from daemon: oci runtime error: exit status 1:.

There was no sign that docker tried to interpret "-it" as COMMAND


Version-Release number of selected component (if applicable):
docker-1.12.1-28.git9a3752d.fc26.x86_64

How reproducible:
Always

Steps to Reproduce:
1. # docker run fedora fdjalsjlhglajsfd
2.
3.

Actual results:
/usr/bin/docker-current: Error response from daemon: oci runtime error: exit status 1:.

Expected results:
'fdjalsjlhglajsfd' command not found

--- Additional comment from Antonio Murdaca on 2016-09-30 06:58:05 EDT ---

I'll take a look at this shortly but this seems similar to https://bugzilla.redhat.com/show_bug.cgi?id=1379706 which should have been fixed in build 28.

--- Additional comment from Antonio Murdaca on 2016-09-30 06:59:43 EDT ---

Can you disable selinux and try again please?

--- Additional comment from Jakub Filak on 2016-09-30 07:33 EDT ---

[root@photon ~]# setenforce 0
[root@photon ~]# getenforce 
Permissive
[root@photon ~]# MARK=$(date +"%F %H:%M:%S")
[root@photon ~]# docker run fedora -ti /usr/bin/bash
/usr/bin/docker-current: Error response from daemon: oci runtime error: exit status 1:.
[root@photon ~]# journalctl --since="$MARK" > /tmp/journald.txt

--- Additional comment from Antonio Murdaca on 2016-09-30 07:44:44 EDT ---

Thanks, I'll spin up a Rawhide vm and test this out.

--- Additional comment from Antonio Murdaca on 2016-10-17 07:45:02 EDT ---

This is an issue with "oci-register-machine" hook rather than a docker issue:

$ docker run busybox -ti sh
docker: Error response from daemon: oci runtime error: exit status 1:.

$ sudo mv /usr/libexec/oci/hooks.d/oci-register-machine /tmp/oci-register-machine 

The command above will prevent docker from running that hook, try re-running the original command now:

$ docker run busybox -ti sh                              
docker: Error response from daemon: oci runtime error: exec: "-ti": executable file not found in $PATH.

Now you can see the useful "executable file not found in $PATH" error.

--- Additional comment from Daniel Walsh on 2016-10-17 11:56:24 EDT ---

This looks like an old problem we had where the pid did not exist when oci-register-machine is called.  Which is not supposed to happen when using runc?

--- Additional comment from Daniel Walsh on 2016-10-17 11:58:09 EDT ---

Actually it looks like the problem is on Terminate.

Oct 17 11:56:44 dhcp-10-19-62-196.boston.devel.redhat.com oci-register-machine[31825]: 2016/10/17 11:56:44 Register machine: prestart b80799775658cf7cf95c75634a3a6f2f9f0a7196d346d94e3b075468f0919547 31807 /var/lib/docker/overlay2/3725ea6691c2a35bd0be05db96084424fa0cb77c3d9505c9f505d522eedeae61/merged
Oct 17 11:56:44 dhcp-10-19-62-196.boston.devel.redhat.com oci-register-machine[31840]: 2016/10/17 11:56:44 Register machine: poststop b80799775658cf7cf95c75634a3a6f2f9f0a7196d346d94e3b075468f0919547 0 /var/lib/docker/overlay2/3725ea6691c2a35bd0be05db96084424fa0cb77c3d9505c9f505d522eedeae61/merged
Oct 17 11:56:44 dhcp-10-19-62-196.boston.devel.redhat.com oci-register-machine[31840]: 2016/10/17 11:56:44 TerminateMachine failed: No machine 'b80799775658cf7cf95c75634a3a6f2f9f0a7196d346d94e3b075468f0919547' known

I think we need to check if the return from systemd is the UUID does not exist, just exit without a message.

--- Additional comment from Daniel Walsh on 2016-10-17 13:39:43 EDT ---

https://github.com/projectatomic/oci-register-machine/pull/28 should fix this bug.

--- Additional comment from Daniel Walsh on 2016-10-18 11:43:10 EDT ---

Fixed in oci-register-machine-0-2.7.gitbb20b00.fc26

Comment 1 Daniel Walsh 2016-10-18 16:10:31 UTC
Fixed in oci-register-machine-0-2.7.gitbb20b00

Comment 2 Lokesh Mandvekar 2016-10-18 16:11:15 UTC
*** Bug 1386321 has been marked as a duplicate of this bug. ***

Comment 6 errata-xmlrpc 2016-12-06 17:43:09 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2893.html


Note You need to log in before you can comment on or make changes to this bug.