servicecatalog / development

An Enterprise-ready Cloud Services Management Software
http://openservicecatalogmanager.org
Apache License 2.0
39 stars 27 forks source link

After upgrading to 17.3.1, the following error message is repeatedly logged in system.log #906

Closed toshihiro-shiino closed 6 years ago

toshihiro-shiino commented 6 years ago

After upgrading to 17.3.1, the following error message is repeatedly logged in system.log

01/29/2018_02:40:56.951 FSP_INTS-BSS: ERROR: ThreadID http-listener-2(3): ApplicationBean: 70023: Error formating build date
java.text.ParseException: Unparseable date: "2018012611"
    at java.text.DateFormat.parse(DateFormat.java:366)
    at org.oscm.ui.beans.ApplicationBean.initBuildIdAndDate(ApplicationBean.java:159)
    at org.oscm.ui.beans.ApplicationBean.getBuildId(ApplicationBean.java:423)
    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 javax.el.BeanELResolver.getValue(BeanELResolver.java:363)
    at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    at com.sun.el.parser.AstValue.getValue(AstValue.java:140)
    at com.sun.el.parser.AstValue.getValue(AstValue.java:204)
    at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226)
    at org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:50)
    at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
    at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
    at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
    at javax.faces.component.UIOutput.getValue(UIOutput.java:174)
    at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
    at org.richfaces.renderkit.RendererBase.renderChildren(RendererBase.java:282)
    at org.richfaces.renderkit.html.AjaxOutputPanelRenderer.doEncodeChildren(AjaxOutputPanelRenderer.java:57)
    at org.richfaces.renderkit.RendererBase.encodeChildren(RendererBase.java:158)
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
    at org.richfaces.renderkit.RendererBase.renderChildren(RendererBase.java:282)
    at org.richfaces.renderkit.html.PopupPanelRenderer.doEncodeEnd(PopupPanelRenderer.java:545)
    at org.richfaces.renderkit.RendererBase.encodeEnd(RendererBase.java:180)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:458)
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:169)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:357)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.oscm.ui.filter.AuthorizationFilter.handleLoggedInUser(AuthorizationFilter.java:752)
    at org.oscm.ui.filter.AuthorizationFilter.handleProtectedUrlAndChangePwdCase(AuthorizationFilter.java:290)
    at org.oscm.ui.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.oscm.ui.filter.NonexistentConversationFilter.doFilter(NonexistentConversationFilter.java:37)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.oscm.ui.filter.MarketplaceContextFilter.doFilter(MarketplaceContextFilter.java:112)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.oscm.ui.filter.DisableUrlFilter.doFilter(DisableUrlFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.oscm.ui.filter.IdPLogoutFilter.doFilter(IdPLogoutFilter.java:133)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.oscm.ui.filter.IllegalRequestParameterFilter.doFilter(IllegalRequestParameterFilter.java:81)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.oscm.ui.filter.IdPResponseFilter.doFilter(IdPResponseFilter.java:159)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.oscm.ui.filter.HttpMethodFilter.doFilter(HttpMethodFilter.java:69)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.oscm.ui.filter.DisableUrlSessionFilter.doFilter(DisableUrlSessionFilter.java:50)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:413)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:283)
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:206)
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:180)
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:283)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:132)
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:111)
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:536)
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:591)
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:571)
    at java.lang.Thread.run(Thread.java:748)
GoebelL commented 6 years ago

From stack trace, I can find that the OSCM build timestamp contained in portal manifest file is given in an unexpected format. This timestamp information is just needed for providing version details information in the UI. Despite of the log message it doesn't have further impact.

GoebelL commented 6 years ago

Workaround solution should be possible here by adapting the information in MANIFEST.MF files. However, the the timestamp in 17.3.1 portal.war/META-INF/MANIFEST.MF looks correct: BES_MASTER_UNIT_DEVELOPMENT_GF4-170-20180126111919

Thus 'Unparseable date: "2018012611"' should not apply to here. Why is it cut?

@badziakp Please check from the code in v17.3.1

toshihiro-shiino commented 6 years ago

We don't modify MANIFEST.MF. I will confirm what the actual value is when I go to office tomorrow. (Because I can not access the server from my home)

GoebelL commented 6 years ago

Original contents of portal.war/META-INF/MANIFEST.MF as delivered with 17.3.1:

Manifest-Version: 1.0 Implementation-Version: BES_MASTER_UNIT_DEVELOPMENT_GF4-170-20180126111919

After deployment in Glassfish the content gets corrupt (note, there is the line break):

Manifest-Version: 1.0 Implementation-Version: BES_MASTER_UNIT_DEVELOPMENT_GF4-170-2018012611 1919

OSCM fails to parse the timestamp suffix from the build id, expecting it in a format "yyyyMMddHHmmss".

badziakp commented 6 years ago

The name BES_MASTER_UNIT_DEVELOPMENT_GF4-170-20180126111919 is too long and the Manifest after deployment is broken, because 4 last numbers (1919 in this case) are moved to the new line. Build with shorter Implementation-Version should be delivered.

GoebelL commented 6 years ago

Obviously the following line length limitation seems to hit in here. https://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html "Line length: No line may be longer than 72 bytes (not characters), in its UTF8-encoded form [...]"

This is reached by "Implementation-Version: BES_MASTER_UNIT_DEVELOPMENT_GF4-170-2018012611"

GoebelL commented 6 years ago

Solution with shorter build label is working fine.

toshihiro-shiino commented 6 years ago

We confirmed that the problem was solved with label-corrected one.