[JBoss JIRA] (DROOLS-1192) DialectUtil.normalizeRuleName() doesn't normalize multibyte rule names
by Toshiya Kobayashi (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1192?page=com.atlassian.jira.plugi... ]
Toshiya Kobayashi commented on DROOLS-1192:
-------------------------------------------
If the rule name contains a whitespace "rule (hello)", the name will be normalized because it matches NON_ALPHA_REGEX.
> DialectUtil.normalizeRuleName() doesn't normalize multibyte rule names
> ----------------------------------------------------------------------
>
> Key: DROOLS-1192
> URL: https://issues.jboss.org/browse/DROOLS-1192
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 6.4.0.Final
> Reporter: Toshiya Kobayashi
> Assignee: Mario Fusco
>
> Assuming you have a rule name "rule(hello)",
> {noformat}
> package com.sample
> rule "rule(hello)"
> when
> then
> end
> {noformat}
> Here, ' (' and ')' ... U+FF08 (FULLWIDTH LEFT PARENTHESIS) and U+FF09 (FULLWIDTH RIGHT PARENTHESIS) are not a Java identifier part. The rule fails to compile.
> {noformat}
> Rule Compilation error : [Rule name='rule(hello)']
> com/sample/Rule_rule(hello)0.java (3:84) : Syntax error on tokens, delete these tokens
> com/sample/Rule_rule(hello)0.java (3:97) : The public type Rule_rule must be defined in its own file
> com/sample/Rule_rule(hello)0.java (3:115) : Syntax error, insert "}" to complete Block
> com/sample/Rule_rule(hello)0.java (4:121) : Syntax error on tokens, delete these tokens
> com/sample/Rule_rule(hello)0.java (6:187) : Syntax error on token "void", @ expected
> com/sample/Rule_rule(hello)0.java (6:211) : Syntax error on token(s), misplaced construct(s)
> com/sample/Rule_rule(hello)0.java (6:238) : Syntax error on token "throws", @ expected
> com/sample/Rule_rule(hello)0.java (6:255) : Syntax error, insert "enum Identifier" to complete EnumHeader
> com/sample/Rule_rule(hello)0.java (11:332) : Syntax error on token "}", delete this token
> {noformat}
> But such a non-java identifier part should be normalized by org.drools.compiler.rule.builder.dialect.DialectUtil.normalizeRuleName() during the build. The problem is that DialectUtil.normalizeRuleName() misses to process the name because of NON_ALPHA_REGEX check. NON_ALPHA_REGEX doesn't take account into Unicode characters.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months
[JBoss JIRA] (DROOLS-1192) DialectUtil.normalizeRuleName() doesn't normalize multibyte rule names
by Toshiya Kobayashi (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1192?page=com.atlassian.jira.plugi... ]
Toshiya Kobayashi updated DROOLS-1192:
--------------------------------------
Description:
Assuming you have a rule name "rule(hello)",
{noformat}
package com.sample
rule "rule(hello)"
when
then
end
{noformat}
Here, ' (' and ')' ... U+FF08 (FULLWIDTH LEFT PARENTHESIS) and U+FF09 (FULLWIDTH RIGHT PARENTHESIS) are not a Java identifier part. The rule fails to compile.
{noformat}
Rule Compilation error : [Rule name='rule(hello)']
com/sample/Rule_rule(hello)0.java (3:84) : Syntax error on tokens, delete these tokens
com/sample/Rule_rule(hello)0.java (3:97) : The public type Rule_rule must be defined in its own file
com/sample/Rule_rule(hello)0.java (3:115) : Syntax error, insert "}" to complete Block
com/sample/Rule_rule(hello)0.java (4:121) : Syntax error on tokens, delete these tokens
com/sample/Rule_rule(hello)0.java (6:187) : Syntax error on token "void", @ expected
com/sample/Rule_rule(hello)0.java (6:211) : Syntax error on token(s), misplaced construct(s)
com/sample/Rule_rule(hello)0.java (6:238) : Syntax error on token "throws", @ expected
com/sample/Rule_rule(hello)0.java (6:255) : Syntax error, insert "enum Identifier" to complete EnumHeader
com/sample/Rule_rule(hello)0.java (11:332) : Syntax error on token "}", delete this token
{noformat}
But such a non-java identifier part should be normalized by org.drools.compiler.rule.builder.dialect.DialectUtil.normalizeRuleName() during the build. The problem is that DialectUtil.normalizeRuleName() misses to process the name because of NON_ALPHA_REGEX check. NON_ALPHA_REGEX doesn't take account into Unicode characters.
was:
Assuming you have a rule name "rule (hello)",
{noformat}
package com.sample
rule "rule(hello)"
when
then
end
{noformat}
Here, ' (' and ')' ... U+FF08 (FULLWIDTH LEFT PARENTHESIS) and U+FF09 (FULLWIDTH RIGHT PARENTHESIS) are not a Java identifier part. The rule fails to compile.
{noformat}
Rule Compilation error : [Rule name='rule(hello)']
com/sample/Rule_rule(hello)0.java (3:84) : Syntax error on tokens, delete these tokens
com/sample/Rule_rule(hello)0.java (3:97) : The public type Rule_rule must be defined in its own file
com/sample/Rule_rule(hello)0.java (3:115) : Syntax error, insert "}" to complete Block
com/sample/Rule_rule(hello)0.java (4:121) : Syntax error on tokens, delete these tokens
com/sample/Rule_rule(hello)0.java (6:187) : Syntax error on token "void", @ expected
com/sample/Rule_rule(hello)0.java (6:211) : Syntax error on token(s), misplaced construct(s)
com/sample/Rule_rule(hello)0.java (6:238) : Syntax error on token "throws", @ expected
com/sample/Rule_rule(hello)0.java (6:255) : Syntax error, insert "enum Identifier" to complete EnumHeader
com/sample/Rule_rule(hello)0.java (11:332) : Syntax error on token "}", delete this token
{noformat}
But such a non-java identifier part should be normalized by org.drools.compiler.rule.builder.dialect.DialectUtil.normalizeRuleName() during the build. The problem is that DialectUtil.normalizeRuleName() misses to process the name because of NON_ALPHA_REGEX check. NON_ALPHA_REGEX doesn't take account into Unicode characters.
> DialectUtil.normalizeRuleName() doesn't normalize multibyte rule names
> ----------------------------------------------------------------------
>
> Key: DROOLS-1192
> URL: https://issues.jboss.org/browse/DROOLS-1192
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 6.4.0.Final
> Reporter: Toshiya Kobayashi
> Assignee: Mario Fusco
>
> Assuming you have a rule name "rule(hello)",
> {noformat}
> package com.sample
> rule "rule(hello)"
> when
> then
> end
> {noformat}
> Here, ' (' and ')' ... U+FF08 (FULLWIDTH LEFT PARENTHESIS) and U+FF09 (FULLWIDTH RIGHT PARENTHESIS) are not a Java identifier part. The rule fails to compile.
> {noformat}
> Rule Compilation error : [Rule name='rule(hello)']
> com/sample/Rule_rule(hello)0.java (3:84) : Syntax error on tokens, delete these tokens
> com/sample/Rule_rule(hello)0.java (3:97) : The public type Rule_rule must be defined in its own file
> com/sample/Rule_rule(hello)0.java (3:115) : Syntax error, insert "}" to complete Block
> com/sample/Rule_rule(hello)0.java (4:121) : Syntax error on tokens, delete these tokens
> com/sample/Rule_rule(hello)0.java (6:187) : Syntax error on token "void", @ expected
> com/sample/Rule_rule(hello)0.java (6:211) : Syntax error on token(s), misplaced construct(s)
> com/sample/Rule_rule(hello)0.java (6:238) : Syntax error on token "throws", @ expected
> com/sample/Rule_rule(hello)0.java (6:255) : Syntax error, insert "enum Identifier" to complete EnumHeader
> com/sample/Rule_rule(hello)0.java (11:332) : Syntax error on token "}", delete this token
> {noformat}
> But such a non-java identifier part should be normalized by org.drools.compiler.rule.builder.dialect.DialectUtil.normalizeRuleName() during the build. The problem is that DialectUtil.normalizeRuleName() misses to process the name because of NON_ALPHA_REGEX check. NON_ALPHA_REGEX doesn't take account into Unicode characters.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months
[JBoss JIRA] (DROOLS-1192) DialectUtil.normalizeRuleName() doesn't normalize multibyte rule names
by Toshiya Kobayashi (JIRA)
Toshiya Kobayashi created DROOLS-1192:
-----------------------------------------
Summary: DialectUtil.normalizeRuleName() doesn't normalize multibyte rule names
Key: DROOLS-1192
URL: https://issues.jboss.org/browse/DROOLS-1192
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 6.4.0.Final
Reporter: Toshiya Kobayashi
Assignee: Mario Fusco
Assuming you have a rule name "rule (hello)",
{noformat}
package com.sample
rule "rule(hello)"
when
then
end
{noformat}
Here, ' (' and ')' ... U+FF08 (FULLWIDTH LEFT PARENTHESIS) and U+FF09 (FULLWIDTH RIGHT PARENTHESIS) are not a Java identifier part. The rule fails to compile.
{noformat}
Rule Compilation error : [Rule name='rule(hello)']
com/sample/Rule_rule(hello)0.java (3:84) : Syntax error on tokens, delete these tokens
com/sample/Rule_rule(hello)0.java (3:97) : The public type Rule_rule must be defined in its own file
com/sample/Rule_rule(hello)0.java (3:115) : Syntax error, insert "}" to complete Block
com/sample/Rule_rule(hello)0.java (4:121) : Syntax error on tokens, delete these tokens
com/sample/Rule_rule(hello)0.java (6:187) : Syntax error on token "void", @ expected
com/sample/Rule_rule(hello)0.java (6:211) : Syntax error on token(s), misplaced construct(s)
com/sample/Rule_rule(hello)0.java (6:238) : Syntax error on token "throws", @ expected
com/sample/Rule_rule(hello)0.java (6:255) : Syntax error, insert "enum Identifier" to complete EnumHeader
com/sample/Rule_rule(hello)0.java (11:332) : Syntax error on token "}", delete this token
{noformat}
But such a non-java identifier part should be normalized by org.drools.compiler.rule.builder.dialect.DialectUtil.normalizeRuleName() during the build. The problem is that DialectUtil.normalizeRuleName() misses to process the name because of NON_ALPHA_REGEX check. NON_ALPHA_REGEX doesn't take account into Unicode characters.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months
[JBoss JIRA] (WFLY-6649) Io subsystem worker pool threads cannot die even if task-keepalive is specified
by Mathieu Lachance (JIRA)
Mathieu Lachance created WFLY-6649:
--------------------------------------
Summary: Io subsystem worker pool threads cannot die even if task-keepalive is specified
Key: WFLY-6649
URL: https://issues.jboss.org/browse/WFLY-6649
Project: WildFly
Issue Type: Bug
Components: IO
Affects Versions: 10.0.0.Final
Reporter: Mathieu Lachance
Assignee: Jason Greene
The Wildlfy io subsystem should allow to set thread keep alive time as documented in wildfly_io_1.1.xsd:
{code}
<xs:attribute name="task-keepalive" type="xs:int" default="60"/>
{code}
Though when you have a look at the XNIO implementation i.e. https://github.com/xnio/xnio/blob/f1bd055381436683789c7e69a3f6455b7141ad2...:
{code}
taskPool = new TaskPool(
threadCount, // ignore core threads setting, always fill to max
threadCount,
optionMap.get(Options.WORKER_TASK_KEEPALIVE, 60000), TimeUnit.MILLISECONDS,
taskQueue,
new WorkerThreadFactory(threadGroup, optionMap, markThreadAsDaemon),
new ThreadPoolExecutor.AbortPolicy());
final class TaskPool extends ThreadPoolExecutor {
TaskPool(final int corePoolSize, final int maximumPoolSize, final long keepAliveTime, final TimeUnit unit, final BlockingQueue<Runnable> workQueue, final ThreadFactory threadFactory, final RejectedExecutionHandler handler) {
super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue, threadFactory, handler);
}
protected void terminated() {
taskPoolTerminated();
}
}
{code}
The created TaskPool/ThreadPoolExecutor will have both the core and max thread size equals. By setting them both equals, means that if ThreadPoolExecutor#allowCoreThreadTimeOut is not true, no thread will ever be able to die even if there's a keepAliveTime set.
I think previously there's was a setting to set the actual amount of "core" thread pool but I think it was removed in Wildfly 9. But from an outsider, it is not really clear reading the code that this is really the case.
That said, I think having either that setting back or setting the "allowCoreThreadTimeOut" set to true will fix the issue.
Not letting thread die:
# is a "waste" of resource
# can lead to some ThreadLocal grows out of proportions (even if bad practice)
Also, the documentation should be more precise to specify the time unit that will be used when configuring the keep alive time; from what I understand, it should state milliseconds.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months
[JBoss JIRA] (DROOLS-1191) [please ignore] ticket cloning test
by Edson Tirelli (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1191?page=com.atlassian.jira.plugi... ]
Edson Tirelli moved to :
-----------------------------
> [please ignore] ticket cloning test
> -----------------------------------
>
> Key: DROOLS-1191
> URL: https://issues.jboss.org/browse/DROOLS-1191
> Project: Drools
> Issue Type: Bug
> Environment: All All
> Reporter: Kirill Gaevskii
> Assignee: Jeremy Lindop
> Priority: Blocker
> Labels: i18n
> Original Estimate: 0 minutes
> Remaining Estimate: 0 minutes
>
> Description of problem:
> If you have i18n process name it will be garbled in Simulation tab. See attachment.
> Version-Release number of selected component (if applicable):
> 6.3.0.CR2
> How reproducible:
> always
> Steps to Reproduce:
> 1. Open attached Business Process
> 2. Start Process Simulation
> Actual results:
> Process name is garbled. See attached screenshot.
> Expected results:
> Name will be displayed i18n without any problem.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months
[JBoss JIRA] (DROOLS-1191) [please ignore] ticket cloning test
by Edson Tirelli (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1191?page=com.atlassian.jira.plugi... ]
Edson Tirelli deleted DROOLS-1191:
----------------------------------
> [please ignore] ticket cloning test
> -----------------------------------
>
> Key: DROOLS-1191
> URL: https://issues.jboss.org/browse/DROOLS-1191
> Project: Drools
> Issue Type: Bug
> Environment: All All
> Reporter: Kirill Gaevskii
> Assignee: Jeremy Lindop
> Priority: Blocker
> Labels: i18n
> Original Estimate: 0 minutes
> Remaining Estimate: 0 minutes
>
> Description of problem:
> If you have i18n process name it will be garbled in Simulation tab. See attachment.
> Version-Release number of selected component (if applicable):
> 6.3.0.CR2
> How reproducible:
> always
> Steps to Reproduce:
> 1. Open attached Business Process
> 2. Start Process Simulation
> Actual results:
> Process name is garbled. See attached screenshot.
> Expected results:
> Name will be displayed i18n without any problem.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months
[JBoss JIRA] (WFLY-6648) InvalidateConversationTestCase(ASYNC-tcp).testInvalidate fails intermittently
by Radoslav Husar (JIRA)
Radoslav Husar created WFLY-6648:
------------------------------------
Summary: InvalidateConversationTestCase(ASYNC-tcp).testInvalidate fails intermittently
Key: WFLY-6648
URL: https://issues.jboss.org/browse/WFLY-6648
Project: WildFly
Issue Type: Bug
Components: Clustering
Affects Versions: 10.0.0.Final
Reporter: Radoslav Husar
Assignee: Paul Ferraro
test history
https://ci.wildfly.org/project.html?projectId=WF&testNameId=8377835033431...
test introduced in
https://github.com/wildfly/wildfly/pull/6939
{noformat}
&#27;[0m&#27;[0m03:43:53,235 INFO [org.infinispan.CLUSTER] (transport-thread--p14-t16) ISPN000336: Finished cluster-wide rebalance for cache dist, topology id = 1
&#27;[0m&#27;[0m03:43:53,237 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 29) WFLYCLINF0002: Started dist cache from ejb container
&#27;[0m&#27;[0m03:43:53,270 INFO [org.infinispan.CLUSTER] (transport-thread--p13-t15) ISPN000336: Finished cluster-wide rebalance for cache routing, topology id = 1
&#27;[0m&#27;[0m03:43:53,273 INFO [org.infinispan.CLUSTER] (transport-thread--p13-t8) ISPN000336: Finished cluster-wide rebalance for cache conversation.war, topology id = 1
&#27;[0m&#27;[0m03:43:53,274 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 28) WFLYCLINF0002: Started conversation.war cache from web container
&#27;[0m&#27;[0m03:43:53,277 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 6) WFLYCLINF0002: Started routing cache from web container
&#27;[0m&#27;[0m03:43:54,675 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 6) WFLYUT0021: Registered web context: /conversation
&#27;[0m&#27;[0m03:43:54,686 INFO [org.jboss.as.server] (management-handler-thread - 3) WFLYSRV0010: Deployed "conversation.war" (runtime-name : "conversation.war")
&#27;[0m&#27;[0m03:43:54,761 INFO [org.jboss.ejb.client] (default task-1) JBoss EJB Client version 2.1.4.Final
&#27;[0m&#27;[0m03:43:54,799 INFO [stdout] (default task-1) Cache web/conversation.war successfully established view [node-0, node-1] within 0 ms.
&#27;[0m&#27;[31m03:43:54,984 ERROR [io.undertow.request] (default task-20) UT005023: Exception handling request to /conversation/conversation: org.jboss.weld.context.NonexistentConversationException: WELD-000321: No conversation found to restore for id 1
at org.jboss.weld.context.AbstractConversationContext.initialize(AbstractConversationContext.java:240)
at org.jboss.weld.context.http.LazyHttpConversationContextImpl.initialize(LazyHttpConversationContextImpl.java:90)
at org.jboss.weld.context.http.LazyHttpConversationContextImpl.checkContextInitialized(LazyHttpConversationContextImpl.java:124)
at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:74)
at org.jboss.weld.context.AbstractContext.get(AbstractContext.java:114)
at org.jboss.weld.context.PassivatingContextWrapper$AbstractPassivatingContextWrapper.get(PassivatingContextWrapper.java:70)
at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.getIfExists(ContextualInstanceStrategy.java:90)
at org.jboss.weld.bean.ContextualInstanceStrategy$CachingContextualInstanceStrategy.getIfExists(ContextualInstanceStrategy.java:165)
at org.jboss.weld.bean.ContextualInstance.getIfExists(ContextualInstance.java:63)
at org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:83)
at org.jboss.weld.bean.proxy.ProxyMethodHandler.getInstance(ProxyMethodHandler.java:125)
at org.jboss.as.test.clustering.cluster.web.context.ConversationBean$Proxy$_$$_WeldClientProxy.increment(Unknown Source)
at org.jboss.as.test.clustering.cluster.web.context.ConversationServlet.service(ConversationServlet.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:285)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:264)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:175)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:792)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months
[JBoss JIRA] (JBASMP-53) Support --runtime-name for deployment on server groups
by James Perkins (JIRA)
[ https://issues.jboss.org/browse/JBASMP-53?page=com.atlassian.jira.plugin.... ]
James Perkins closed JBASMP-53.
-------------------------------
Resolution: Rejected
This isn't going to be done for the {{jboss-as-maven-plugin}}. New features will only go into the [{{wildfly-maven-plugin}}|https://issues.jboss.org/browse/WFMP/].
> Support --runtime-name for deployment on server groups
> ------------------------------------------------------
>
> Key: JBASMP-53
> URL: https://issues.jboss.org/browse/JBASMP-53
> Project: JBoss AS Maven Plugins
> Issue Type: Enhancement
> Components: wildfly
> Reporter: James Perkins
>
> The JBoss CLI provides a parameter called --runtime-name, which lets you set an additional runtime name for an deployment (complementing the already supported --name parameter).
> It would be nice if the JBoss Maven plugin could add another configuration parameter for this.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months
[JBoss JIRA] (WFLY-6173) Classes not unloaded after undeployment
by Stuart Douglas (JIRA)
[ https://issues.jboss.org/browse/WFLY-6173?page=com.atlassian.jira.plugin.... ]
Stuart Douglas resolved WFLY-6173.
----------------------------------
Fix Version/s: (was: 10.1.0.Final)
Resolution: Duplicate Issue
> Classes not unloaded after undeployment
> ---------------------------------------
>
> Key: WFLY-6173
> URL: https://issues.jboss.org/browse/WFLY-6173
> Project: WildFly
> Issue Type: Bug
> Components: CDI / Weld
> Affects Versions: 8.2.0.Final, 10.0.0.Final
> Reporter: Joey Wang
> Assignee: Martin Kouba
> Priority: Blocker
> Attachments: memory-leak.zip
>
>
> I deployed a small web application with one single JSF and one managed bean, accessed the page and then undeployed the application. I found the classes of this application had never been unloaded via monitoring with Java VistualVM, also using '-XX:+TraceClassUnloading' JVM option proved the classes not unloaded.
> Then checking the heap dump of it, I found there were instance for each enum item (the managed bean has one enum type field, which is always initialized when the managed bean constructed) and one array instance including these enum instances.
> Please refer to the attachment for the same application. I started to verify the classloader memory leak issue because we found hot redeployment of our real application swallow some memory each time, then after lots of redeployment the server was short of memories.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 11 months