Bug 1293016
| Summary: | [GSS](6.4.z) EJB Passivation can fail from StackOverflowError with no message logged | |||
|---|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise Application Platform 6 | Reporter: | Brad Maxwell <bmaxwell> | |
| Component: | EJB | Assignee: | Tomas Hofman <thofman> | |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Jan Martiska <jmartisk> | |
| Severity: | high | Docs Contact: | ||
| Priority: | high | |||
| Version: | 6.4.6 | CC: | david.lloyd, dpospisi, jbilek, jtruhlar, lakagwu, thofman | |
| Target Milestone: | CR1 | |||
| Target Release: | EAP 6.4.7 | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| URL: | https://github.com/jbossas/jboss-eap/pull/2666 | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | Bug Fix | ||
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1301624 (view as bug list) | Environment: | ||
| Last Closed: | 2017-01-17 12:00:13 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: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1279552, 1301624 | |||
dev-acking - PR ready, no upstream Verified with EAP 6.4.7.CP.CR2. Retroactively bulk-closing issues from released EAP 6.4 cumulative patches. |
The call stack is below. There are some catches in some of the calls, but none are catching any of these and logging it. The StackOverflowError is thrown up, but PassivateTask is running in a separate thread, so it appears the exception is thrown up to the JDK classes below and is never logged. We need to catch Throwable at some point and log a message, also need to make sure that we are taking the correct action when it occurs since it failed to passivate. java.lang.Throwable java.lang.Error java.lang.VirtualMachineError java.lang.StackOverflowError org.jboss.as.ejb3.cache.spi.impl.FilePersistentObjectStore.store(FilePersistentObjectStore.java:262) at org.jboss.as.ejb3.cache.spi.impl.FilePersistentObjectStore.store(FilePersistentObjectStore.java:57) at org.jboss.as.ejb3.cache.impl.backing.SimpleBackingCacheEntryStore.passivate(SimpleBackingCacheEntryStore.java:162) at org.jboss.as.ejb3.cache.impl.backing.SerializationGroupMemberContainer.passivate(SerializationGroupMemberContainer.java:299) at org.jboss.as.ejb3.cache.impl.backing.SerializationGroupMemberContainer.passivate(SerializationGroupMemberContainer.java:51) - What is this? at org.jboss.as.ejb3.cache.impl.backing.PassivatingBackingCacheImpl.passivate(PassivatingBackingCacheImpl.java:199) at org.jboss.as.ejb3.cache.impl.backing.PassivatingBackingCacheImpl.passivate(PassivatingBackingCacheImpl.java:58) at org.jboss.as.ejb3.cache.spi.impl.PassivateTask.run(PassivateTask.java:46) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744)