Open imadeit opened 3 years ago
We're rather tied to OpenLiberty at the moment, so I wouldn't expect to get to this one until they get to https://github.com/OpenLiberty/ci.docker/issues/241
I recently got a MacbookPro with an M1 myself and was able to get it running ok with the following steps (using colima + docker):
manually build the parent image from https://github.com/OpenLiberty/ci.docker
build/build.sh --dir=releases/latest/kernel-slim --dockerfile=Dockerfile.ubuntu.openjdk11 --tag=openliberty/open-liberty:mine
modify our Dockerfile to use that custom open-liberty image instead of the official one. in addition to changing the FROM line, i changed the yum lines to apt-get equivalents
# ----------------------------------------------------------------------------
# (C) Copyright IBM Corp. 2016, 2022
#
# SPDX-License-Identifier: Apache-2.0
# ----------------------------------------------------------------------------
# Stage: Base
FROM openliberty/open-liberty:mine as base
USER root
RUN apt-get update && apt-get install unzip
RUN install -d -o 1001 /opt/fhir-server
USER 1001
COPY target/fhir-server-distribution.zip /tmp/
RUN unzip -qq /tmp/fhir-server-distribution.zip -d /tmp && \
/tmp/fhir-server-dist/install.sh /opt/ol && \
mv /tmp/fhir-server-dist/tools /opt/fhir-server/tools
COPY src/main/docker/ibm-fhir-server/bootstrap.properties /opt/ol/wlp/usr/servers/defaultServer/
COPY src/main/docker/ibm-fhir-server/bootstrap.sh /opt/fhir-server/
# ----------------------------------------------------------------------------
# Stage: Runnable
FROM openliberty/open-liberty:mine
ARG VERBOSE=true
ARG FHIR_SERVER_VERSION=5.0.0-SNAPSHOT
# The following labels are required:
LABEL name='LinuxForHealth FHIR Server'
LABEL version="$FHIR_SERVER_VERSION"
LABEL summary="LinuxForHealth FHIR Server with OpenJ9 and UBI 8"
LABEL description="The LinuxForHealth FHIR Server is a modular Java implementation of the HL7 FHIR specification that supports versions R4 and R4B with a focus on performance and configurability."
ENV FHIR_CONFIG_HOME=/opt/ol/wlp/usr/servers/defaultServer \
WLP_LOGGING_CONSOLE_SOURCE=message,trace,accessLog,ffdc,audit \
WLP_LOGGING_CONSOLE_LOGLEVEL=info \
WLP_LOGGING_CONSOLE_FORMAT=SIMPLE \
WLP_LOGGING_MESSAGE_SOURCE="" \
WLP_LOGGING_MESSAGE_FORMAT=JSON \
TRACE_FILE=stdout \
TRACE_FORMAT=BASIC
COPY target/LICENSE /licenses/
COPY --chown=1001:0 --from=base /opt/ol/wlp/usr/servers/defaultServer/server.xml /opt/ol/wlp/usr/servers/defaultServer/
COPY --chown=1001:0 --from=base /opt/ol/wlp/usr/servers/defaultServer/configDropins /opt/ol/wlp/usr/servers/defaultServer/configDropins
RUN features.sh
COPY --chown=1001:0 --from=base /opt/ol/wlp/usr /opt/ol/wlp/usr
RUN configure.sh && \
mkdir -p /output/bulkdata
COPY --chown=1001:0 --from=base /opt/fhir-server /opt/fhir-server
RUN mkdir -p /config/configDropins/overrides && \
chmod -R 775 /config/configDropins/overrides && \
chmod -R 775 /opt/ol/wlp/usr/servers/defaultServer/configDropins/defaults
# Set the working directory to the liberty defaultServer
WORKDIR ${FHIR_CONFIG_HOME}
ENTRYPOINT ["/opt/fhir-server/bootstrap.sh"]
CMD ["/opt/ol/wlp/bin/server", "run", "defaultServer"]
I've seen a couple strange errors, but havn't dug in to those and overall it seems to work OK.
Issue number 1, at startup (from FFDC), seems to be benign:
------Start of DE processing------ = [7/21/22, 19:59:39:843 UTC]
Exception = java.lang.ClassNotFoundException
Source = com.ibm.ws.jmx.connector.local.LocalConnectorActivator$LocalConnectorHelper$1
probeid = 139
Stack Dump = java.lang.ClassNotFoundException: com.sun.tools.attach.VirtualMachine
at java.base/java.lang.Class.forNameImpl(Native Method)
at java.base/java.lang.Class.forName(Unknown Source)
at com.ibm.ws.jmx.connector.local.LocalConnectorActivator$LocalConnectorHelper$1.run(LocalConnectorActivator.java:124)
at com.ibm.ws.jmx.connector.local.LocalConnectorActivator$LocalConnectorHelper$1.run(LocalConnectorActivator.java:60)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at com.ibm.ws.jmx.connector.local.LocalConnectorActivator$LocalConnectorHelper.initConnectorAddress(LocalConnectorActivator.java:60)
at com.ibm.ws.jmx.connector.local.LocalConnectorActivator$LocalConnectorHelper.<clinit>(LocalConnectorActivator.java:50)
at com.ibm.ws.jmx.connector.local.LocalConnectorActivator.createJmxAddressResource(LocalConnectorActivator.java:212)
at com.ibm.ws.jmx.connector.local.LocalConnectorActivator.createJMXWorkAreaResource(LocalConnectorActivator.java:204)
at com.ibm.ws.jmx.connector.local.LocalConnectorActivator.<init>(LocalConnectorActivator.java:161)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.apache.felix.scr.impl.inject.internal.ComponentConstructorImpl.newInstance(ComponentConstructorImpl.java:316)
at org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:286)
at org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:115)
at org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:1000)
at org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:973)
at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:785)
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1271)
at org.apache.felix.scr.impl.manager.DependencyManager$SingleStaticCustomizer.addedService(DependencyManager.java:1222)
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1200)
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.customizerAdded(ServiceTracker.java:1121)
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.trackAdding(ServiceTracker.java:928)
at org.apache.felix.scr.impl.manager.ServiceTracker$AbstractTracked.track(ServiceTracker.java:864)
at org.apache.felix.scr.impl.manager.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:1152)
at org.apache.felix.scr.impl.BundleComponentActivator$ListenerInfo.serviceChanged(BundleComponentActivator.java:114)
at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:120)
at org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:956)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:936)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:873)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:141)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:261)
at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:495)
at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:514)
at org.eclipse.osgi.internal.framework.BundleContextImpl.registerService(BundleContextImpl.java:1042)
at com.ibm.ws.kernel.feature.internal.FeatureManager.update(FeatureManager.java:791)
at com.ibm.ws.kernel.feature.internal.FeatureManager.processFeatureChanges(FeatureManager.java:887)
at com.ibm.ws.kernel.feature.internal.FeatureManager$1.run(FeatureManager.java:673)
at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java:245)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Dump of callerThis
Object type = com.ibm.ws.jmx.connector.local.LocalConnectorActivator$LocalConnectorHelper$1
serialVersionUID = -6961869169337658885
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@ea0665b3
strings[0] = "TraceComponent[com.ibm.ws.jmx.connector.local.LocalConnectorActivator$LocalConnectorHelper$1,class com.ibm.ws.jmx.connector.local.LocalConnectorActivator$LocalConnectorHelper$1,[],null,null]"
Issue number 2: connection resets when under load
WARNING: Interceptor for {https://localhost:9443/fhir-server/api/v4/ServiceRequest}WebClient has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:67)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:710)
at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1086)
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:932)
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:901)
at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:461)
at org.apache.cxf.jaxrs.client.SyncInvokerImpl.method(SyncInvokerImpl.java:150)
at org.apache.cxf.jaxrs.client.SyncInvokerImpl.post(SyncInvokerImpl.java:90)
at org.apache.cxf.jaxrs.client.spec.InvocationBuilderImpl.post(InvocationBuilderImpl.java:158)
at com.ibm.fhir.server.test.examples.ExampleRequestProcessor.process(ExampleRequestProcessor.java:83)
at com.ibm.fhir.model.spec.test.R4ExamplesDriver.processExample(R4ExamplesDriver.java:375)
at com.ibm.fhir.model.spec.test.R4ExamplesDriver.processExample(R4ExamplesDriver.java:272)
at com.ibm.fhir.model.spec.test.R4ExamplesDriver$1.run(R4ExamplesDriver.java:204)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: javax.net.ssl.SSLHandshakeException: SSLHandshakeException invoking https://localhost:9443/fhir-server/api/v4/ServiceRequest: Remote host terminated the handshake
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1400)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1384)
at org.apache.cxf.io.AbstractWrappedOutputStream.close(AbstractWrappedOutputStream.java:77)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:671)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63)
... 16 more
Caused by: javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
at java.base/sun.security.ssl.SSLSocketImpl.handleEOF(SSLSocketImpl.java:1696)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1514)
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1416)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:456)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:427)
at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:572)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:197)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1367)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1342)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:246)
at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.setupWrappedStream(URLConnectionHTTPConduit.java:274)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1343)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1304)
at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.onFirstWrite(URLConnectionHTTPConduit.java:307)
at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:47)
at org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1356)
... 20 more
Suppressed: java.net.SocketException: Broken pipe (Write failed)
at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
at java.base/sun.security.ssl.SSLSocketOutputRecord.encodeAlert(SSLSocketOutputRecord.java:81)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:389)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:296)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:468)
... 33 more
Caused by: java.io.EOFException: SSL peer shut down incorrectly
at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:483)
at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:472)
at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506)
... 35 more
Aug 01, 2022 11:41:23 AM com.ibm.fhir.model.spec.test.R4ExamplesDriver processExample
SEVERE: processResource(json/spec/servicerequest-example.json) unexpected failure: javax.net.ssl.SSLHandshakeException: SSLHandshakeException invoking https://localhost:9443/fhir-server/api/v4/ServiceRequest: Remote host terminated the handshake
..Aug 01, 2022 11:41:24 AM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging
WARNING: Interceptor for {https://localhost:9443/fhir-server/api/v4/Slot}WebClient has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:67)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.jaxrs.client.AbstractClient.doRunInterceptorChain(AbstractClient.java:710)
at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1086)
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:932)
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:901)
at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:461)
at org.apache.cxf.jaxrs.client.SyncInvokerImpl.method(SyncInvokerImpl.java:150)
at org.apache.cxf.jaxrs.client.SyncInvokerImpl.post(SyncInvokerImpl.java:90)
at org.apache.cxf.jaxrs.client.spec.InvocationBuilderImpl.post(InvocationBuilderImpl.java:158)
at com.ibm.fhir.server.test.examples.ExampleRequestProcessor.process(ExampleRequestProcessor.java:83)
at com.ibm.fhir.model.spec.test.R4ExamplesDriver.processExample(R4ExamplesDriver.java:375)
at com.ibm.fhir.model.spec.test.R4ExamplesDriver.processExample(R4ExamplesDriver.java:272)
at com.ibm.fhir.model.spec.test.R4ExamplesDriver$1.run(R4ExamplesDriver.java:204)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.net.SocketException: SocketException invoking https://localhost:9443/fhir-server/api/v4/Slot: Connection reset
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1400)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1384)
at org.apache.cxf.io.AbstractWrappedOutputStream.close(AbstractWrappedOutputStream.java:77)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:671)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:63)
... 16 more
Caused by: java.net.SocketException: Connection reset
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:186)
at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:478)
at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:472)
at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506)
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1416)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:456)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:427)
at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:572)
at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:197)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream0(HttpURLConnection.java:1367)
at java.base/sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1342)
at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:246)
at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.setupWrappedStream(URLConnectionHTTPConduit.java:274)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1343)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1304)
at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.onFirstWrite(URLConnectionHTTPConduit.java:307)
at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:47)
at org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1356)
... 20 more
I rebuilt my image and now its even worse...failing to startup with the following:
------Start of DE processing------ = [8/11/22, 17:45:45:177 UTC]
Exception = org.jboss.weld.exceptions.DefinitionException
Source = com.ibm.ws.container.service.state.internal.ApplicationStateManager
probeid = 54
Stack Dump = org.jboss.weld.exceptions.DefinitionException
at org.jboss.weld.bootstrap.events.ContainerLifecycleEvents.fireProcessAnnotatedType(ContainerLifecycleEvents.java:189)
at org.jboss.weld.bootstrap.events.ContainerLifecycleEvents.fireProcessAnnotatedType(ContainerLifecycleEvents.java:173)
at org.jboss.weld.bootstrap.BeanDeployer.processAnnotatedTypes(BeanDeployer.java:166)
at org.jboss.weld.bootstrap.BeanDeployment.createTypes(BeanDeployment.java:219)
at org.jboss.weld.bootstrap.WeldStartup.startInitialization(WeldStartup.java:426)
at org.jboss.weld.bootstrap.WeldBootstrap.startInitialization(WeldBootstrap.java:79)
at com.ibm.ws.cdi.impl.CDIContainerImpl$2.run(CDIContainerImpl.java:170)
at com.ibm.ws.cdi.impl.CDIContainerImpl$2.run(CDIContainerImpl.java:167)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at com.ibm.ws.cdi.impl.CDIContainerImpl.startInitialization(CDIContainerImpl.java:167)
at com.ibm.ws.cdi.liberty.CDIRuntimeImpl.applicationStarting(CDIRuntimeImpl.java:488)
at com.ibm.ws.container.service.state.internal.ApplicationStateManager.fireStarting(ApplicationStateManager.java:51)
at com.ibm.ws.container.service.state.internal.StateChangeServiceImpl.fireApplicationStarting(StateChangeServiceImpl.java:50)
at com.ibm.ws.app.manager.module.internal.SimpleDeployedAppInfoBase.preDeployApp(SimpleDeployedAppInfoBase.java:547)
at com.ibm.ws.app.manager.module.internal.SimpleDeployedAppInfoBase.installApp(SimpleDeployedAppInfoBase.java:508)
at com.ibm.ws.app.manager.module.internal.DeployedAppInfoBase.deployApp(DeployedAppInfoBase.java:349)
at com.ibm.ws.app.manager.war.internal.WARApplicationHandlerImpl.install(WARApplicationHandlerImpl.java:65)
at com.ibm.ws.app.manager.internal.statemachine.StartAction.execute(StartAction.java:161)
at com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.enterState(ApplicationStateMachineImpl.java:1357)
at com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl.run(ApplicationStateMachineImpl.java:901)
at com.ibm.ws.threading.internal.ExecutorServiceImpl$RunnableWrapper.run(ExecutorServiceImpl.java:245)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at com.ibm.ws.security.javaeesec.cdi.extensions.JavaEESecCDIExtension.isAuthMechOverridden(JavaEESecCDIExtension.java:1056)
at com.ibm.ws.security.javaeesec.cdi.extensions.JavaEESecCDIExtension.processAnnotatedType(JavaEESecCDIExtension.java:116)
at com.ibm.ws.security.javaeesec.cdi.extensions.JavaEESecCDIExtension.processApplicationHAMClass(JavaEESecCDIExtension.java:100)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:95)
at org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:187)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:330)
at org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:123)
at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:308)
at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:286)
at javax.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:124)
at org.jboss.weld.util.Observers.notify(Observers.java:166)
at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:285)
at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:273)
at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:189)
at org.jboss.weld.bootstrap.events.ContainerLifecycleEvents.fireProcessAnnotatedType(ContainerLifecycleEvents.java:187)
... 23 more
Dump of callerThis
Object type = com.ibm.ws.container.service.state.internal.ApplicationStateManager
serialVersionUID = -6685368059484454124
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@a18c7830
strings[0] = "TraceComponent[com.ibm.ws.container.service.state.internal.ApplicationStateManager,class com.ibm.ws.container.service.state.internal.ApplicationStateManager,[Runtime],null,null]"
listeners = class com.ibm.wsspi.kernel.service.utils.ConcurrentServiceReferenceSet@593c8cbb
referenceName = "applicationStateListeners"
contextRef = class java.util.concurrent.atomic.AtomicReference@bd80c1d3
serialVersionUID = "/* Could not access serialVersionUID */"
VALUE = "/* Could not access VALUE */"
value = "/* Could not access value */"
elementMap = class java.util.LinkedHashMap@48c822f7
serialVersionUID = "/* Could not access serialVersionUID */"
head = "/* Could not access head */"
tail = "/* Could not access tail */"
accessOrder = "/* Could not access accessOrder */"
serialVersionUID = "/* Could not access serialVersionUID */"
DEFAULT_INITIAL_CAPACITY = "/* Could not access DEFAULT_INITIAL_CAPACITY */"
MAXIMUM_CAPACITY = "/* Could not access MAXIMUM_CAPACITY */"
DEFAULT_LOAD_FACTOR = "/* Could not access DEFAULT_LOAD_FACTOR */"
TREEIFY_THRESHOLD = "/* Could not access TREEIFY_THRESHOLD */"
UNTREEIFY_THRESHOLD = "/* Could not access UNTREEIFY_THRESHOLD */"
MIN_TREEIFY_CAPACITY = "/* Could not access MIN_TREEIFY_CAPACITY */"
table = "/* Could not access table */"
entrySet = "/* Could not access entrySet */"
size = "/* Could not access size */"
modCount = "/* Could not access modCount */"
threshold = "/* Could not access threshold */"
loadFactor = "/* Could not access loadFactor */"
keySet = "/* Could not access keySet */"
values = "/* Could not access values */"
elementSet = class java.util.concurrent.ConcurrentSkipListSet@dce5a904
serialVersionUID = "/* Could not access serialVersionUID */"
m = "/* Could not access m */"
MAX_ARRAY_SIZE = "/* Could not access MAX_ARRAY_SIZE */"
elementSetUnsorted = false
serialVersionUID = 756240983881166148
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@8ed57db7
strings[0] = "TraceComponent[com.ibm.wsspi.kernel.service.utils.ConcurrentServiceReferenceSet,class com.ibm.wsspi.kernel.service.utils.ConcurrentServiceReferenceSet,[kernelUtils],com.ibm.ws.kernel.service.utils.resources.ServiceMessages,null]"
serialVersionUID = 2284273176985484160
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@6fd12eed
strings[0] = "TraceComponent[com.ibm.ws.container.service.state.internal.StateChangeManager,class com.ibm.ws.container.service.state.internal.StateChangeManager,[Runtime],null,null]"
Dump of objectArray[0]
Object type = com.ibm.ws.container.service.app.deploy.internal.ApplicationInfoImpl
appName = "fhir-bulkdata-webapp"
appMetaData = class com.ibm.ws.container.service.app.deploy.internal.ApplicationMetaDataImpl@f89bf219
j2eeName = class com.ibm.ws.container.service.metadata.internal.J2EENameImpl@ab7e8886
serialVersionUID = 7488184044073147667
application = "fhir-bulkdata-webapp"
module = null
component = null
string = "fhir-bulkdata-webapp"
j2eeNameBytes = null
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@8fe72410
serialVersionUID = -7906531148367236579
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@bd8de0cd
strings[0] = "TraceComponent[com.ibm.ws.container.service.app.deploy.internal.ApplicationMetaDataImpl,class com.ibm.ws.container.service.app.deploy.internal.ApplicationMetaDataImpl,[container.service],com.ibm.ws.container.service.resources.Messages,null]"
tc = class com.ibm.websphere.ras.TraceComponent@c8fa9949
strings[0] = "TraceComponent[com.ibm.ws.runtime.metadata.MetaDataImpl,class com.ibm.ws.runtime.metadata.MetaDataImpl,[Runtime],null,null]"
NUM_STATIC_SLOTS = 4
ID_UNINITIALIZED = -1
id = 5
metaDataInterface = class java.lang.Class@b0511025
serialVersionUID = "/* Could not access serialVersionUID */"
AllPermissionsPD = "/* Could not access AllPermissionsPD */"
SYNTHETIC = "/* Could not access SYNTHETIC */"
ANNOTATION = "/* Could not access ANNOTATION */"
ENUM = "/* Could not access ENUM */"
MEMBER_INVALID_TYPE = "/* Could not access MEMBER_INVALID_TYPE */"
EmptyParameters = "/* Could not access EmptyParameters */"
vmRef = "/* Could not access vmRef */"
module = "/* Could not access module */"
protectionDomain = "/* Could not access protectionDomain */"
classNameString = "/* Could not access classNameString */"
fileNameString = "/* Could not access fileNameString */"
packageNameString = "/* Could not access packageNameString */"
annotationVars = "/* Could not access annotationVars */"
annotationVarsOffset = "/* Could not access annotationVarsOffset */"
classValueMap = "/* Could not access classValueMap */"
enumVars = "/* Could not access enumVars */"
enumVarsOffset = "/* Could not access enumVarsOffset */"
initializationLock = "/* Could not access initializationLock */"
methodHandleCache = "/* Could not access methodHandleCache */"
classRepoHolder = "/* Could not access classRepoHolder */"
reflectionFactory = "/* Could not access reflectionFactory */"
annotationCache = "/* Could not access annotationCache */"
annotationCacheOffset = "/* Could not access annotationCacheOffset */"
reflectCacheEnabled = "/* Could not access reflectCacheEnabled */"
reflectCacheDebug = "/* Could not access reflectCacheDebug */"
reflectCacheAppOnly = "/* Could not access reflectCacheAppOnly */"
metadataCache = "/* Could not access metadataCache */"
metadataCacheOffset = "/* Could not access metadataCacheOffset */"
cachedInterfaces = "/* Could not access cachedInterfaces */"
cachedInterfacesOffset = "/* Could not access cachedInterfacesOffset */"
cachedDeclaringClass = "/* Could not access cachedDeclaringClass */"
cachedDeclaringClassOffset = "/* Could not access cachedDeclaringClassOffset */"
cachedEnclosingClass = "/* Could not access cachedEnclosingClass */"
cachedEnclosingClassOffset = "/* Could not access cachedEnclosingClassOffset */"
cachedCheckInnerClassAttr = "/* Could not access cachedCheckInnerClassAttr */"
EMPTY_ANNOTATION_ARRAY = "/* Could not access EMPTY_ANNOTATION_ARRAY */"
implLookup = "/* Could not access implLookup */"
unsafe = "/* Could not access unsafe */"
nestHost = "/* Could not access nestHost */"
reflectCache = "/* Could not access reflectCache */"
reflectCacheOffset = "/* Could not access reflectCacheOffset */"
staticSlots = class java.lang.Object[4]
Object[0] = class com.ibm.ws.cdi.impl.weld.WebSphereCDIDeploymentImpl@2df646c9
Object[1] = class com.ibm.ws.injectionengine.osgi.internal.OSGiInjectionScopeData@9f37254b
Object[2] = "fhir-bulkdata-webapp"
Object[3] = null
dynamicSlots = null
appContainer = class com.ibm.ws.adaptable.module.internal.AdaptableContainerImpl@d6670654
root = class com.ibm.ws.adaptable.module.internal.AdaptableContainerImpl@d6670654
rootOverlay = class com.ibm.ws.artifact.overlay.internal.DirectoryBasedOverlayContainerImpl@d73ad6dc
base = class com.ibm.ws.artifact.file.internal.FileContainer@7e5ddfb8
maskSet = class java.util.HashSet@3e67300a
cfHolder = class com.ibm.ws.artifact.overlay.internal.OverlayContainerFactoryImpl@ea365e82
fileOverlayContainer = class com.ibm.ws.artifact.file.internal.FileContainer@7d7c517a
overlayDirectory = class java.io.File@febd6767
cacheDirForOverlay = class java.io.File@96eb44fc
overlayNotifier = class com.ibm.ws.artifact.overlay.internal.DirectoryBasedOverlayNotifier@133ef52c
enclosingContainer = null
entryInEnclosingContainer = null
nestedOverlays = class java.util.concurrent.ConcurrentHashMap@6f9b61e
cacheStore = class com.ibm.ws.artifact.overlay.internal.OverlayCache@e4a588d5
parentOverlay = null
isPassThroughMode = true
serialVersionUID = -6650153487216279998
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@4bbf53b6
factoryHolder = class com.ibm.ws.adaptable.module.internal.AdaptableModuleFactoryImpl@985f47c
adapterFactoryService = class com.ibm.ws.adaptable.module.internal.AdapterFactoryServiceImpl@2b1aca33
containerFactory = class com.ibm.ws.artifact.internal.ArtifactContainerFactoryService@25fce7e3
overlayContainerFactory = class com.ibm.ws.artifact.overlay.internal.OverlayContainerFactoryImpl@ea365e82
serialVersionUID = 4200251809856292987
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@189b284d
delegate = class com.ibm.ws.artifact.overlay.internal.DirectoryBasedOverlayContainerImpl@d73ad6dc
notifier = class com.ibm.ws.adaptable.module.internal.NotifierImpl@57a45bd8
root = class com.ibm.ws.adaptable.module.internal.AdaptableContainerImpl@d6670654
delegateNotifier = class com.ibm.ws.artifact.overlay.internal.DirectoryBasedOverlayNotifier@133ef52c
delegateRoot = class com.ibm.ws.artifact.overlay.internal.DirectoryBasedOverlayContainerImpl@d73ad6dc
listenerDelegates = class java.util.HashMap@9a9eb1b9
serialVersionUID = 6839382523957017880
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@b3d885fa
serialVersionUID = -5950528200509051684
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@9c8a9df9
strings[0] = "TraceComponent[com.ibm.ws.adaptable.module.internal.AdaptableContainerImpl,class com.ibm.ws.adaptable.module.internal.AdaptableContainerImpl,[archive.adaptable],null,null]"
configHelper = class com.ibm.ws.app.manager.module.ApplicationNestedConfigHelper@5d24a1c2
appInfo = class com.ibm.ws.app.manager.internal.ApplicationInstallInfo@2f3fc6fd
serialVersionUID = -3174031738676705046
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@25ae5d0e
strings[0] = "TraceComponent[com.ibm.ws.app.manager.module.ApplicationNestedConfigHelper,class com.ibm.ws.app.manager.module.ApplicationNestedConfigHelper,[applications, app.manager],null,null]"
applicationInformation = class com.ibm.ws.app.manager.internal.ApplicationInstallInfo@2f3fc6fd
_config = class com.ibm.ws.app.manager.internal.ApplicationConfig@19601f72
tc = class com.ibm.websphere.ras.TraceComponent@ccb196a9
_configPid = "com.ibm.ws.app.manager_137"
_config = class com.ibm.ws.config.admin.ConfigurationDictionary@77e3b72c
_applicationManager = class com.ibm.ws.app.manager.ApplicationManager@bd4b72bf
_location = "fhir-bulkdata-webapp.war"
_type = "war"
_name = "fhir-bulkdata-webapp"
_notificationBroadcasterSupport = class javax.management.NotificationBroadcasterSupport@c33354cb
ONE_TIME_JANDEX_MSGS_DISPLAYED = true
serialVersionUID = -2151423388299667431
_handlerInfo = class java.util.concurrent.atomic.AtomicReference@c82815d6
serialVersionUID = "/* Could not access serialVersionUID */"
VALUE = "/* Could not access VALUE */"
value = "/* Could not access value */"
_container = class java.util.concurrent.atomic.AtomicReference@d3413a61
serialVersionUID = "/* Could not access serialVersionUID */"
VALUE = "/* Could not access VALUE */"
value = "/* Could not access value */"
_resolvedLocation = class java.util.concurrent.atomic.AtomicReference@eafb83a4
serialVersionUID = "/* Could not access serialVersionUID */"
VALUE = "/* Could not access VALUE */"
value = "/* Could not access value */"
_handler = class com.ibm.ws.app.manager.war.internal.WARApplicationHandlerImpl@9732bf3c
futureMonitor = class com.ibm.ws.threading.internal.FutureMonitorImpl@86a5840b
deployedAppFactory = class com.ibm.ws.app.manager.war.internal.WARDeployedAppInfoFactoryImpl@a4a76516
serialVersionUID = 4622845147410944782
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@14bf7b72
_ami = class java.util.concurrent.atomic.AtomicReference@dda82c78
serialVersionUID = "/* Could not access serialVersionUID */"
VALUE = "/* Could not access VALUE */"
value = "/* Could not access value */"
_updateHandler = class com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl@d73fb15c
_tc = class com.ibm.websphere.ras.TraceComponent@9be4442f
EMPTY_FUTURE_ARRAY = interface java.util.concurrent.Future[0]
asmSequenceNumber = class java.util.concurrent.atomic.AtomicLong@b991be53
_qscaCounter = class java.util.concurrent.atomic.AtomicInteger@c4f829a9
_failedThrowable = null
_interruptibleLock = class com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl$2@f781a9e0
_interruptible = false
_performingQueuedActions = true
_queuedActions = class java.util.concurrent.ConcurrentLinkedQueue@df7f1cd1
_callbackState = class java.util.concurrent.atomic.AtomicReference@1e6fec1d
blockAppStartingFutures = class java.util.Collections$SetFromMap@31c97c44
waitingForAppHandlerFuture = class java.util.concurrent.atomic.AtomicReference@723fd431
waitingForExplicitStartFuture = class java.util.concurrent.atomic.AtomicReference@a8e7b496
startAfterFutures = class java.util.Collections$SetFromMap@b75af620
completionListener = class java.util.concurrent.atomic.AtomicReference@942a9a54
_notifyAppStopped = class java.util.concurrent.ConcurrentLinkedQueue@32a09cad
_notifyAppStarting = class java.util.concurrent.ConcurrentLinkedQueue@12041ca0
_notifyAppInstallCalled = class java.util.concurrent.ConcurrentLinkedQueue@c088c856
_notifyAppStarted = class java.util.concurrent.ConcurrentLinkedQueue@c14e59ab
_notifyAppRemoved = class java.util.concurrent.ConcurrentLinkedQueue@c9c14df7
_stateLock = class com.ibm.ws.app.manager.internal.statemachine.ApplicationStateMachineImpl$3@d3ed3e12
_internalState = class java.util.concurrent.atomic.AtomicReference@46f93f7a
_currentAction = class java.util.concurrent.atomic.AtomicReference@63b4f5e2
_rfa = class java.util.concurrent.atomic.AtomicReference@b2315724
_appInstallInfo = class java.util.concurrent.atomic.AtomicReference@a778a5e7
_update = class java.util.concurrent.atomic.AtomicBoolean@8206b596
_appConfig = class java.util.concurrent.atomic.AtomicReference@faa1d2dd
_nextAppConfig = class java.util.concurrent.atomic.AtomicReference@97b31f71
_appContainer = class java.util.concurrent.atomic.AtomicReference@4e145c0c
_resolvedLocation = class java.util.concurrent.atomic.AtomicReference@f75cd600
_handler = class java.util.concurrent.atomic.AtomicReference@8bbe3fc4
_asmSeqNo = 1
_ctx = class org.eclipse.osgi.internal.framework.BundleContextImpl@8858772d
_locAdmin = class com.ibm.ws.kernel.service.location.internal.WsLocationAdminImpl@bd628a6d
_futureMonitor = class com.ibm.ws.threading.internal.FutureMonitorImpl@86a5840b
_artifactFactory = class com.ibm.ws.artifact.internal.ArtifactContainerFactoryService@25fce7e3
_moduleFactory = class com.ibm.ws.adaptable.module.internal.AdaptableModuleFactoryImpl@985f47c
_executorService = class com.ibm.ws.threading.internal.ExecutorServiceImpl@8fe5c1bb
_scheduledExecutorService = class com.ibm.ws.threading.internal.ScheduledExecutorImpl@df6eedd3
_asmHelper = class com.ibm.ws.app.manager.internal.ApplicationConfigurator$NamedApplication@fc150aef
_appMonitor = class com.ibm.ws.app.manager.internal.monitor.ApplicationMonitor@1f5cd61d
_configurator = class com.ibm.ws.app.manager.internal.ApplicationConfigurator@54b63212
enterStateCalled = class java.util.concurrent.atomic.AtomicBoolean@22c15b87
serialVersionUID = 4458043999335554711
serialVersionUID = -8760483717533387753
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@2dc4cc57
serialVersionUID = 2630639237123415755
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@4480be7
strings[0] = "TraceComponent[com.ibm.ws.app.manager.internal.ApplicationInstallInfo,class com.ibm.ws.app.manager.internal.ApplicationInstallInfo,[applications, app.manager],com.ibm.ws.app.manager.internal.resources.AppManagerMessages,null]"
serialVersionUID = 5227817860647895780
$$$tc$$$ = class com.ibm.websphere.ras.TraceComponent@7d615b4a
strings[0] = "TraceComponent[com.ibm.ws.container.service.app.deploy.internal.ApplicationInfoImpl,class com.ibm.ws.container.service.app.deploy.internal.ApplicationInfoImpl,[container.service],com.ibm.ws.container.service.resources.Messages,null]"
Not clear if I'm doing something wrong, but just reinforces the idea that we should wait for upstream to sort out the issues.
Any updates?
Is your feature request related to a problem? Please describe. When I run the docker image, I got errors as follows and can not move forwards: WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
Describe the solution you'd like Want to start the FHIR application either using docker or java application on my Mac Book Pro M1(Arm processor), but failed. Would like Mac M1 processor can be supported, since Java is based on build once, run everywhere concept.
Describe alternatives you've considered Limited in Intel processors
Acceptance Criteria
GIVEN future docker images are releases WHEN it can run successfully on MBP M1(2 or more) THEN it is a best solution