Bug 1335344
Summary: | Hidden dependency on firefox | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Bill C. Riemers <briemers> | ||||||
Component: | maven | Assignee: | Michal Srb <msrb> | ||||||
Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
Severity: | unspecified | Docs Contact: | |||||||
Priority: | unspecified | ||||||||
Version: | 23 | CC: | adimania, admiller, akurtako, amurdaca, dwalsh, ichavero, java-sig-commits, jcajka, jchaloup, lsm5, marianne, miminar, mizdebsk, msimacek, msrb, nalin, riek, vbatts | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | x86_64 | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2016-05-12 15:43:12 UTC | Type: | Bug | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Attachments: |
|
Description
Bill C. Riemers
2016-05-12 01:35:36 UTC
This is not a docker issue. Perhaps this is a maven issue. Could you please share the java backtrace with us? Is is possible that you're trying to run some kind of selenium tests during the build, which require browser? Created attachment 1156700 [details] Build log without firefox on Fedora 23. Output of the command: $ (docker build --no-cache --rm -t sfjavasuite . 2>&1) |tee /tmp/build.log The code I'm building is available inside the RedHat firewall via the command: $ git clone http://gitolite.corp.redhat.com/cgit/it-sales/sfjavasuite.git/ Currently the repository has firefox listed in the Dockerfile. BTW. I just tried the same test on RHEL6. I am comforted by the fact, at least it produces the same error. Which indicates it probably is not a bug with docker, but rather with the fedora images. I tried a Fedora:22 base, with the same results. Fedora:21 works after changing dnf to yum... Indicating the problem is one of three things: 1. Maven has been updated in Fedora 22 and Fedora 23 to introduce this dependancy. (It as recently as a couple of months ago.) 2. There has been some update to the standard docker images that adds this hidden dependancy. 3. There is something in docker's fake dbus stuff that is adding the runtime dependency. I can't think of any other possibilities, and I'm not sure how to isolate this down to which possibility this is. Please remove ANSI codes from logs, they make them unreadable. Then run Maven with -X switch to enable debugging output. I think I can reasonably rule out possibility 3. The build works without firefox for Fedora:21, Centos, and even Ubuntu. (OK, Ubuntu fails from the lack of rpm-build, but it makes it past the mvn clean command...) If it was a fake dbus issue I would expect to effect pretty much any up to date linux image. I think it might be the same issue as bug#1332456. Investigating. I think this is the problem: Step 4 : RUN dnf -y update --skip-broken ; dnf -y install maven git bzip2 rpm-build && dnf clean all ---> Running in 5997e11ebb4e Last metadata expiration check performed 0:00:08 ago on Thu May 12 13:42:21 2016. No match for argument: --skip-broken So you don't really update packages in the image, and when you later install firefox, it will also update nss package, because firefox depends on it. And because of bug#1332456, JDK sometimes throws java.lang.InternalError exception, if nss version doesn't match JDK's expectations. Long story short, replacing following line in your Dockerfile: RUN dnf -y update --skip-broken ; dnf -y install maven git bzip2 rpm-build firefox && dnf clean all with this line: RUN dnf -y update && dnf -y install maven git bzip2 rpm-build && dnf clean all should fix the issue. Created attachment 1156711 [details]
Build log without firefox on Fedora 23, with -X option and stripping color codes
Output of:
(docker build --no-cache --rm -t sfjavasuite-x . 2>&1) |tr '\r' '\n' |sed -r 's/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g'|tee /tmp/build.log
BTW. I tried running with TERM=dumb, but both docker and maven ignore the terminal setting and produce color ansi regardless of the terminal being used.
Interesting. I had already tried adding the nss packages into the list. In fact I added every package firefox depends on. But without firefox itself, it still failed. But perhaps I had a similar bug in that RUN line. I've been tempting in the past just to leave the "dnf update -y" out completely. The base image is usually fairly current, so strictly speaking it should not really be needed. Looks like though it really is needed. Thank you. |