Bug 1380685 - '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: Fedora
Classification: Fedora
Component: oci-register-machine
Version: rawhide
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
Assignee: Daniel Walsh
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 1386320 1386321
TreeView+ depends on / blocked
 
Reported: 2016-09-30 10:34 UTC by Jakub Filak
Modified: 2016-12-01 00:50 UTC (History)
17 users (show)

Fixed In Version: oci-register-machine-0-2.7.gitbb20b00.fc25
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1386320 1386321 (view as bug list)
Environment:
Last Closed: 2016-10-26 22:30:49 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
system logs (13.54 KB, text/plain)
2016-09-30 11:33 UTC, Jakub Filak
no flags Details

Description Jakub Filak 2016-09-30 10:34:04 UTC
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

Comment 1 Antonio Murdaca 2016-09-30 10:58:05 UTC
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.

Comment 2 Antonio Murdaca 2016-09-30 10:59:43 UTC
Can you disable selinux and try again please?

Comment 3 Jakub Filak 2016-09-30 11:33:16 UTC
Created attachment 1206226 [details]
system logs

[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

Comment 4 Antonio Murdaca 2016-09-30 11:44:44 UTC
Thanks, I'll spin up a Rawhide vm and test this out.

Comment 5 Antonio Murdaca 2016-10-17 11:45:02 UTC
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.

Comment 6 Daniel Walsh 2016-10-17 15:56:24 UTC
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?

Comment 7 Daniel Walsh 2016-10-17 15:58:09 UTC
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.

Comment 8 Daniel Walsh 2016-10-17 17:39:43 UTC
https://github.com/projectatomic/oci-register-machine/pull/28 should fix this bug.

Comment 9 Daniel Walsh 2016-10-18 15:43:10 UTC
Fixed in oci-register-machine-0-2.7.gitbb20b00.fc26

Comment 10 Fedora Update System 2016-10-19 19:55:24 UTC
oci-register-machine-0-2.7.gitbb20b00.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-f1316b121d

Comment 11 Fedora Update System 2016-10-26 22:30:49 UTC
oci-register-machine-0-2.7.gitbb20b00.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.


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