Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: 1.2 final
-
Component/s: Project infrastructure
-
Labels:None
-
Environment:Win32, Tomcat 6.0.20 / 6.0.24
Description
When deploying a minimal Grails application to Tomcat 6.0.20 on Windows, everything works fine. When the same application is undeployed, the following libraries are locked and cannot be removed by Tomcat.
- ehcache-core-1.7.1.jar
- groovy-all-1.6.7.jar
- grails-core-1.2.0.jar
The same problem also happens if the application is configured to use the MSSQL JDBC 2.0 driver. The first time the application is deployed the database connections work fine, when the application is undeployed it does not remove the driver's JAR file and also subsequent deployments fail with JDBC connection issues.
When deploying the exact same application on Tomcat 6.0.24 on Windows, none of the problems mentioned above occur. However the Tomcat log contains a bunch of errors like the following...
SEVERE: A web application created a ThreadLocal with key of type [org.codehaus.groovy.runtime.GroovyCategorySupport.MyThreadLocal] (value [org.codehaus.groovy.runtime.GroovyCategorySupport$MyThreadLocal@d32ea0]) and a value of type [java.lang.ref.SoftReference] (value [java.lang.ref.SoftReference@9a288b]) but failed to remove it when the web application was stopped. To prevent a memory leak, the ThreadLocal has been forcibly removed.
The full log file is attached to this issue as well as the sample grails application which triggers these errors.
The purpose of the issue would be to fix the locking issues under Tomcat 6.0.20 and to clean up the SEVERE messages in the log file under Tomcat 6.0.24.
Please let me know if you require any additional information. Thanks!
Activity
| Field | Original Value | New Value |
|---|---|---|
| Attachment | grails121.log [ 47575 ] |
| Priority | Minor [ 4 ] | Critical [ 2 ] |
| Fix Version/s | 1.2.2 [ 16198 ] |
| Fix Version/s | 1.2.2 [ 16198 ] | |
| Fix Version/s | 1.2.3 [ 16313 ] |
| Assignee | Graeme Rocher [ graemerocher ] |
| Fix Version/s | 1.2.4 [ 16555 ] | |
| Fix Version/s | 1.2.3 [ 16313 ] |
| Fix Version/s | 1.2.5 [ 16652 ] | |
| Fix Version/s | 1.2.4 [ 16555 ] |
| Fix Version/s | 1.2.5 [ 16652 ] | |
| Fix Version/s | 1.3.6 [ 16730 ] |
| Fix Version/s | 1.4-M1 [ 16812 ] | |
| Fix Version/s | 1.3.6 [ 16730 ] |
| Project Import | Thu Mar 24 21:22:24 CDT 2011 [ 1301019744151 ] |
| Fix Version/s | 1.4-M2 [ 12504 ] | |
| Fix Version/s | 1.4-M1 [ 11040 ] |
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Resolution | Fixed [ 1 ] | |
| Assignee | Graeme Rocher [ graemerocher ] |
| Status | Resolved [ 5 ] | Closed [ 6 ] |
| Workflow | jira [ 33715 ] | Grails [ 46213 ] |
| Workflow | Grails [ 46213 ] | Copy of Grails [ 53669 ] |
| Workflow | Copy of Grails [ 53669 ] | Grails [ 61079 ] |
| Workflow | Grails [ 61079 ] | Grails2 [ 68658 ] |
| Resolution | Fixed [ 1 ] | |
| Status | Closed [ 6 ] | Reopened [ 4 ] |
| Fix Version/s | 2.0.1 [ 13005 ] | |
| Fix Version/s | 2.0-M1 [ 12504 ] |
| Workflow | Grails2 [ 68658 ] | jira [ 71615 ] |
| Workflow | jira [ 71615 ] | Grails2 [ 80232 ] |
| Last Reviewed | 01/Jan/10 |
| Workflow | Grails2 [ 80232 ] | jira [ 88912 ] |
| Workflow | jira [ 88912 ] | Grails2 [ 97189 ] |
| Fix Version/s | 2.0.2 [ 13064 ] | |
| Fix Version/s | 2.0.1 [ 13005 ] |
| Fix Version/s | 2.0.3 [ 13094 ] | |
| Fix Version/s | 2.0.2 [ 13064 ] |
| Attachment | abstract-save-persistent-leak.patch [ 17481 ] |
| Fix Version/s | 2.0.4 [ 13099 ] | |
| Fix Version/s | 2.0.3 [ 13094 ] |
| Attachment | hibernate-persistence-context-leak.patch [ 17596 ] |
| Status | Reopened [ 4 ] | In Progress [ 3 ] |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.1.x | 94ca7b1... | 2012-05-21 05:20:46 -0700 | graemerocher / graemerocher | fix for |
| Files Changed | |||||
|
MODIFY
grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/metaclass/AbstractSavePersistentMethod.java
MODIFY grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/support/HibernatePersistenceContextInterceptor.java |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | master | 94ca7b1... | 2012-05-21 05:20:46 -0700 | graemerocher / graemerocher | fix for |
| Files Changed | |||||
|
MODIFY
grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/metaclass/AbstractSavePersistentMethod.java
MODIFY grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/support/HibernatePersistenceContextInterceptor.java |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.2.x | 94ca7b1... | 2012-05-21 05:20:46 -0700 | graemerocher / graemerocher | fix for |
| Files Changed | |||||
|
MODIFY
grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/metaclass/AbstractSavePersistentMethod.java
MODIFY grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/support/HibernatePersistenceContextInterceptor.java |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.0.x | b67cc42... | 2012-05-21 05:23:05 -0700 | graemerocher / graemerocher | fix for |
| Files Changed | |||||
|
MODIFY
grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/metaclass/AbstractSavePersistentMethod.java
MODIFY grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/support/HibernatePersistenceContextInterceptor.java |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.1.x | b67cc42... | 2012-05-21 05:23:05 -0700 | graemerocher / graemerocher | fix for |
| Files Changed | |||||
|
MODIFY
grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/metaclass/AbstractSavePersistentMethod.java
MODIFY grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/support/HibernatePersistenceContextInterceptor.java |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | 2.2.x | b67cc42... | 2012-05-21 05:23:05 -0700 | graemerocher / graemerocher | fix for |
| Files Changed | |||||
|
MODIFY
grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/metaclass/AbstractSavePersistentMethod.java
MODIFY grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/support/HibernatePersistenceContextInterceptor.java |
| Repository | Branch | Revision | Date | Author/Committer | Message |
| Grails Core | master | b67cc42... | 2012-05-21 05:23:05 -0700 | graemerocher / graemerocher | fix for |
| Files Changed | |||||
|
MODIFY
grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/metaclass/AbstractSavePersistentMethod.java
MODIFY grails-hibernate/src/main/groovy/org/codehaus/groovy/grails/orm/hibernate/support/HibernatePersistenceContextInterceptor.java |
| Status | In Progress [ 3 ] | Closed [ 6 ] |
| Fix Version/s | 2.1 [ 13117 ] | |
| Resolution | Fixed [ 1 ] |
I've upgraded the "help" demo app and checked again with Grails 1.2.1. Unfortunately I am still seeing the same issue.
The list of locked JAR files is as follows...
I've also attached the log produced by Tomcat 6.0.24 as it forces the app to undeploy.