]
Jan Kalina moved JBEAP-12229 to WFCORE-3076:
--------------------------------------------
Project: WildFly Core (was: JBoss Enterprise Application Platform)
Key: WFCORE-3076 (was: JBEAP-12229)
Workflow: GIT Pull Request workflow (was: CDW with loose statuses v1)
Component/s: Security
(was: Security)
Affects Version/s: 3.0.0.Beta28
(was: 7.1.0.ER2)
Handle to audit.log is being held until next GC
-----------------------------------------------
Key: WFCORE-3076
URL:
https://issues.jboss.org/browse/WFCORE-3076
Project: WildFly Core
Issue Type: Bug
Components: Security
Affects Versions: 3.0.0.Beta28
Reporter: Jan Kalina
Assignee: Jan Kalina
Priority: Blocker
There is an issue with elytron audit.log handle being open until next GC cycle.
We hit it in installer testing (JBEAP-1404) so the usecase is rather specific. Installer
first starts an embedded server via CLI wrapper, do some configuration, stop the embeded
server and then tries to delete newly created files from previous procedure (like all log
files) - all running in the same JVM. The problem is the deletion step intermittently
fails on Windows (it won't let you delete a file with open handle, unlike Linux) but
the handle would be open in any OS. Intermittently because it depends on GC activity.
I created a simple project that reproduce the issue with arbitrary EAP/WF distribution
https://github.com/jbliznak/embedded-server-filelocking
Run it with:
{{mvn clean test "-Dwildfly.home=C:\dev\jboss-eap-7.1"
"-Denforcer.skip" -Dtest=AuditLogFileLockingTestCase}}
Manual steps to reproduce in Java code:
* start a CLI wrapper
* start embed-server in given server path
* stop embed-server
* terminate CLI wrapper
* try to delete given server path