Bug 1007425
| Summary: | "java.util.Hashtable is not proxyable" with latest OpenJDK7 | ||
|---|---|---|---|
| Product: | [Retired] JBoss BRMS Platform 6 | Reporter: | Lukáš Petrovický <lpetrovi> |
| Component: | BRE | Assignee: | Pere Fernàndez <pere.fernandez> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Lukáš Petrovický <lpetrovi> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 6.0.0 | CC: | btison, mbaluch, ptisnovs, pzapataf |
| Target Milestone: | ER4 | Keywords: | TestBlocker |
| Target Release: | 6.0.0 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2014-08-06 20:15:37 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
This is change was added to OpenJDK7 by the following patch: changeset: 6151:b03bbdef3a88 user: mduigou date: Mon Mar 11 14:11:30 2013 -0700 summary: 8006593: Peformance and compatibility improvements to hash based Map implementations. (their bad spelling ;-) http://hg.openjdk.java.net/jdk7u/jdk7u-dev/jdk/rev/b03bbdef3a88 The WELD error was thrown when the FunctionsProvider is initialized, BSH Interpreter internally use a HashTable to store the evaluable objets. Removed injection points of FunctionsProvider build a new instance when needed Commit on master: https://github.com/droolsjbpm/jbpm-form-modeler/commit/12b52881997585415ae09093569ccb20c61c6473 Commit on 6.0.x: https://github.com/droolsjbpm/jbpm-form-modeler/commit/623da7f425b9e43af08896b99febbd03e4ba4aa2 The WELD error was thrown when the FunctionsProvider is initialized, BSH Interpreter internally use a HashTable to store the evaluable objets. Removed injection points of FunctionsProvider build a new instance when needed Commit on master: https://github.com/droolsjbpm/jbpm-form-modeler/commit/12b52881997585415ae09093569ccb20c61c6473 https://github.com/droolsjbpm/jbpm-form-modeler/commit/d87a6ab8469d63928d55fda4d8771f3bdad3db09 Commit on 6.0.x: https://github.com/droolsjbpm/jbpm-form-modeler/commit/623da7f425b9e43af08896b99febbd03e4ba4aa2 https://github.com/droolsjbpm/jbpm-form-modeler/commit/0be7dad52986ce2c40c6b37dc5d883f46d99471b The WELD error was thrown when the FunctionsProvider is initialized, BSH Interpreter internally use a HashTable to store the evaluable objets. Removed injection points of FunctionsProvider build a new instance when needed Commit on master: https://github.com/droolsjbpm/jbpm-form-modeler/commit/12b52881997585415ae09093569ccb20c61c6473 https://github.com/droolsjbpm/jbpm-form-modeler/commit/d87a6ab8469d63928d55fda4d8771f3bdad3db09 Commit on 6.0.x: https://github.com/droolsjbpm/jbpm-form-modeler/commit/623da7f425b9e43af08896b99febbd03e4ba4aa2 https://github.com/droolsjbpm/jbpm-form-modeler/commit/0be7dad52986ce2c40c6b37dc5d883f46d99471b *** Bug 1012543 has been marked as a duplicate of this bug. *** No longer seeing this on ER4. VERIFIED. |
After deploying the web app, we get the following exception in server log: 15:11:58,171 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-7) MSC000001: Failed to start service jboss.deployment.unit."business-central.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."business-central.war".WeldStartService: Failed to start service at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_60] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_60] at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_60] Caused by: org.jboss.weld.exceptions.UnproxyableResolutionException: WELD-001437 Normal scoped bean class java.util.Hashtable is not proxyable because the type is final or it contains a final method final boolean java.util.Hashtable.initHashSeedAsNeeded(int) - Managed Bean [class org.jbpm.formModeler.core.processing.formProcessing.FunctionsProvider] with qualifiers [@Any @Default]. at org.jboss.weld.util.Proxies.getUnproxyableClassException(Proxies.java:229) at org.jboss.weld.util.Proxies.getUnproxyableTypeException(Proxies.java:184) at org.jboss.weld.util.Proxies.getUnproxyableTypesExceptionInt(Proxies.java:195) at org.jboss.weld.util.Proxies.getUnproxyableTypesException(Proxies.java:169) at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:147) at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:163) at org.jboss.weld.bootstrap.Validator.validateBeans(Validator.java:382) at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:367) at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:379) at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:64) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA-redhat-1.jar:1.0.4.GA-redhat-1] ... 3 more This only happens with the latest OpenJDK7, which hit Fedora 18, 19 and 20 yesterday. It is also supposed to hit RHEL6 soon. Although this is a problem with the web app, it will probably need to be resolved on a lower level, in Drools. We don't think this should be fixed in OpenJDK.