]
James Perkins commented on WFCORE-1845:
---------------------------------------
[~heiko.braun] I looked at this a bit yesterday. I'll be talking to Brian more about
it today. Hopefully by the end of the week or early next week we'll have something
sorted out.
Logging subsystem scans the CWD on server boot
----------------------------------------------
Key: WFCORE-1845
URL:
https://issues.jboss.org/browse/WFCORE-1845
Project: WildFly Core
Issue Type: Bug
Components: Logging
Affects Versions: 2.0.10.Final
Environment: OSX El Capitan, Oracle JDK 1.8.0_92 && 101, swarm 2016.8.1,
WF 10.0.0.Final, WF-CORE 2.0.10.Final
Reporter: Brent Douglas
Assignee: James Perkins
When booting the server from a directory where the subtree is large the server hangs for
a long time. JStack shows that the logging subsystem is scanning the CWD.
Booting the server from the root dir of a maven parent project containing 2 subprojects,
a swarm project and a small NPM subproject added 33s to the server boot time compared to
stepping into the swarm project and booting it.
Stacktrace while the server is booting:
{noformat}
Thread 25859: (state = IN_NATIVE)
- sun.nio.fs.UnixNativeDispatcher.lstat0(long, sun.nio.fs.UnixFileAttributes) @bci=0
(Compiled frame; information may be imprecise)
- sun.nio.fs.UnixNativeDispatcher.lstat(sun.nio.fs.UnixPath,
sun.nio.fs.UnixFileAttributes) @bci=10, line=300 (Compiled frame)
- sun.nio.fs.UnixFileAttributes.get(sun.nio.fs.UnixPath, boolean) @bci=22, line=72
(Compiled frame)
- sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes() @bci=15, line=52 (Compiled
frame)
- sun.nio.fs.UnixFileSystemProvider.readAttributes(java.nio.file.Path, java.lang.Class,
java.nio.file.LinkOption[]) @bci=57, line=144 (Compiled frame)
- java.nio.file.Files.readAttributes(java.nio.file.Path, java.lang.Class,
java.nio.file.LinkOption[]) @bci=7, line=1737 (Compiled frame)
- java.nio.file.FileTreeWalker.getAttributes(java.nio.file.Path, boolean) @bci=56,
line=219 (Compiled frame)
- java.nio.file.FileTreeWalker.visit(java.nio.file.Path, boolean, boolean) @bci=3,
line=276 (Compiled frame)
- java.nio.file.FileTreeWalker.next() @bci=134, line=372 (Compiled frame)
- java.nio.file.Files.walkFileTree(java.nio.file.Path, java.util.Set, int,
java.nio.file.FileVisitor) @bci=256, line=2706 (Compiled frame)
- java.nio.file.Files.walkFileTree(java.nio.file.Path, java.nio.file.FileVisitor)
@bci=9, line=2742 (Interpreted frame)
- org.jboss.as.logging.LoggingResource.findFiles(java.lang.String,
org.jboss.dmr.ModelNode, boolean) @bci=47, line=251 (Interpreted frame)
- org.jboss.as.logging.LoggingResource.getChildrenNames(java.lang.String) @bci=37,
line=157 (Interpreted frame)
- org.jboss.as.logging.LoggingResource.getChildren(java.lang.String) @bci=11, line=171
(Interpreted frame)
-
org.jboss.as.controller.registry.AbstractModelResource$DelegateResource.getChildren(java.lang.String)
@bci=5, line=362 (Interpreted frame)
-
org.jboss.as.controller.registry.Resource$Tools.readModel(org.jboss.as.controller.PathAddress,
org.jboss.as.controller.registry.Resource, int,
org.jboss.as.controller.registry.ResourceFilter) @bci=99, line=289 (Interpreted frame)
-
org.jboss.as.controller.registry.Resource$Tools.readModel(org.jboss.as.controller.registry.Resource,
int, org.jboss.as.controller.registry.ResourceFilter) @bci=19, line=276 (Interpreted
frame)
-
org.jboss.as.controller.registry.Resource$Tools.readModel(org.jboss.as.controller.registry.Resource,
int) @bci=5, line=262 (Interpreted frame)
-
org.jboss.as.controller.registry.Resource$Tools.readModel(org.jboss.as.controller.PathAddress,
org.jboss.as.controller.registry.Resource, int,
org.jboss.as.controller.registry.ResourceFilter) @bci=189, line=291 (Interpreted frame)
-
org.jboss.as.controller.registry.Resource$Tools.readModel(org.jboss.as.controller.registry.Resource,
int, org.jboss.as.controller.registry.ResourceFilter) @bci=19, line=276 (Interpreted
frame)
-
org.jboss.as.controller.registry.Resource$Tools.readModel(org.jboss.as.controller.registry.Resource,
int) @bci=5, line=262 (Interpreted frame)
-
org.jboss.as.controller.registry.Resource$Tools.readModel(org.jboss.as.controller.registry.Resource)
@bci=2, line=250 (Interpreted frame)
-
org.jboss.as.controller.ModelControllerImpl.writeModel(org.jboss.as.controller.ModelControllerImpl$ManagementModelImpl,
java.util.Set) @bci=19, line=769 (Interpreted frame)
- org.jboss.as.controller.OperationContextImpl.createPersistenceResource() @bci=17,
line=519 (Interpreted frame)
-
org.jboss.as.controller.AbstractOperationContext.executeDoneStage(org.jboss.dmr.ModelNode)
@bci=22, line=708 (Interpreted frame)
- org.jboss.as.controller.AbstractOperationContext.processStages() @bci=277, line=680
(Interpreted frame)
- org.jboss.as.controller.AbstractOperationContext.executeOperation() @bci=27, line=370
(Interpreted frame)
- org.jboss.as.controller.OperationContextImpl.executeOperation() @bci=20, line=1344
(Interpreted frame)
- org.jboss.as.controller.ModelControllerImpl.boot(java.util.List,
org.jboss.as.controller.client.OperationMessageHandler,
org.jboss.as.controller.ModelController$OperationTransactionControl, boolean,
org.jboss.as.controller.extension.MutableRootResourceRegistrationProvider, boolean,
boolean) @bci=410, line=485 (Interpreted frame)
- org.jboss.as.controller.AbstractControllerService.boot(java.util.List, boolean,
boolean, org.jboss.as.controller.extension.MutableRootResourceRegistrationProvider)
@bci=16, line=387 (Interpreted frame)
- org.jboss.as.controller.AbstractControllerService.boot(java.util.List, boolean)
@bci=7, line=349 (Interpreted frame)
- org.jboss.as.server.ServerService.boot(java.util.List, boolean) @bci=22, line=392
(Interpreted frame)
- org.jboss.as.server.ServerService.boot(org.jboss.as.controller.BootContext) @bci=907,
line=365 (Interpreted frame)
- org.jboss.as.controller.AbstractControllerService$1.run() @bci=12, line=299
(Interpreted frame)
- java.lang.Thread.run() @bci=11, line=745 (Interpreted frame)
{noformat}