quarkusio / quarkus-images Goto Github PK
View Code? Open in Web Editor NEWSet of container images delivered for Quarkus
License: Apache License 2.0
Set of container images delivered for Quarkus
License: Apache License 2.0
The current s2i assemble script does use cd /tmp/src
as the path before triggering the maven build, it will be nice to have the /tmp/src/
configurable to allow builds using the image to set them via env variable.
e.g. SRC_DIR=${SRC_DIR:-'/tmp/src'}
CC: @cescoffier
Integration test for the container images.
I would like to have option similar to:
oc new-build quay.io/redhat/ubi-quarkus-native-runner --binary --name=quarkus-quickstart -l app=quarkus-quickstart
but for distroless image.
I wanted to send a PR to upgrade to GraalVM rc16 but it seems master doesn't include any of the recent changes which I can see in other recent tags (such as rc14 and rc15).
What's the process? Please document it.
After update to the centos-quarkus-maven:20.2.0-java11 on 27 January, application no longer builds with the following messages:
Same application was building and working successfully with the previous version of the given image.
Application code is instructed not to use jmx server, which was working previously, clearly indicating some braking change in this version of the image.
Error: Unsupported features in 2 methods
Detailed message:
Error: Detected a MBean server in the image heap. This is currently not supported, but could be changed in the future. Management beans are registered in many global caches that would need to be cleared and properly re-built at image build time. Class of disallowed object: com.sun.jmx.mbeanserver.JmxMBeanServer To see how this object got instantiated use -H:+TraceClassInitialization. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image run time by using the option --initialize-at-run-time=. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
indexing into array
constant java.lang.Object[]@1aab8308 reached by
reading field java.util.ArrayList.elementData of
constant java.util.ArrayList@5ae9f4d reached by
scanning method javax.management.MBeanServerFactory.addMBeanServer(MBeanServerFactory.java:418)
Call path from entry point to javax.management.MBeanServerFactory.addMBeanServer(MBeanServer):
at javax.management.MBeanServerFactory.addMBeanServer(MBeanServerFactory.java:418)
at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:232)
at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:192)
at com.oracle.svm.core.jdk.management.ManagementSupport.getPlatformMBeanServer(ManagementSupport.java:250)
at com.oracle.svm.core.jdk.management.Target_java_lang_management_ManagementFactory.getPlatformMBeanServer(Target_java_lang_management_ManagementFactory.java:45)
at org.apache.commons.pool2.impl.BaseGenericObjectPool.jmxUnregister(BaseGenericObjectPool.java:1018)
at org.apache.commons.pool2.impl.GenericObjectPool.close(GenericObjectPool.java:694)
at com.oracle.svm.core.posix.NativeSecureRandomFilesCloser$1.close(PosixSunSecuritySubstitutions.java:82)
at com.oracle.svm.core.posix.NativeSecureRandomFilesCloser$1.run(PosixSunSecuritySubstitutions.java:66)
at java.lang.Thread.run(Thread.java:834)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:517)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: type is not available in this platform: org.graalvm.compiler.hotspot.management.AggregatedMemoryPoolBean
Trace: Object was reached by
reading field java.lang.ref.Reference.referent of
constant java.util.WeakHashMap$Entry@7417cc7d reached by
indexing into array
constant java.util.WeakHashMap$Entry[]@74ea1cf8 reached by
reading field java.util.WeakHashMap.table of
constant com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap@6c909167 reached by
scanning method com.sun.jmx.mbeanserver.MXBeanIntrospector.getMBeanInfoMap(MXBeanIntrospector.java:68)
Call path from entry point to com.sun.jmx.mbeanserver.MXBeanIntrospector.getMBeanInfoMap():
at com.sun.jmx.mbeanserver.MXBeanIntrospector.getMBeanInfoMap(MXBeanIntrospector.java:68)
at com.sun.jmx.mbeanserver.MBeanIntrospector.getClassMBeanInfo(MBeanIntrospector.java:416)
at com.sun.jmx.mbeanserver.MBeanIntrospector.getMBeanInfo(MBeanIntrospector.java:392)
at com.sun.jmx.mbeanserver.MBeanSupport.(MBeanSupport.java:139)
at com.sun.jmx.mbeanserver.MXBeanSupport.(MXBeanSupport.java:66)
at com.sun.jmx.mbeanserver.Introspector.makeDynamicMBean(Introspector.java:203)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:888)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:320)
at com.sun.jmx.mbeanserver.JmxMBeanServer$2.run(JmxMBeanServer.java:1225)
at com.oracle.svm.core.jdk.Target_java_security_AccessController.doPrivileged(SecuritySubstitutions.java:119)
at java.net.Socket.getOutputStream(Socket.java:969)
at org.jboss.logmanager.handlers.TcpOutputStream.flush(TcpOutputStream.java:214)
at java.io.PrintStream.flush(PrintStream.java:417)
at com.oracle.svm.jni.functions.JNIFunctions.ExceptionDescribe(JNIFunctions.java:772)
at com.oracle.svm.core.code.IsolateEnterStub.JNIFunctions_ExceptionDescribe_b5412f7570bccae90b000bc37855f00408b2ad73(generated:0)
com.oracle.svm.core.util.UserError$UserException: Unsupported features in 2 methods
Detailed message:
Error: Detected a MBean server in the image heap. This is currently not supported, but could be changed in the future. Management beans are registered in many global caches that would need to be cleared and properly re-built at image build time. Class of disallowed object: com.sun.jmx.mbeanserver.JmxMBeanServer To see how this object got instantiated use -H:+TraceClassInitialization. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image run time by using the option --initialize-at-run-time=. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
indexing into array
constant java.lang.Object[]@1aab8308 reached by
reading field java.util.ArrayList.elementData of
constant java.util.ArrayList@5ae9f4d reached by
scanning method javax.management.MBeanServerFactory.addMBeanServer(MBeanServerFactory.java:418)
Call path from entry point to javax.management.MBeanServerFactory.addMBeanServer(MBeanServer):
at javax.management.MBeanServerFactory.addMBeanServer(MBeanServerFactory.java:418)
at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:232)
at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:192)
at com.oracle.svm.core.jdk.management.ManagementSupport.getPlatformMBeanServer(ManagementSupport.java:250)
at com.oracle.svm.core.jdk.management.Target_java_lang_management_ManagementFactory.getPlatformMBeanServer(Target_java_lang_management_ManagementFactory.java:45)
at org.apache.commons.pool2.impl.BaseGenericObjectPool.jmxUnregister(BaseGenericObjectPool.java:1018)
at org.apache.commons.pool2.impl.GenericObjectPool.close(GenericObjectPool.java:694)
at com.oracle.svm.core.posix.NativeSecureRandomFilesCloser$1.close(PosixSunSecuritySubstitutions.java:82)
at com.oracle.svm.core.posix.NativeSecureRandomFilesCloser$1.run(PosixSunSecuritySubstitutions.java:66)
at java.lang.Thread.run(Thread.java:834)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:517)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: type is not available in this platform: org.graalvm.compiler.hotspot.management.AggregatedMemoryPoolBean
Trace: Object was reached by
reading field java.lang.ref.Reference.referent of
constant java.util.WeakHashMap$Entry@7417cc7d reached by
indexing into array
constant java.util.WeakHashMap$Entry[]@74ea1cf8 reached by
reading field java.util.WeakHashMap.table of
constant com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap@6c909167 reached by
scanning method com.sun.jmx.mbeanserver.MXBeanIntrospector.getMBeanInfoMap(MXBeanIntrospector.java:68)
Call path from entry point to com.sun.jmx.mbeanserver.MXBeanIntrospector.getMBeanInfoMap():
at com.sun.jmx.mbeanserver.MXBeanIntrospector.getMBeanInfoMap(MXBeanIntrospector.java:68)
at com.sun.jmx.mbeanserver.MBeanIntrospector.getClassMBeanInfo(MBeanIntrospector.java:416)
at com.sun.jmx.mbeanserver.MBeanIntrospector.getMBeanInfo(MBeanIntrospector.java:392)
at com.sun.jmx.mbeanserver.MBeanSupport.(MBeanSupport.java:139)
at com.sun.jmx.mbeanserver.MXBeanSupport.(MXBeanSupport.java:66)
at com.sun.jmx.mbeanserver.Introspector.makeDynamicMBean(Introspector.java:203)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:888)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:320)
at com.sun.jmx.mbeanserver.JmxMBeanServer$2.run(JmxMBeanServer.java:1225)
at com.oracle.svm.core.jdk.Target_java_security_AccessController.doPrivileged(SecuritySubstitutions.java:119)
at java.net.Socket.getOutputStream(Socket.java:969)
at org.jboss.logmanager.handlers.TcpOutputStream.flush(TcpOutputStream.java:214)
at java.io.PrintStream.flush(PrintStream.java:417)
at com.oracle.svm.jni.functions.JNIFunctions.ExceptionDescribe(JNIFunctions.java:772)
at com.oracle.svm.core.code.IsolateEnterStub.JNIFunctions_ExceptionDescribe_b5412f7570bccae90b000bc37855f00408b2ad73(generated:0)
at com.oracle.svm.core.util.UserError.abort(UserError.java:79)
at com.oracle.svm.hosted.FallbackFeature.reportAsFallback(FallbackFeature.java:217)
at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:765)
at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:555)
at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:468)
at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1407)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Unsupported features in 2 methods
Detailed message:
Error: Detected a MBean server in the image heap. This is currently not supported, but could be changed in the future. Management beans are registered in many global caches that would need to be cleared and properly re-built at image build time. Class of disallowed object: com.sun.jmx.mbeanserver.JmxMBeanServer To see how this object got instantiated use -H:+TraceClassInitialization. The object was probably created by a class initializer and is reachable from a static field. You can request class initialization at image run time by using the option --initialize-at-run-time=. Or you can write your own initialization methods and call them explicitly from your main entry point.
Trace: Object was reached by
indexing into array
constant java.lang.Object[]@1aab8308 reached by
reading field java.util.ArrayList.elementData of
constant java.util.ArrayList@5ae9f4d reached by
scanning method javax.management.MBeanServerFactory.addMBeanServer(MBeanServerFactory.java:418)
Call path from entry point to javax.management.MBeanServerFactory.addMBeanServer(MBeanServer):
at javax.management.MBeanServerFactory.addMBeanServer(MBeanServerFactory.java:418)
at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:232)
at javax.management.MBeanServerFactory.createMBeanServer(MBeanServerFactory.java:192)
at com.oracle.svm.core.jdk.management.ManagementSupport.getPlatformMBeanServer(ManagementSupport.java:250)
at com.oracle.svm.core.jdk.management.Target_java_lang_management_ManagementFactory.getPlatformMBeanServer(Target_java_lang_management_ManagementFactory.java:45)
at org.apache.commons.pool2.impl.BaseGenericObjectPool.jmxUnregister(BaseGenericObjectPool.java:1018)
at org.apache.commons.pool2.impl.GenericObjectPool.close(GenericObjectPool.java:694)
at com.oracle.svm.core.posix.NativeSecureRandomFilesCloser$1.close(PosixSunSecuritySubstitutions.java:82)
at com.oracle.svm.core.posix.NativeSecureRandomFilesCloser$1.run(PosixSunSecuritySubstitutions.java:66)
at java.lang.Thread.run(Thread.java:834)
at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:517)
at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:192)
at com.oracle.svm.core.code.IsolateEnterStub.PosixJavaThreads_pthreadStartRoutine_e1f4a8c0039f8337338252cd8734f63a79b5e3df(generated:0)
Error: type is not available in this platform: org.graalvm.compiler.hotspot.management.AggregatedMemoryPoolBean
Trace: Object was reached by
reading field java.lang.ref.Reference.referent of
constant java.util.WeakHashMap$Entry@7417cc7d reached by
indexing into array
constant java.util.WeakHashMap$Entry[]@74ea1cf8 reached by
reading field java.util.WeakHashMap.table of
constant com.sun.jmx.mbeanserver.MBeanIntrospector$MBeanInfoMap@6c909167 reached by
scanning method com.sun.jmx.mbeanserver.MXBeanIntrospector.getMBeanInfoMap(MXBeanIntrospector.java:68)
Call path from entry point to com.sun.jmx.mbeanserver.MXBeanIntrospector.getMBeanInfoMap():
at com.sun.jmx.mbeanserver.MXBeanIntrospector.getMBeanInfoMap(MXBeanIntrospector.java:68)
at com.sun.jmx.mbeanserver.MBeanIntrospector.getClassMBeanInfo(MBeanIntrospector.java:416)
at com.sun.jmx.mbeanserver.MBeanIntrospector.getMBeanInfo(MBeanIntrospector.java:392)
at com.sun.jmx.mbeanserver.MBeanSupport.(MBeanSupport.java:139)
at com.sun.jmx.mbeanserver.MXBeanSupport.(MXBeanSupport.java:66)
at com.sun.jmx.mbeanserver.Introspector.makeDynamicMBean(Introspector.java:203)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:888)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:320)
at com.sun.jmx.mbeanserver.JmxMBeanServer$2.run(JmxMBeanServer.java:1225)
at com.oracle.svm.core.jdk.Target_java_security_AccessController.doPrivileged(SecuritySubstitutions.java:119)
at java.net.Socket.getOutputStream(Socket.java:969)
at org.jboss.logmanager.handlers.TcpOutputStream.flush(TcpOutputStream.java:214)
at java.io.PrintStream.flush(PrintStream.java:417)
at com.oracle.svm.jni.functions.JNIFunctions.ExceptionDescribe(JNIFunctions.java:772)
at com.oracle.svm.core.code.IsolateEnterStub.JNIFunctions_ExceptionDescribe_b5412f7570bccae90b000bc37855f00408b2ad73(generated:0)
at com.oracle.graal.pointsto.constraints.UnsupportedFeatures.report(UnsupportedFeatures.java:129)
at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:762)
... 8 more
Error: Image build request failed with exit status 1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
Rebase Quarkus maven image to be using FROM from centos-quarkus-native-image
It would appear to be ANSI_X3.4-1968
or US-ASCII
which is causing issues when native images produced in the image are used with other character encoding.
UTF8 is a much better default and resolves the issue. See quarkusio/quarkus#11222 for more info.
We should investigate if the following line actually needs to rename the native image binary, or its a matter of convenience.
On the quarkus tooling side, it does seem a little bit awkward and we were wondering if we could change that.
2021-03-21 08:10:17,014 docker_builder.py:108 INFO Docker: Step 4/32 : RUN microdnf --setopt=install_weak_deps=0 --setopt=tsflags=nodocs install -y tar gzip gcc glibc-devel zlib-devel shadow-utils unzip gcc-c++ && microdnf clean all && rpm -q tar gzip gcc glibc-devel zlib-devel shadow-utils unzip gcc-c++
2021-03-21 08:10:17,014 docker_builder.py:108 INFO Docker:
2021-03-21 08:10:17,034 docker_builder.py:108 INFO Docker: ---> Running in e6de140d97eb
2021-03-21 08:10:17,510 docker_builder.py:108 INFO Docker: (process:7): librhsm-WARNING **: 08:10:17.509: Found 0 entitlement certificates
2021-03-21 08:10:17,518 docker_builder.py:108 INFO Docker: (process:7): librhsm-WARNING **: 08:10:17.518: Found 0 entitlement certificates
2021-03-21 08:10:17,524 docker_builder.py:108 INFO Docker: error: (--setopt) Unable to handle: install_weak_deps=0
2021-03-21 08:10:17,715 docker_builder.py:141 ERROR You can look inside the failed image by running 'docker run --rm -ti 6a5952d6a628 bash'
2021-03-21 08:10:17,715 cli.py:345 ERROR Image build failed, see logs above.
I didn't have the time to investigate.
Most official S2I builder images created by RH put the S2I scripts in /usr/libexec/s2i
while the Quarkus S2I builders use a different path /usr/local/s2i
.
This is indeed supported by S2I but it seems that some tools (in my case http://quay.io/openshift-pipeline/s2i which is an image that runs s2i
) just assume the paths are always the same and have them hard-coded. This might also be because inspecting the builder image for the label that defines the correct path is sometimes hard.
Now of course those tools should be fixed, but at the same time I think the Quarkus S2I builder images should not deviate from the commonly used values without good reason.
today @cescoffier manually goes through every page for each image, ie.
https://quay.io/repository/quarkus/ubi-quarkus-mandrel?tab=tags
to check if any CVEs open.
We should automate that and have it open a quarkusio issue similar to how ci-ecosystem opens a issue to indicate issue.
I am trying to build native executable for a simple java application with quay.io/quarkus/ubi-quarkus-native-image:20.1.0-java11
What I get is an error
Fatal error:com.oracle.graal.pointsto.util.AnalysisError$ParsingError: Error encountered while parsing sun.nio.cs.JIS_X_0212.newEncoder()
Parsing context:
parsing java.lang.StringCoding.encode(StringCoding.java:444)
parsing java.lang.String.getBytes(String.java:964)
< a lot of stacktrace >
Caused by: com.oracle.svm.core.util.VMError$HostedError: Could not find non-initialized charset JIS_X_0212.java at com.oracle.svm.core.util.VMError.shouldNotReachHere(VMError.java:76)
at com.oracle.svm.core.jdk.LocalizationFeature$CharsetNodePlugin.handleInvoke(LocalizationFeature.java:125)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.tryNodePluginForInvocation(BytecodeParser.java:2216)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.appendInvoke(BytecodeParser.java:1904)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeStatic(BytecodeParser.java:1682)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeStatic(BytecodeParser.java:1662)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5340) at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3423)
... 24 more
Caused by: java.nio.charset.UnsupportedCharsetException: JIS_X_0212
at java.base/java.nio.charset.Charset.forName(Charset.java:529)
at com.oracle.svm.core.jdk.LocalizationFeature$CharsetNodePlugin.handleInvoke(LocalizationFeature.java:122)
... 30 more
What could be done to alleviate it ? This seems like it could be something other people stumbled upon. My application has nothing to do with charsets or Japanese.
Improving Quarkus Maven README to reflect the properties and variables that it provides
The assemble
script in the quarkus-native-s2i-scripts
builder image always assumes that an artifact is in the target
directory of a maven build.
# lines 34 - 37
BUILD_DIR=target
mvn package -Pnative -e -B \
-DskipTests -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -Dmaven.source.skip=true \
-Djacoco.skip=true -Dcheckstyle.skip=true -Dfindbugs.skip=true -Dpmd.skip=true -Dfabric8.skip=true
# line 41
cp -v ${BUILD_DIR}/*-runner ${QUARKUS_HOME}/application
Using environment variables a user can tell maven to only build a sub-module, and in that case the built artifact won't be in target
. Instead it'll be in <sub_module_path>/target
.
See an ongoing discussion in kenfinnigan/kraken-demo#2 around this issue.
Sdk part is tracked by 1990
@tqvarnst reports that the S2I Java support is broken. (That is the non-native regular pure Java one, based on the registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift S2I builder image; as documented in Deploying the application as Java application in OpenShift on https://quarkus.io/guides/openshift-s2i-guide)
I can easily locally reproduce the problem Thomas reported, but it's not trivial for me to fix it alone - let's use this issue to find the solution; I'll add more comments with an analysis and suggestions.
I have been trying to build https://github.com/quarkusio/quarkus-quickstarts/tree/master/getting-started
Before the version update, the maven build was working fine
Now it is failing:
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.097 s
[INFO] Finished at: 2020-04-06T09:33:54Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.quarkus:quarkus-maven-plugin:1.3.1.Final:dev (default-cli) on project getting-started: Detected Maven Version (3.6.1) is not supported, it must be in [3.6.2,). -> [Help 1]
[ERROR]
Looks like the version 1.3.1-Final is requiring maven 3.6.2.
Describe the bug
Hi folks, after upgrading to Quarkus 0.18 I'm getting the error below during native image build:
[INFO] --- quarkus-maven-plugin:0.18.0:native-image (default) @ quarkus-myfaces-showcase ---
[INFO] [io.quarkus.creator.phase.nativeimage.NativeImagePhase] Running Quarkus native-image plugin on OpenJDK 64-Bit Server VM
[INFO] [io.quarkus.creator.phase.nativeimage.NativeImagePhase] docker run -v /home/PROCERGS.REDERS/rafael-pestano/projetos/quarkus-myfaces-native/quarkus-myfaces/quarkus-myfaces-showcase/target:
/project:z --rm --user 74086768:560800513 quay.io/quarkus/ubi-quarkus-native-image:19.0.2 -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager --initialize-at-build-time= -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime -jar quarkus-myfaces-showcase-1.0-SNAPSHOT-runner.jar -J-Djava.util.concurrent.ForkJoinPool.common.parallelism=1 -H:FallbackThreshold=0
-H:+ReportExceptionStackTraces -H:+PrintAnalysisCallTree -H:-AddAllCharsets -H:EnableURLProtocols=http,https --enable-all-security-services -H:-SpawnIsolates -H:+JNI --no-server -H:-UseServiceLoaderFeature -H:+StackTrace
...
...
Printing list of used packages to /project/reports/used_packages_quarkus-myfaces-showcase-1.0-SNAPSHOT-runner_20190628_124854.txt
Error: Class initialization failed: sun.font.SunLayoutEngine
Detailed message:
com.oracle.svm.core.util.UserError$UserException: Class initialization failed: sun.font.SunLayoutEngine
Detailed message:
at com.oracle.svm.core.util.UserError.abort(UserError.java:75)
at com.oracle.svm.hosted.FallbackFeature.reportAsFallback(FallbackFeature.java:219)
at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:733)
at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:523)
at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$0(NativeImageGenerator.java:441)
at java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1386)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Class initialization failed: sun.font.SunLayoutEngine
Detailed message:
at com.oracle.graal.pointsto.constraints.UnsupportedFeatures.report(UnsupportedFeatures.java:130)
at com.oracle.graal.pointsto.BigBang.finish(BigBang.java:564)
at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:684)
... 7 more
Caused by: java.lang.UnsatisfiedLinkError: /opt/graalvm/jre/lib/amd64/libfontmanager.so: libfreetype.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1845)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at sun.font.FontManagerNativeLibrary$1.run(FontManagerNativeLibrary.java:61)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerNativeLibrary.<clinit>(FontManagerNativeLibrary.java:32)
at sun.font.SunLayoutEngine.<clinit>(SunLayoutEngine.java:108)
at sun.misc.Unsafe.ensureClassInitialized(Native Method)
at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.ensureClassInitialized(ConfigurableClassInitialization.java:129)
at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.computeInitKindAndMaybeInitializeClass(ConfigurableClassInitialization.java:357)
at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.computeInitKindAndMaybeInitializeClass(ConfigurableClassInitialization.java:92)
at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.maybeInitializeHosted(ConfigurableClassInitialization.java:120)
at com.oracle.svm.hosted.SVMHost.registerType(SVMHost.java:179)
at com.oracle.graal.pointsto.meta.AnalysisUniverse.createType(AnalysisUniverse.java:263)
at com.oracle.graal.pointsto.meta.AnalysisUniverse.lookupAllowUnresolved(AnalysisUniverse.java:204)
at com.oracle.graal.pointsto.meta.AnalysisUniverse.lookup(AnalysisUniverse.java:181)
at com.oracle.graal.pointsto.meta.AnalysisMethod.getDeclaringClass(AnalysisMethod.java:336)
at com.oracle.graal.pointsto.meta.AnalysisMethod.getSignature(AnalysisMethod.java:305)
at com.oracle.graal.pointsto.flow.MethodFlowsGraph.<init>(MethodFlowsGraph.java:98)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.<init>(MethodTypeFlow.java:75)
at com.oracle.graal.pointsto.meta.AnalysisMethod.<init>(AnalysisMethod.java:130)
at com.oracle.graal.pointsto.meta.AnalysisUniverse.createMethod(AnalysisUniverse.java:411)
at com.oracle.graal.pointsto.meta.AnalysisUniverse.lookupAllowUnresolved(AnalysisUniverse.java:399)
at com.oracle.graal.pointsto.infrastructure.WrappedConstantPool.lookupMethod(WrappedConstantPool.java:115)
at org.graalvm.compiler.java.BytecodeParser.lookupMethod(BytecodeParser.java:4272)
at org.graalvm.compiler.java.BytecodeParser.genInvokeStatic(BytecodeParser.java:1506)
at org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5257)
at org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3416)
at org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3223)
at org.graalvm.compiler.java.BytecodeParser.build(BytecodeParser.java:944)
at org.graalvm.compiler.java.BytecodeParser.buildRootMethod(BytecodeParser.java:838)
at org.graalvm.compiler.java.GraphBuilderPhase$Instance.run(GraphBuilderPhase.java:84)
at org.graalvm.compiler.phases.Phase.run(Phase.java:49)
at org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:197)
at org.graalvm.compiler.phases.Phase.apply(Phase.java:42)
at org.graalvm.compiler.phases.Phase.apply(Phase.java:38)
at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:214)
at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:333)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.doParse(MethodTypeFlow.java:310)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureParsed(MethodTypeFlow.java:300)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.addContext(MethodTypeFlow.java:107)
at com.oracle.graal.pointsto.flow.StaticInvokeTypeFlow.update(InvokeTypeFlow.java:346)
at com.oracle.graal.pointsto.BigBang$2.run(BigBang.java:509)
at com.oracle.graal.pointsto.util.CompletionExecutor.lambda$execute$0(CompletionExecutor.java:171)
at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
... 4 more
Error: Image build request failed with exit status 1
Locally, using graalVM I made it working by instaling this package on ubuntu 18.04:
sudo apt-get install libgtk2.0-0:i386 libidn11:i386 libglu1-mesa:i386
source: http://xhyumiracle.com/error-while-loading-shared-libraries-libfreetype-so-6/
To Reproduce
Follow instructions on this repo: https://github.com/rmpestano/quarkus-myfaces/tree/0.18
Environment (please complete the following information):
uname -a
or ver
:java -version
: openjdk version "1.8.0_212"quay.io/quarkus/ubi-quarkus-native-image:19.0.2
)The assemble
script in the quarkus-native-binary-s2i-scripts
module don't respect a project's Gradle wrapper
if "$USE_GRADLE"; then
BUILD_DIR=build
mkdir -p build/libs
gradle buildNative --docker-build=false
This script always assumes that a build's output directory is build
and uses the gradle
script instead of the gradlew
script. By not using gradlew
, the image forces the build to a particular Gradle version instead of using the version that the project itself is declaring should be used. In addition a particular build may have changed the $buildDir
property, in which case the build
directory won't exist and output will be elsewhere.
The following command documented under modules/quarkus-native-s2i-scripts/README.md
don't work and should be updated
oc new-build https://github.com/quarkusio/quarkus.git --context-dir=docker/centos-graal-maven-s2i --name quarkus-native-s2i
error: supplied context directory 'docker/centos-graal-maven-s2i' does not exist in 'https://github.com/quarkusio/quarkus.git'
FYI : @cescoffier
https://quarkus.io/guides/deploying-to-openshift-s2i
This link from README at ./quarkus-images/modules/quarkus-native-s2i-scripts.
This page was at Quarkus website before but I couldn't find it in the guides anymore.
Hello everybody,
more than an issue, this is a support request, cause I'm not sure whether I'm missing anything in the container image creation.
In order to build the container image for aarch64, I've created the following environment:
2020-05-03 03:36:10,353 cekit DEBUG {'Platform': {'Name': 'Docker Engine - Community'}, 'Components': [{'Name': 'Engine', 'Version': '19.03.3', 'Details': {'ApiVersion': '1.40', 'Arch': 'arm64', 'BuildTime': '2019-10-08T01:00:39.000000000+00:00', 'Experimental': 'false', 'GitCommit': 'a872fc2', 'GoVersion': 'go1.12.10', 'KernelVersion': '5.6.7-300.fc32.aarch64', 'MinAPIVersion': '1.12', 'Os': 'linux'}}, {'Name': 'containerd', 'Version': '1.2.13', 'Details': {'GitCommit': '7ad184331fa3e55e52b890ea95e65ba581ae3429'}}, {'Name': 'runc', 'Version': '1.0.0-rc10', 'Details': {'GitCommit': 'dc9208a3303feef5b3839f4323d9beb36df0a9dd'}}, {'Name': 'docker-init', 'Version': '0.18.0', 'Details': {'GitCommit': 'fec3683'}}], 'Version': '19.03.3', 'ApiVersion': '1.40', 'MinAPIVersion': '1.12', 'GitCommit': 'a872fc2', 'GoVersion': 'go1.12.10', 'Os': 'linux', 'Arch': 'arm64', 'KernelVersion': '5.6.7-300.fc32.aarch64', 'BuildTime': '2019-10-08T01:00:39.000000000+00:00'}
The following changes have been applied to the Guest OS:
sudo sysctl -w fs.file-max=500000
The following changes have been applied to the quarkus-maven scripts and templates:
build-tooling-images.sh
Just building version 20.0.0-java11
added the line pip install -r requirements.txt
requirements.txt
new file to make virtualenv load the dependencies docker
and docker-squash
modules/graalvm/20.0.0-java11/module.yaml
replaced amd64
with aarch64
replaced md5 value to reflect the proper md5sum of the graalvm compressed archive for aarch64
modules/common-packages/module.yaml
Added libstdc++-static
to the list of the dependencies to be installed (honestly, just a tentative workaround)
The build process exits with an error when trying to installing the native image
/opt/graalvm/bin/gu --auto-yes install native-image
Error message: ibrary initialization failed - unable to get max # of allocated fds
I have the feeling the error is related to the permissions assigned to the user running the gu command inside the container, but tbh I'm not into those details yet and I'm keen to learn.
Any help will be much appreciated
I have hit libfreetype.so.6: cannot open shared object file: No such file or directory
error when using GraalVM/Mandrel 20.3 images to compile project which uses graphics.
When running 20.3 GraalVM CE installed on my macOS the is no error in compilation.
(There is of course problem of no awt in java.library.path when hitting http://localhost:8080/ping which should be solved in Mandrel as mentioned in oracle/graal#2842)
CC @Karm / @cescoffier / @zakkak
Original exception that caused the problem: java.lang.UnsatisfiedLinkError: /opt/mandrel/lib/libfontmanager.so:
libfreetype.so.6: cannot open shared object file: No such file or directory
Original exception that caused the problem: java.lang.UnsatisfiedLinkError: /opt/graalvm/lib/libfontmanager.so:
libfreetype.so.6: cannot open shared object file: No such file or directory
Reproducer:
mvn clean package -Dnative -Dquarkus.native.container-build=true -Dquarkus.native.native-image-xmx=4g -Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-mandrel:20.3.0.0.Beta1-java11
mvn clean package -Dnative -Dquarkus.native.container-build=true -Dquarkus.native.native-image-xmx=4g -Dquarkus.native.builder-image=quay.io/quarkus/ubi-quarkus-native-image:20.3.0-java11
More detailed stacktrace:
Original exception that caused the problem: java.lang.UnsatisfiedLinkError: /opt/mandrel/lib/libfontmanager.so: libfreetype.so.6: cannot open shared object file: No such file or directory
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2648)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
at java.base/java.lang.System.loadLibrary(System.java:1873)
at java.desktop/sun.font.FontManagerNativeLibrary$1.run(FontManagerNativeLibrary.java:57)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.font.FontManagerNativeLibrary.<clinit>(FontManagerNativeLibrary.java:32)
at java.desktop/sun.font.SunLayoutEngine.<clinit>(SunLayoutEngine.java:109)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized0(Native Method)
at java.base/jdk.internal.misc.Unsafe.ensureClassInitialized(Unsafe.java:1042)
at jdk.unsupported/sun.misc.Unsafe.ensureClassInitialized(Unsafe.java:698)
at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.ensureClassInitialized(ConfigurableClassInitialization.java:174)
at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.computeInitKindAndMaybeInitializeClass(ConfigurableClassInitialization.java:607)
at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.computeInitKindAndMaybeInitializeClass(ConfigurableClassInitialization.java:127)
at com.oracle.svm.hosted.classinitialization.ConfigurableClassInitialization.shouldInitializeAtRuntime(ConfigurableClassInitialization.java:155)
at com.oracle.svm.hosted.SVMHost.isInitialized(SVMHost.java:291)
at com.oracle.graal.pointsto.meta.AnalysisType.isInitialized(AnalysisType.java:786)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.maybeEagerlyInitialize(BytecodeParser.java:4384)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeStatic(BytecodeParser.java:1624)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeStatic(BytecodeParser.java:1617)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5360)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3399)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3206)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.build(BytecodeParser.java:1092)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.buildRootMethod(BytecodeParser.java:986)
at jdk.internal.vm.compiler/org.graalvm.compiler.java.GraphBuilderPhase$Instance.run(GraphBuilderPhase.java:84)
at com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:70)
at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.run(Phase.java:49)
at jdk.internal.vm.compiler/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:212)
at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.apply(Phase.java:42)
at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.apply(Phase.java:38)
at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:223)
at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:357)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.doParse(MethodTypeFlow.java:313)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureParsed(MethodTypeFlow.java:302)
at com.oracle.graal.pointsto.flow.MethodTypeFlow.addContext(MethodTypeFlow.java:103)
at com.oracle.graal.pointsto.flow.StaticInvokeTypeFlow.update(InvokeTypeFlow.java:434)
at com.oracle.graal.pointsto.BigBang$2.run(BigBang.java:547)
at com.oracle.graal.pointsto.util.CompletionExecutor.lambda$execute$0(CompletionExecutor.java:173)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
The scripts start to be slightly too complicated, and jbang would help a lot.
I've talked to some customer using Quarkus on OpenShift and a common pattern is to have a build infrastructure outside or inside OpenShift where artifacts like JARs and native are built outside in a separate flow from S2I. That could be to for example build the native using a local container or building it in Jenkins or Tekton. Having a S2I binary based on the UBI 7 or UBI 8 would make it much easier to deploy Quarkus native application to OpenShift
The user flow for a local build would then look something like this:
./mvnw package -Pnative -Dnative-image.docker-build=true
oc new-build <S2I-container-image> --name=<app-name> --binary
oc start-build <app-name> --from-file target/*-runner
oc new-app <app-name>
The drawback is that for the S2I to be minimal it should only support binary deployment. E.g. you cannot point it to a source directly so it needs to produce an error message if someone tries to use it with source builds.
Trying to use image on aarch64 and it's not working:
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] podman run -v /home/g/downloads/code-with-quarkus/target/code-with-quarkus-1.0.0-SNAPSHOT-native-image-source-jar:/project:z --env LANG=C --userns=keep-id --rm quay.io/quarkus/ubi-quarkus-native-image:20.1.0-java11 -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dvertx.logger-delegate-factory-class-name=io.quarkus.vertx.core.runtime.VertxLogDelegateFactory -J-Dvertx.disableDnsResolver=true -J-Dio.netty.leakDetection.level=DISABLED -J-Dio.netty.allocator.maxOrder=1 -J-Duser.language=en -J-Dfile.encoding=UTF-8 --initialize-at-build-time= -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime -H:+JNI -jar code-with-quarkus-1.0.0-SNAPSHOT-runner.jar -H:FallbackThreshold=0 -H:+ReportExceptionStackTraces -H:-AddAllCharsets -H:-IncludeAllTimeZones -H:EnableURLProtocols=http --no-server -H:-UseServiceLoaderFeature -H:+StackTrace code-with-quarkus-1.0.0-SNAPSHOT-runner
{"msg":"exec container process `/opt/graalvm/bin/native-image`: Exec format error","level":"error","time":"2020-07-29T10:03:36.000781782Z"}
The image descriptor is wrongly assuming all images are for amd64
, see here.
Since GraalVM offers aarch64 downloads, should we provode complementary images for that arch?
Disk space issue again...
I've got the this error when running the container with the image cescoffier/native-base:latest
:
./application: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Is it because there is missing some library in the image? Could it be solved by compiling the image to avoid the use of libstdc++.so.6?
I've compiled the application with the command in the documentation:
mvn package -Pnative -Dquarkus.native.container-runtime=docker
And I've built the application from within a docker container with this image quay.io/quarkus/centos-quarkus-maven:19.3.1-java8
. I've tried also with the version 20.0.0 with the same results.
However, if I run it using registry.access.redhat.com/ubi8/ubi-minimal
image, it works.
#13 made me think that, in an ideal world, we should have CI with integration tests of (all, "supported") Quarkus Docker images ... so that should, ultimately, include the:
registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift
)Currently the S2I image the native output *-runner
to a directory making the final native application name depending on the maven output. This makes it harder to create for example a chained build since input from a chained build cannot contain wildcards. I suggest changing the name of the application to /home/quarkus/application
Hi,
Would it make sense to be able to run the unit tests when packaging the application in native mode? I can see that we are skipping the tests, but I think it could be useful to be able to run them? Maybe we could use an Environment variable?
The Gradle command from quarkus-native-s2i-scripts does not seem right or is very outdated.
FYI GraalVM CE just released a new pico version
It looks like 20.3.1.1 and 21.0.0.1 update labsJDK, while 20.3.1.2 and 21.0.0.2 fixe some gu issues and a truffle/polyglot bug (oracle/graal@dd7c66b)
From zulip:
Steve Bylo: If you see the output, the process needs to be run with "exec"
docker run --rm quay.io/quarkus/ubi-quarkus-native-s2i:19.1.1 cat /usr/local/s2i/run
#!/bin/sh
${QUARKUS_HOME}/application -Dquarkus.http.host=0.0.0.0
Should be:
#!/bin/sh
exec ${QUARKUS_HOME}/application -Dquarkus.http.host=0.0.0.0
So, the java process receives the terminate signal from the platform, Kube.
See #139.
The image centos-quarkus-maven is still listed in the README file (and there are a few other references in the repo to it)
I think (since #22) you no longer base on centos, and the quay.io pages suggest it has not been updated (due to the number of security issues) despite the "last modifed" of 5 days ago (at the time of writing)
As discussed in graalvm/mandrel#95 we would like to have "floating" tags for mandrel images.
The floating tags would be based on the major.minor
part of the tag and point to the latest major.minor.micro.patch.Final
tag, i.e., 20.1-java11
would point to 20.1.0.1.Final-java11
today and later to 20.1.0.2.Final
when released.
Ideally this process should be automated in https://github.com/quarkusio/quarkus-images/blob/master/.github/build-mandrel-images.sh but I see the following issue.
When a new image is created and pushed on quay it is not made public until someone does this manually.
If we are to automate the update of the floating tags how would that work?
We would essentially have the floating tag (which should be public) point to a private tag and thus break builds until the new tag becomes public.
\cc @galderz @cescoffier
Link to the READMEs (GraalVM Native S2I,centos-quarkus-maven ) within the README.me home page are wrong
For more information about this image, please refer its module README: --> WRONG Link GraalVM Native S2I
For more information about this image, please refer its module README: --> WRONG Link centos-quarkus-maven
like also for the quay.io
org
The images are available on --> WRONG Link Quay.io
FYI : @cescoffier
Building a native image results in:
Error occurred during initialization of VM
Could not find agent library native-image-diagnostics-agent on the library path, with error: libnative-image-diagnostics-agent.so: cannot open shared object file: No such file or directory
Error: Image build request failed with exit status 1
Issue is not present on mandrel 20.2-java11.
Trying to build a native image usinng s2i but can't set my own settings.xml for authenticate my own repository. I saw this variable MVN_ADDITIONAL_ARGS in the mvn package assembly script but it does not the setting value. What I can see is that its not defined in the module.yml.
Could it be added?
Using a cluster proxy seems to cause issues with the S2I build, tested using ubi-quarkus-native-s2i:19.3.1-java8. We've had success with the eap72-openshift image on the same cluster.
# oc get proxy/cluster -o json | jq .spec
{
"httpProxy": "http://proxy.example.com:8080",
"httpsProxy": "http://proxy.example.com:8080",
"noProxy": ".example.com",
"readinessEndpoints": [
"http://www.google.com",
"https://www.google.com"
],
"trustedCA": {
"name": "user-ca-bundle"
}
}
# oc new-build quay.io/quarkus/ubi-quarkus-native-s2i:19.3.1-java8~https://github.com/quarkusio/quarkus-quickstarts.git --context-dir=getting-started --name=quarkus-quickstart-native
--> Found container image d35d3cd (2 weeks old) from quay.io for "quay.io/quarkus/ubi-quarkus-native-s2i:19.3.1-java8"
Quarkus.io S2I (GraalVM Native)
-------------------------------
Quarkus.io S2I image for building Kubernetes Native Java GraalVM applications and running its Native Executables
Tags: builder, java, quarkus, native
* An image stream tag will be created as "ubi-quarkus-native-s2i:19.3.1-java8" that will track the source image
* A source build using source code from https://github.com/quarkusio/quarkus-quickstarts.git will be created
* The resulting image will be pushed to image stream tag "quarkus-quickstart-native:latest"
* Every time "ubi-quarkus-native-s2i:19.3.1-java8" changes a new build will be triggered
--> Creating resources with label build=quarkus-quickstart-native ...
imagestream.image.openshift.io "ubi-quarkus-native-s2i" created
imagestream.image.openshift.io "quarkus-quickstart-native" created
buildconfig.build.openshift.io "quarkus-quickstart-native" created
--> Success
# oc logs bc/quarkus-quickstart-native -f
Cloning "https://github.com/quarkusio/quarkus-quickstarts.git" ...
Commit: 3211164dd8c56671f509e76cf39facb9e7a40d07 ([RELEASE] - Bump version to 1.2.0.Final)
Author: Guillaume Smet <[email protected]>
Date: Tue Jan 28 08:18:04 2020 +0100
Caching blobs under "/var/cache/blobs".
Getting image source signatures
Copying blob sha256:cf0f3ebe9f536c782ab3835049cfbd9a663761ded9370791ef6ea3965c823aad
Copying blob sha256:57de4da701b511cba33bbdc424757f7f3b408bea741ca714ace265da9b59191a
Copying blob sha256:5a3e3396e22a3f9abfec5265b64444fb4d30d24ae7d10aea3cc188cf4f43ef29
Writing manifest to image destination
Storing signatures
Generating dockerfile with builder image quay.io/quarkus/ubi-quarkus-native-s2i@sha256:6e385a71b792230c038db1d9045f0fb5eb4aeda31cabfe62dd3d6cc8e64b6760
STEP 1: FROM quay.io/quarkus/ubi-quarkus-native-s2i@sha256:6e385a71b792230c038db1d9045f0fb5eb4aeda31cabfe62dd3d6cc8e64b6760
STEP 2: LABEL "io.openshift.build.commit.date"="Tue Jan 28 08:18:04 2020 +0100" "io.openshift.build.commit.id"="3211164dd8c56671f509e76cf39facb9e7a40d07" "io.openshift.build.commit.ref"="master" "io.openshift.build.commit.message"="[RELEASE] - Bump version to 1.2.0.Final" "io.openshift.build.source-location"="https://github.com/quarkusio/quarkus-quickstarts.git" "io.openshift.build.source-context-dir"="getting-started" "io.openshift.build.image"="quay.io/quarkus/ubi-quarkus-native-s2i@sha256:6e385a71b792230c038db1d9045f0fb5eb4aeda31cabfe62dd3d6cc8e64b6760" "io.openshift.build.commit.author"="Guillaume Smet <[email protected]>"
STEP 3: ENV ARTIFACT_COPY_ARGS="-p -r lib/ *-runner.jar" JAVA_OPTIONS="-Dquarkus.http.host=0.0.0.0" OPENSHIFT_BUILD_NAME="quarkus-quickstart-native-1" OPENSHIFT_BUILD_NAMESPACE="build-test" OPENSHIFT_BUILD_SOURCE="https://github.com/quarkusio/quarkus-quickstarts.git" OPENSHIFT_BUILD_COMMIT="3211164dd8c56671f509e76cf39facb9e7a40d07"
STEP 4: USER root
STEP 5: COPY upload/src /tmp/src
STEP 6: RUN chown -R 1001:0 /tmp/src
time="2020-01-31T22:35:51Z" level=warning msg="pkg/chroot: error unmounting \"/tmp/buildah162587256/mnt/rootfs\": error checking if \"/tmp/buildah162587256/mnt/rootfs/sys/fs/cgroup/pids\" is mounted: no such file or directory"
time="2020-01-31T22:35:51Z" level=warning msg="pkg/bind: error unmounting \"/tmp/buildah162587256/mnt/rootfs\": error checking if \"/tmp/buildah162587256/mnt/rootfs/sys/fs/cgroup/pids\" is mounted: no such file or directory"
STEP 7: USER 1001
STEP 8: RUN /usr/local/s2i/assemble
+ CONFIGURE_SCRIPTS=(${QUARKUS_HOME}/.m2/configure-maven.sh)
+ source /home/quarkus/.m2/configure.sh
++ executeModules preConfigure
++ for module in ${CONFIGURE_SCRIPTS[@]}
++ prepareModule
++ unset -f preConfigure
++ unset -f configure
++ unset -f postConfigure
++ unset -f prepareEnv
++ unset -f preConfigureEnv
++ unset -f configureEnv
++ unset -f postConfigureEnv
++ executeModule /home/quarkus/.m2/configure-maven.sh preConfigure
++ source /home/quarkus/.m2/configure-maven.sh
+++ type -t preConfigure
++ '[' -n '' ']'
++ executeModules configure
++ for module in ${CONFIGURE_SCRIPTS[@]}
++ prepareModule
++ unset -f preConfigure
++ unset -f configure
++ unset -f postConfigure
++ unset -f prepareEnv
++ unset -f preConfigureEnv
++ unset -f configureEnv
++ unset -f postConfigureEnv
++ executeModule /home/quarkus/.m2/configure-maven.sh configure
++ source /home/quarkus/.m2/configure-maven.sh
+++ type -t configure
++ '[' -n function ']'
++ eval configure
+++ configure
+++ configure_proxy
+++ HTTP_PROXY_USERNAME=
+++ HTTP_PROXY_PASSWORD=
+++ proxy=http://proxy.example.com:8080
++++ cut -d : -f 1,2
++++ echo http://proxy.example.com:8080
+++ proxyhost=http://proxy.example.com
++++ echo http://proxy.example.com:8080
++++ cut -d : -f 3
+++ proxyport=8080
+++ '[' -n http://proxy.example.com ']'
++++ echo http://proxy.example.com
++++ grep -i https://
+++ [[ -n '' ]]
+++ proxyport=8080
+++ proxyprotocol=http
+++ xml='<proxy> <id>genproxy</id> <active>true</active> <protocol>http</protocol> <host>http://proxy.example.com</host> <port>8080</port>'
+++ '[' -n '' -a -n '' ']'
+++ '[' -n '' ']'
+++ xml='<proxy> <id>genproxy</id> <active>true</active> <protocol>http</protocol> <host>http://proxy.example.com</host> <port>8080</port> </proxy>'
+++ sed -i 's|<!-- ### configured http proxy ### -->|<proxy> <id>genproxy</id> <active>true</active> <protocol>http</protocol> <host>http://proxy.example.com</host> <port>8080</port> </proxy>|' /home/quarkus/.m2/settings.xml
+++ configure_mirrors
+++ '[' -n '' ']'
++ processEnvFiles
++ '[' -n '' ']'
++ executeModules postConfigure
++ for module in ${CONFIGURE_SCRIPTS[@]}
++ prepareModule
++ unset -f preConfigure
++ unset -f configure
++ unset -f postConfigure
++ unset -f prepareEnv
++ unset -f preConfigureEnv
++ unset -f configureEnv
++ unset -f postConfigureEnv
++ executeModule /home/quarkus/.m2/configure-maven.sh postConfigure
++ source /home/quarkus/.m2/configure-maven.sh
+++ type -t postConfigure
++ '[' -n '' ']'
+ SRC_DIR=/tmp/src/
+ cd /tmp/src/
+ '[' -e ./pom.xml -a -z '' ']'
+ USE_GRADLE=false
+ false
+ BUILD_DIR=target
+ mvn package -Pnative -e -B -DskipTests -Dmaven.javadoc.skip=true -Dmaven.site.skip=true -Dmaven.source.skip=true -Djacoco.skip=true -Dcheckstyle.skip=true -Dfindbugs.skip=true -Dpmd.skip=true -Dfabric8.skip=true
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] Downloading from central: https://repo1.maven.org/maven2/io/quarkus/quarkus-bom/1.2.0.Final/quarkus-bom-1.2.0.Final.pom
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] Non-resolvable import POM: Could not transfer artifact io.quarkus:quarkus-bom:pom:1.2.0.Final from/to central (https://repo1.maven.org/maven2): http://proxy.example.com: Name or service not known @ line 21, column 25
[ERROR] 'dependencies.dependency.version' for io.quarkus:quarkus-resteasy:jar is missing. @ line 32, column 21
[ERROR] 'dependencies.dependency.version' for io.quarkus:quarkus-junit5:jar is missing. @ line 36, column 21
[ERROR] 'dependencies.dependency.version' for io.rest-assured:rest-assured:jar is missing. @ line 41, column 21
@
[ERROR] The build could not read 1 project -> [Help 1]
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[ERROR] Non-resolvable import POM: Could not transfer artifact io.quarkus:quarkus-bom:pom:1.2.0.Final from/to central (https://repo1.maven.org/maven2): http://proxy.example.com: Name or service not known @ line 21, column 25
[ERROR] 'dependencies.dependency.version' for io.quarkus:quarkus-resteasy:jar is missing. @ line 32, column 21
[ERROR] 'dependencies.dependency.version' for io.quarkus:quarkus-junit5:jar is missing. @ line 36, column 21
[ERROR] 'dependencies.dependency.version' for io.rest-assured:rest-assured:jar is missing. @ line 41, column 21
at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:397)
at org.apache.maven.graph.DefaultGraphBuilder.collectProjects (DefaultGraphBuilder.java:414)
at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor (DefaultGraphBuilder.java:405)
at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:82)
at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:507)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:219)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]
[ERROR] The project org.acme:getting-started:1.0-SNAPSHOT (/tmp/src/pom.xml) has 4 errors
[ERROR] Non-resolvable import POM: Could not transfer artifact io.quarkus:quarkus-bom:pom:1.2.0.Final from/to central (https://repo1.maven.org/maven2): http://proxy.example.com: Name or service not known @ line 21, column 25: Unknown host http://proxy.example.com: Name or service not known -> [Help 2]
org.apache.maven.model.resolution.UnresolvableModelException: Could not transfer artifact io.quarkus:quarkus-bom:pom:1.2.0.Final from/to central (https://repo1.maven.org/maven2): http://proxy.example.com: Name or service not known
at org.apache.maven.project.ProjectModelResolver.resolveModel (ProjectModelResolver.java:196)
at org.apache.maven.model.building.DefaultModelBuilder.importDependencyManagement (DefaultModelBuilder.java:1265)
at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:474)
at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:440)
at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:618)
at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:387)
at org.apache.maven.graph.DefaultGraphBuilder.collectProjects (DefaultGraphBuilder.java:414)
at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor (DefaultGraphBuilder.java:405)
at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:82)
at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:507)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:219)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact io.quarkus:quarkus-bom:pom:1.2.0.Final from/to central (https://repo1.maven.org/maven2): http://proxy.example.com: Name or service not known
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:424)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.java:207)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact (DefaultRepositorySystem.java:262)
at org.apache.maven.project.ProjectModelResolver.resolveModel (ProjectModelResolver.java:192)
at org.apache.maven.model.building.DefaultModelBuilder.importDependencyManagement (DefaultModelBuilder.java:1265)
at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:474)
at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:440)
at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:618)
at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:387)
at org.apache.maven.graph.DefaultGraphBuilder.collectProjects (DefaultGraphBuilder.java:414)
at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor (DefaultGraphBuilder.java:405)
at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:82)
at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:507)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:219)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact io.quarkus:quarkus-bom:pom:1.2.0.Final from/to central (https://repo1.maven.org/maven2): http://proxy.example.com: Name or service not known
at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed (ArtifactTransportListener.java:52)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run (BasicRepositoryConnector.java:369)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run (RunnableErrorForwarder.java:75)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute (BasicRepositoryConnector.java:644)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get (BasicRepositoryConnector.java:262)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads (DefaultArtifactResolver.java:499)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:401)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.java:207)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact (DefaultRepositorySystem.java:262)
at org.apache.maven.project.ProjectModelResolver.resolveModel (ProjectModelResolver.java:192)
at org.apache.maven.model.building.DefaultModelBuilder.importDependencyManagement (DefaultModelBuilder.java:1265)
at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:474)
at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:440)
at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:618)
at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:387)
at org.apache.maven.graph.DefaultGraphBuilder.collectProjects (DefaultGraphBuilder.java:414)
at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor (DefaultGraphBuilder.java:405)
at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:82)
at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:507)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:219)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: org.apache.maven.wagon.TransferFailedException: http://proxy.example.com: Name or service not known
at org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.fillInputData (AbstractHttpClientWagon.java:1206)
at org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.fillInputData (AbstractHttpClientWagon.java:1094)
at org.apache.maven.wagon.StreamWagon.getInputStream (StreamWagon.java:126)
at org.apache.maven.wagon.StreamWagon.getIfNewer (StreamWagon.java:88)
at org.apache.maven.wagon.StreamWagon.get (StreamWagon.java:61)
at org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run (WagonTransporter.java:567)
at org.eclipse.aether.transport.wagon.WagonTransporter.execute (WagonTransporter.java:435)
at org.eclipse.aether.transport.wagon.WagonTransporter.get (WagonTransporter.java:412)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask (BasicRepositoryConnector.java:457)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run (BasicRepositoryConnector.java:364)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run (RunnableErrorForwarder.java:75)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute (BasicRepositoryConnector.java:644)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get (BasicRepositoryConnector.java:262)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads (DefaultArtifactResolver.java:499)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:401)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.java:207)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact (DefaultRepositorySystem.java:262)
at org.apache.maven.project.ProjectModelResolver.resolveModel (ProjectModelResolver.java:192)
at org.apache.maven.model.building.DefaultModelBuilder.importDependencyManagement (DefaultModelBuilder.java:1265)
at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:474)
at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:440)
at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:618)
at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:387)
at org.apache.maven.graph.DefaultGraphBuilder.collectProjects (DefaultGraphBuilder.java:414)
at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor (DefaultGraphBuilder.java:405)
at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:82)
at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:507)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:219)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.net.UnknownHostException: http://proxy.example.com: Name or service not known
at java.net.Inet6AddressImpl.lookupAllHostAddr (Native Method)
at java.net.InetAddress$2.lookupAllHostAddr (InetAddress.java:929)
at java.net.InetAddress.getAddressesFromNameService (InetAddress.java:1324)
at java.net.InetAddress.getAllByName0 (InetAddress.java:1277)
at java.net.InetAddress.getAllByName (InetAddress.java:1193)
at java.net.InetAddress.getAllByName (InetAddress.java:1127)
at org.apache.maven.wagon.providers.http.httpclient.impl.conn.SystemDefaultDnsResolver.resolve (SystemDefaultDnsResolver.java:45)
at org.apache.maven.wagon.providers.http.httpclient.impl.conn.DefaultHttpClientConnectionOperator.connect (DefaultHttpClientConnectionOperator.java:112)
at org.apache.maven.wagon.providers.http.httpclient.impl.conn.PoolingHttpClientConnectionManager.connect (PoolingHttpClientConnectionManager.java:374)
at org.apache.maven.wagon.providers.http.httpclient.impl.execchain.MainClientExec.establishRoute (MainClientExec.java:401)
at org.apache.maven.wagon.providers.http.httpclient.impl.execchain.MainClientExec.execute (MainClientExec.java:236)
at org.apache.maven.wagon.providers.http.httpclient.impl.execchain.ProtocolExec.execute (ProtocolExec.java:186)
at org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RetryExec.execute (RetryExec.java:89)
at org.apache.maven.wagon.providers.http.httpclient.impl.execchain.RedirectExec.execute (RedirectExec.java:110)
at org.apache.maven.wagon.providers.http.httpclient.impl.client.InternalHttpClient.doExecute (InternalHttpClient.java:185)
at org.apache.maven.wagon.providers.http.httpclient.impl.client.CloseableHttpClient.execute (CloseableHttpClient.java:83)
at org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.execute (AbstractHttpClientWagon.java:958)
at org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.fillInputData (AbstractHttpClientWagon.java:1117)
at org.apache.maven.wagon.providers.http.wagon.shared.AbstractHttpClientWagon.fillInputData (AbstractHttpClientWagon.java:1094)
at org.apache.maven.wagon.StreamWagon.getInputStream (StreamWagon.java:126)
at org.apache.maven.wagon.StreamWagon.getIfNewer (StreamWagon.java:88)
at org.apache.maven.wagon.StreamWagon.get (StreamWagon.java:61)
at org.eclipse.aether.transport.wagon.WagonTransporter$GetTaskRunner.run (WagonTransporter.java:567)
at org.eclipse.aether.transport.wagon.WagonTransporter.execute (WagonTransporter.java:435)
at org.eclipse.aether.transport.wagon.WagonTransporter.get (WagonTransporter.java:412)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask (BasicRepositoryConnector.java:457)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run (BasicRepositoryConnector.java:364)
at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run (RunnableErrorForwarder.java:75)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute (BasicRepositoryConnector.java:644)
at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get (BasicRepositoryConnector.java:262)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads (DefaultArtifactResolver.java:499)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve (DefaultArtifactResolver.java:401)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts (DefaultArtifactResolver.java:229)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact (DefaultArtifactResolver.java:207)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact (DefaultRepositorySystem.java:262)
at org.apache.maven.project.ProjectModelResolver.resolveModel (ProjectModelResolver.java:192)
at org.apache.maven.model.building.DefaultModelBuilder.importDependencyManagement (DefaultModelBuilder.java:1265)
at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:474)
at org.apache.maven.model.building.DefaultModelBuilder.build (DefaultModelBuilder.java:440)
at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:618)
at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:387)
at org.apache.maven.graph.DefaultGraphBuilder.collectProjects (DefaultGraphBuilder.java:414)
at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor (DefaultGraphBuilder.java:405)
at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:82)
at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:507)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:219)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR] 'dependencies.dependency.version' for io.quarkus:quarkus-resteasy:jar is missing. @ line 32, column 21
[ERROR] 'dependencies.dependency.version' for io.quarkus:quarkus-junit5:jar is missing. @ line 36, column 21
[ERROR] 'dependencies.dependency.version' for io.rest-assured:rest-assured:jar is missing. @ line 41, column 21
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/UnresolvableModelException
subprocess exited with status 1
subprocess exited with status 1
error: build error: error building at STEP "RUN /usr/local/s2i/assemble": exit status 1
Dears,
How can I update some libraries like for example (glibc) ? Can I execute some update commands from Dockerfile ? If yes please share them.
I put my jar in the path ${SRC_DIR}/native-image-runner/app-runner.jar
. Otherwise the $(ls ${SRC_DIR}/*-runner
was not able to find my file.
app_path=$(ls ${SRC_DIR}/*-runner)
cp -v ${app_path} ${QUARKUS_HOME}/application
When the app is placed in the ${SRC_DIR}/*-runner
dir how is the cp command supposed to work when it doesn't copy from ${SRC_DIR}/*-runner
but expecting the to be copied file in the current dir?
Log:
9:55:42 Assemblying
09:55:42 + SRC_DIR=/tmp/src/
09:55:42 + echo 'Building with uploaded src from /tmp/src/'
09:55:42 + echo Assemblying
09:55:42 ++ ls /tmp/src//native-image-runner
09:55:42 ++ wc -l
09:55:42 + '[' 1 -eq 1 ']'
09:55:42 ++ ls /tmp/src//native-image-runner
09:55:42 + app_path=app-runner.jar
09:55:42 + cp -v app-runner.jar /home/quarkus/application
09:55:42 cp: cannot stat 'app-runner.jar': No such file or directory
09:55:42 error: build error: non-zero (13) exit code from quay.io/quarkus/ubi-quarkus-native-binary-s2i@sha256:84c4594a987046b3720981d32c0b5a0a7ac8f33c19ad5f1a69526a5bef7a1c18
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.