{"id":16510,"date":"2021-06-30T18:30:10","date_gmt":"2021-06-30T16:30:10","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/"},"modified":"2021-06-30T18:30:10","modified_gmt":"2021-06-30T16:30:10","slug":"documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/","title":{"rendered":"Documentum &#8211; E_INTERNAL_SERVER_ERROR on D2-REST Product page related to GUAVA libraries after WebLogic PSU"},"content":{"rendered":"<p>At a customer, the D2-REST (16.5.1) application hosted on WebLogic Server 12c started showing 500 Internal Server Errors, after a customer release including many things. The error was rather simple to replicate since opening the D2-REST Product info page was sufficient (<em><strong>https:\/\/&lt;host&gt;\/D2-REST\/product-info<\/strong><\/em>). The URL was returning the following:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_500_guava.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-50673\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_500_guava.png\" alt=\"\" width=\"1197\" height=\"243\" \/><\/a><\/p>\n<p>At the same time, on the logs:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1\">2021-04-26 06:46:20,340 UTC [ERROR] ([ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)') - com.emc.documentum.rest.util.LogHelper        : LogId: 9b360f83-335a-413e-87e3-481ba5cbf168, Status: 500, code: E_INTERNAL_SERVER_ERROR, message: An internal server error occurs.\norg.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: com.google.common.base.Objects.firstNonNull(Ljava\/lang\/Object;Ljava\/lang\/Object;)Ljava\/lang\/Object;\n        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:982)\n        at com.emc.documentum.rest.servlet.RestDispatcherServlet.doDispatch(RestDispatcherServlet.java:33)\n        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)\n        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)\n        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)\n        at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)\n        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)\n        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)\n        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286)\n        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)\n        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)\n        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350)\n        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)\n        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)\n        at com.emc.documentum.rest.filter.ApplicationFilter.doFilter(ApplicationFilter.java:33)\n        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)\n        at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93)\n        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\n        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)\n        at com.emc.documentum.d2.rest.filter.AppValidationFilter.doFilter(AppValidationFilter.java:35)\n        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)\n        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)\n        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)\n        at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)\n        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)\n        at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)\n        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)\n        at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)\n        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)\n        at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66)\n        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\n        at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)\n        at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)\n        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)\n        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)\n        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)\n        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)\n        at com.emc.documentum.d2.rest.filter.AppInfoFilter.doFilter(AppInfoFilter.java:39)\n        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)\n        at com.emc.documentum.rest.security.filter.RepositoryNamingFilter.doFilter(RepositoryNamingFilter.java:40)\n        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)\n        at com.emc.documentum.rest.filter.RestCorsFilter.doFilterInternal(RestCorsFilter.java:47)\n        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\n        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)\n        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)\n        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\n        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)\n        at com.emc.documentum.rest.filter.CompressionFilter.doFilter(CompressionFilter.java:73)\n        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)\n        at com.emc.documentum.rest.log.MessageLoggingFilter.doFilter(MessageLoggingFilter.java:69)\n        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)\n        at com.emc.documentum.rest.security.filter.ExceptionHandlerFilter.doFilterInternal(ExceptionHandlerFilter.java:31)\n        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)\n        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)\n        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3706)\n        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3672)\n        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:344)\n        at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)\n        at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)\n        at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)\n        at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2443)\n        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2291)\n        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2269)\n        at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1705)\n        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1665)\n        at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272)\n        at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)\n        at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)\n        at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)\n        at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)\n        at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:652)\n        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)\n        at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)\nCaused by: java.lang.NoSuchMethodError: com.google.common.base.Objects.firstNonNull(Ljava\/lang\/Object;Ljava\/lang\/Object;)Ljava\/lang\/Object;\n        at com.emc.documentum.d2fs.controller.D2AppInfoController.attribute(D2AppInfoController.java:160)\n        at com.emc.documentum.d2fs.controller.D2AppInfoController.getProductInfo(D2AppInfoController.java:94)\n        at com.emc.documentum.d2fs.controller.D2AppInfoController.get(D2AppInfoController.java:65)\n        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\n        at java.lang.reflect.Method.invoke(Method.java:498)\n        at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)\n        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)\n        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)\n        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:849)\n        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:760)\n        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)\n        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)\n        ... 72 common frames omitted\n2021-04-26 06:46:20,414 UTC [INFO ] ([ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)') - com.emc.documentum.rest.util.LogHelper        : XMLOutputFactory loaded com.ctc.wstx.stax.WstxOutputFactory.\n2021-04-26 06:46:20,416 UTC [INFO ] ([ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)') - com.emc.documentum.rest.util.LogHelper        : XMLInputFactory loaded com.ctc.wstx.stax.WstxInputFactory.\n2021-04-26 06:46:20,451 UTC [INFO ] ([ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)') - com.emc.documentum.rest.util.LogHelper        : Class com.emc.documentum.rest.config.DataBindingRuntime addLastPropertySource rest-api-data-binding.properties.<\/pre>\n<p>&nbsp;<\/p>\n<p>The recently deployed release contained many things but looking into it in details, the most promising suspect was the Oracle WebLogic Server PSU (+coherence patch) from April 2021. Based on the logs, this looked like a GUAVA (Google core libraries for Java) related issue. Usually, the D2-REST application would be using its own application libraries but it might happen that for some security reasons, the configuration would be changed to force WebLogic to use the Oracle provided ones instead. This would be in order to keep the third-party libraries up-to-date, as much as possible, to reduce the potential security issues. At this customer, rollback the PSU would be a rather important security problem. After looking into the details, it was clear that the method mentioned above has been deleted in GUAVA 21.0 (deprecated in 20.0). On the other hand, D2 16.5.1 comes with GUAVA 13.0.1 by default and D2-REST (+ D2-Smartview) comes with GUAVA 20.0. As part of the April PSU, this library was probably upgraded to 21.0 (I didn&#8217;t find any confirmation). Therefore, I tried to force D2-REST to re-use its internal GUAVA libraries instead (while keeping the others from WebLogic) by adding a new line inside the &#8220;<em><strong>&lt;prefer-application-packages&gt;<\/strong><\/em>&#8221; section:<\/p>\n<pre class=\"brush: bash; gutter: true; first-line: 1; highlight: [11]\">[weblogic@wsd2rest-0 ~]$ cd $APPLICATIONS\/D2-REST\/WEB-INF\/\n[weblogic@wsd2rest-0 WEB-INF]$ cat weblogic.xml\n&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n\n&lt;weblogic-web-app&gt;\n  ...\n  &lt;container-descriptor&gt;\n    &lt;!--prefer-web-inf-classes&gt;true&lt;\/prefer-web-inf-classes--&gt;\n    &lt;prefer-application-packages&gt;\n      &lt;package-name&gt;org.slf4j&lt;\/package-name&gt;\n      &lt;package-name&gt;com.google.common.*&lt;\/package-name&gt;\n    &lt;\/prefer-application-packages&gt;\n    &lt;!--show-archived-real-path-enabled&gt;true&lt;\/show-archived-real-path-enabled--&gt;\n  &lt;\/container-descriptor&gt;\n  ...\n&lt;\/weblogic-web-app&gt;\n[weblogic@wsd2rest-0 WEB-INF]$<\/pre>\n<p>&nbsp;<\/p>\n<p>Adding the line 11 above forces WebLogic to load the application specific packages instead of its own. After a Managed Server restart, the issue was gone, which confirms that the April PSU was the culprit:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_OK_guava.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-50674\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_OK_guava.png\" alt=\"\" width=\"1197\" height=\"378\" \/><\/a><\/p>\n<p>Since we force WebLogic to not use its own jar files for some Google libraries, that means that potential security issues related to these jar files are obviously re-opened&#8230; However, at some point, you have a choice to make between being secure but having a non-working application OR potentially having some flaws but a working application. It&#8217;s obviously possible to go one-step further and instead of using &#8220;<em><strong>&lt;package-name&gt;com.google.common.*&lt;\/package-name&gt;<\/strong><\/em>&#8220;, which is rather generic, use a more refined definition of the package so that the scope affected is smaller.<\/p>\n<p>The same applies to D2-Smartview as well since it is also a REST client, so it relies heavily on such packages&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>At a customer, the D2-REST (16.5.1) application hosted on WebLogic Server 12c started showing 500 Internal Server Errors, after a customer release including many things. The error was rather simple to replicate since opening the D2-REST Product info page was sufficient (https:\/\/&lt;host&gt;\/D2-REST\/product-info). The URL was returning the following: At the same time, on the logs: [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":16511,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197,525],"tags":[443,129,2355,416,647],"type_dbi":[],"class_list":["post-16510","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-integration-middleware","category-enterprise-content-management","tag-d2","tag-documentum","tag-guava","tag-psu","tag-weblogic"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Documentum - E_INTERNAL_SERVER_ERROR on D2-REST Product page related to GUAVA libraries after WebLogic PSU - dbi Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Documentum - E_INTERNAL_SERVER_ERROR on D2-REST Product page related to GUAVA libraries after WebLogic PSU\" \/>\n<meta property=\"og:description\" content=\"At a customer, the D2-REST (16.5.1) application hosted on WebLogic Server 12c started showing 500 Internal Server Errors, after a customer release including many things. The error was rather simple to replicate since opening the D2-REST Product info page was sufficient (https:\/\/&lt;host&gt;\/D2-REST\/product-info). The URL was returning the following: At the same time, on the logs: [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-06-30T16:30:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_500_guava.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1197\" \/>\n\t<meta property=\"og:image:height\" content=\"243\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Morgan Patou\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@MorganPatou\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Morgan Patou\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/\"},\"author\":{\"name\":\"Morgan Patou\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"headline\":\"Documentum &#8211; E_INTERNAL_SERVER_ERROR on D2-REST Product page related to GUAVA libraries after WebLogic PSU\",\"datePublished\":\"2021-06-30T16:30:10+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/\"},\"wordCount\":433,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_500_guava.png\",\"keywords\":[\"D2\",\"Documentum\",\"GUAVA\",\"PSU\",\"WebLogic\"],\"articleSection\":[\"Application integration &amp; Middleware\",\"Enterprise content management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/\",\"name\":\"Documentum - E_INTERNAL_SERVER_ERROR on D2-REST Product page related to GUAVA libraries after WebLogic PSU - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_500_guava.png\",\"datePublished\":\"2021-06-30T16:30:10+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_500_guava.png\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_500_guava.png\",\"width\":1197,\"height\":243},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Documentum &#8211; E_INTERNAL_SERVER_ERROR on D2-REST Product page related to GUAVA libraries after WebLogic PSU\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8\",\"name\":\"Morgan Patou\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g\",\"caption\":\"Morgan Patou\"},\"description\":\"Morgan Patou has over 12 years of experience in Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\/Banking, and the Pharmaceutical industry.\",\"sameAs\":[\"https:\/\/blog.dbi-services.com\/author\/morgan-patou\/\",\"https:\/\/x.com\/MorganPatou\"],\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/morgan-patou\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Documentum - E_INTERNAL_SERVER_ERROR on D2-REST Product page related to GUAVA libraries after WebLogic PSU - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/","og_locale":"en_US","og_type":"article","og_title":"Documentum - E_INTERNAL_SERVER_ERROR on D2-REST Product page related to GUAVA libraries after WebLogic PSU","og_description":"At a customer, the D2-REST (16.5.1) application hosted on WebLogic Server 12c started showing 500 Internal Server Errors, after a customer release including many things. The error was rather simple to replicate since opening the D2-REST Product info page was sufficient (https:\/\/&lt;host&gt;\/D2-REST\/product-info). The URL was returning the following: At the same time, on the logs: [&hellip;]","og_url":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/","og_site_name":"dbi Blog","article_published_time":"2021-06-30T16:30:10+00:00","og_image":[{"width":1197,"height":243,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_500_guava.png","type":"image\/png"}],"author":"Morgan Patou","twitter_card":"summary_large_image","twitter_creator":"@MorganPatou","twitter_misc":{"Written by":"Morgan Patou","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/"},"author":{"name":"Morgan Patou","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"headline":"Documentum &#8211; E_INTERNAL_SERVER_ERROR on D2-REST Product page related to GUAVA libraries after WebLogic PSU","datePublished":"2021-06-30T16:30:10+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/"},"wordCount":433,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_500_guava.png","keywords":["D2","Documentum","GUAVA","PSU","WebLogic"],"articleSection":["Application integration &amp; Middleware","Enterprise content management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/","url":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/","name":"Documentum - E_INTERNAL_SERVER_ERROR on D2-REST Product page related to GUAVA libraries after WebLogic PSU - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_500_guava.png","datePublished":"2021-06-30T16:30:10+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_500_guava.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/D2-REST_500_guava.png","width":1197,"height":243},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/documentum-e_internal_server_error-on-d2-rest-product-page-related-to-guava-libraries-after-weblogic-psu\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Documentum &#8211; E_INTERNAL_SERVER_ERROR on D2-REST Product page related to GUAVA libraries after WebLogic PSU"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/c4d05b25843a9bc2ab20415dae6bd2d8","name":"Morgan Patou","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5d7f5bec8b597db68a09107a6f5309e3870d6296ef94fb10ead4b09454ca67e5?s=96&d=mm&r=g","caption":"Morgan Patou"},"description":"Morgan Patou has over 12 years of experience in Enterprise Content Management (ECM) systems, with a strong focus in recent years on platforms such as Alfresco, Documentum, and M-Files. He specializes in the architecture, setup, customization, and maintenance of ECM infrastructures in complex &amp; critical environments. Morgan is well-versed in both engineering and operations aspects, including high availability design, system integration, and lifecycle management. He also has a solid foundation in open-source and proprietary technologies - ranging from Apache, OpenLDAP or Kerberos to enterprise-grade systems like WebLogic. Morgan Patou holds an Engineering Degree in Computer Science from ENSISA (\u00c9cole Nationale Sup\u00e9rieure d'Ing\u00e9nieurs Sud Alsace) in Mulhouse, France. He is Alfresco Content Services Certified Administrator (ACSCA), Alfresco Content Services Certified Engineer (ACSCE) as well as OpenText Documentum Certified Administrator. His industry experience spans the Public Sector, IT Services, Financial Services\/Banking, and the Pharmaceutical industry.","sameAs":["https:\/\/blog.dbi-services.com\/author\/morgan-patou\/","https:\/\/x.com\/MorganPatou"],"url":"https:\/\/www.dbi-services.com\/blog\/author\/morgan-patou\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/16510","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=16510"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/16510\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/16511"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=16510"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=16510"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=16510"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=16510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}