[JBoss JIRA] Created: (JGRP-457) Optimization: make threads return immediately if NAKACK has another active thread for the same sender
by Bela Ban (JIRA)
Optimization: make threads return immediately if NAKACK has another active thread for the same sender
-----------------------------------------------------------------------------------------------------
Key: JGRP-457
URL: http://jira.jboss.com/jira/browse/JGRP-457
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assigned To: Bela Ban
Priority: Minor
Fix For: 2.5
In NAKACK, when a thread places a message for sender S into the NakReceiverWindow NRW, it subsequently acquires a lock on NRW (lock by sender) and removes as many messages as possible and passes them up.
If many threads do this at the same time, all threads but one are blocked, and - when finally unblocked - usually return. This causes context switches and possibly cache flushing, so a better way would be to have the threads check whether another thread is already removing messages using a CAS operation *before* acquiring the lock.
The effect should be that no threads will wait on the lock unnecessarily, and thus fewer context switches, and more threads available to the pool.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
2 weeks, 5 days
[JBoss JIRA] (AS7-6255) Memory leak caused by endless piling up of delete-on-exit hooks for JMX authentication challenges
by Taras Tielkes (JIRA)
Taras Tielkes created AS7-6255:
----------------------------------
Summary: Memory leak caused by endless piling up of delete-on-exit hooks for JMX authentication challenges
Key: AS7-6255
URL: https://issues.jboss.org/browse/AS7-6255
Project: Application Server 7
Issue Type: Bug
Components: JMX
Affects Versions: 7.1.1.Final
Reporter: Taras Tielkes
Assignee: Stuart Douglas
We're running 7.1.1, with a patch applied for REMJMX-45 to limit the worst leaks coming from the JMX subsystem.
However, even with this patch applied we can only survive for a few days in a production-like scenario.
Inspection of the out-of-memory heap dumps shows a large accumulation of entries inside {{java.io.DeleteOnExitHook}}, all having values like "{{C:\jars\jboss-as-7.1.1.Final\standalone\tmp\auth\challenge-4303257}}".
Given sufficient JMX connections made to a running instance of 7.1.1, this will at some point exhaust the JVM heap. Typically the paths will be longer than the example above, accelerating the process.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] (AS7-6254) Memory leak caused by retained connection ids in RemotingConnectorServer superclass
by Taras Tielkes (JIRA)
[ https://issues.jboss.org/browse/AS7-6254?page=com.atlassian.jira.plugin.s... ]
Taras Tielkes updated AS7-6254:
-------------------------------
Description:
We're running 7.1.1, with a patch applied for REMJMX-45 to limit the worst leaks coming from the JMX subsystem.
However, even with this patch applied we can only survive for a few days in a production-like scenario.
It seems that {{org.jboss.remotingjmx.RemotingConnectorServer}} never calls the {{connectionClosed()}}/{{connectionFailed()}} methods in its superclass.
As such, the connection ids that are stored in the field {{javax.management.remote.JMXConnectorServer#connectionIds}} are never released.
Given sufficient connections made to a running instance of 7.1.1 (for example, various monitoring tools), an out-of-memory end-state is inevitable.
was:
We're running 7.1.1, with a patch applied for REMJMX-45 to limit the worst leaks coming from the JMX subsystem.
However, even with this patch applied we can only survive for a few days in a production-like scenario.
It seems that {{org.jboss.remotingjmx.RemotingConnectorServer}} never calls the {{connectionClosed()}}/{{connectionFailed()}} methods in its superclass.
As such, the connection ids that are stored in the field {{javax.management.remote.JMXConnectorServer#connectionIds}} are never released.
Given sufficient connections make to a running instance of 7.1.1 (for example, various monitoring tools), an out-of-memory end-state is inevitable.
> Memory leak caused by retained connection ids in RemotingConnectorServer superclass
> ------------------------------------------------------------------------------------
>
> Key: AS7-6254
> URL: https://issues.jboss.org/browse/AS7-6254
> Project: Application Server 7
> Issue Type: Bug
> Components: JMX
> Affects Versions: 7.1.1.Final
> Reporter: Taras Tielkes
> Assignee: Stuart Douglas
>
> We're running 7.1.1, with a patch applied for REMJMX-45 to limit the worst leaks coming from the JMX subsystem.
> However, even with this patch applied we can only survive for a few days in a production-like scenario.
> It seems that {{org.jboss.remotingjmx.RemotingConnectorServer}} never calls the {{connectionClosed()}}/{{connectionFailed()}} methods in its superclass.
> As such, the connection ids that are stored in the field {{javax.management.remote.JMXConnectorServer#connectionIds}} are never released.
> Given sufficient connections made to a running instance of 7.1.1 (for example, various monitoring tools), an out-of-memory end-state is inevitable.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] (AS7-6254) Memory leak caused by retained connection ids in RemotingConnectorServer superclass
by Taras Tielkes (JIRA)
Taras Tielkes created AS7-6254:
----------------------------------
Summary: Memory leak caused by retained connection ids in RemotingConnectorServer superclass
Key: AS7-6254
URL: https://issues.jboss.org/browse/AS7-6254
Project: Application Server 7
Issue Type: Bug
Components: JMX
Affects Versions: 7.1.1.Final
Reporter: Taras Tielkes
Assignee: Stuart Douglas
We're running 7.1.1, with a patch applied for REMJMX-45 to limit the worst leaks coming from the JMX subsystem.
However, even with this patch applied we can only survive for a few days in a production-like scenario.
It seems that {{org.jboss.remotingjmx.RemotingConnectorServer}} never calls the {{connectionClosed()}}/{{connectionFailed()}} methods in its superclass.
As such, the connection ids that are stored in the field {{javax.management.remote.JMXConnectorServer#connectionIds}} are never released.
Given sufficient connections make to a running instance of 7.1.1 (for example, various monitoring tools), an out-of-memory end-state is inevitable.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] (JBAS-9526) High CPU with lots of Waiting threads on JIoEndpoint$Worker on version 5.0.1
by shikhar khanna (JIRA)
[ https://issues.jboss.org/browse/JBAS-9526?page=com.atlassian.jira.plugin.... ]
shikhar khanna updated JBAS-9526:
---------------------------------
Description:
High CPU with lots of Waiting threads on JIoEndpoint$Worker on version 5.0.1
- Running a 100 user load test on JBoss 5.0.1.
- Getting High CPU
- Analyzed thread dumps and found almost 50-60% threads are waiting as per below snippet\
Thread Name : http-0.0.0.0-8080-8 State : in Object.wait() Java Stack at java.lang.Object.wait(Native Method) - waiting on [0x24d875d0] (a org.apache.tomcat.util.net.JIoEndpoint$Worker) at java.lang.Object.wait(Object.java:485) at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:416) - locked [0x24d875d0] (a org.apache.tomcat.util.net.JIoEndpoint$Worker) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:442) at java.lang.Thread.run(Thread.java:662)
> High CPU with lots of Waiting threads on JIoEndpoint$Worker on version 5.0.1
> ----------------------------------------------------------------------------
>
> Key: JBAS-9526
> URL: https://issues.jboss.org/browse/JBAS-9526
> Project: Application Server 3 4 5 and 6
> Issue Type: Feature Request
> Security Level: Public(Everyone can see)
> Reporter: shikhar khanna
>
> High CPU with lots of Waiting threads on JIoEndpoint$Worker on version 5.0.1
> - Running a 100 user load test on JBoss 5.0.1.
> - Getting High CPU
> - Analyzed thread dumps and found almost 50-60% threads are waiting as per below snippet\
> Thread Name : http-0.0.0.0-8080-8 State : in Object.wait() Java Stack at java.lang.Object.wait(Native Method) - waiting on [0x24d875d0] (a org.apache.tomcat.util.net.JIoEndpoint$Worker) at java.lang.Object.wait(Object.java:485) at org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:416) - locked [0x24d875d0] (a org.apache.tomcat.util.net.JIoEndpoint$Worker) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:442) at java.lang.Thread.run(Thread.java:662)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] (JBAS-7218) ENC EM injection erroneously happens only once for web modules
by henk de boer (JIRA)
[ https://issues.jboss.org/browse/JBAS-7218?page=com.atlassian.jira.plugin.... ]
henk de boer commented on JBAS-7218:
------------------------------------
I tested this again with JBoss AS 7.1.2.Final-redhat-1, and now it works :)
E.g. executing the following code from within a Servlet, given the setup as described in the forum reference now returns 2 distinct instances:
{code}
EntityManager entityManagerx = (EntityManager) new InitialContext().lookup("java:comp/env/persistence/test");
EntityManager entityManagery = (EntityManager) new InitialContext().lookup("java:comp/env/persistence/test");
{code}
> ENC EM injection erroneously happens only once for web modules
> --------------------------------------------------------------
>
> Key: JBAS-7218
> URL: https://issues.jboss.org/browse/JBAS-7218
> Project: Application Server 3 4 5 and 6
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: JBossAS-5.1.0.GA
> Environment: Observed problem on Mac OS X 10.5.7 and Debian Lenny 64 bits using JDK 6
> Reporter: henk de boer
> Assignee: Scott Marlow
>
> Using a persistence-context-ref element in the web.xml of a web module, it appears that this causes an EntityManager instance to be injected only once into the ENC of this component.
> However, the EJB 3.0 spec states in section 16.2.1:
> "In general, lookups of objects in the JNDI java: namespace are required to return a new instance of the requested object every time."
> So the observed behavior seems to violate the spec. In addition, this is particularly troublesome since an EntityManager is explicitly not thread-safe. Using the same EM instance for simultaneous requests therefor doesn't work.
> Of course there are several other methods to obtain an EM reference, for instance binding an EM factory directly to JNDI and using that to obtain the reference.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] (JBWEB-219) stdout and stderr cause double newlines
by Kamil Prochazka (JIRA)
[ https://issues.jboss.org/browse/JBWEB-219?page=com.atlassian.jira.plugin.... ]
Kamil Prochazka commented on JBWEB-219:
---------------------------------------
I came across this issue too with my log4j ConversionPattern.
Something like this: log4j.appender.file.layout.ConversionPattern=%d{ISO8601} %-5p %c{1} - %m%n
I just replaced %m%n with %m\n.
Works fine on windows machine.
Suppose this issue is related to OS new line delimiter.
> stdout and stderr cause double newlines
> ---------------------------------------
>
> Key: JBWEB-219
> URL: https://issues.jboss.org/browse/JBWEB-219
> Project: JBoss Web
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Environment: Windows 7
> Reporter: Karsten Wutzke
> Assignee: Remy Maucherat
> Priority: Minor
>
> stdout and stderr cause double newlines (e.g. in the Eclipse console).
> This can be especially annoying when printing stack traces...
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] (JBRULES-3709) When use method of FACT match(Object... objs), throws java.lang.RuntimeException: cannot invoke method
by Yingzhi Wang (JIRA)
[ https://issues.jboss.org/browse/JBRULES-3709?page=com.atlassian.jira.plug... ]
Yingzhi Wang updated JBRULES-3709:
----------------------------------
Attachment: user_src.zip
The source of the issue
> When use method of FACT match(Object... objs), throws java.lang.RuntimeException: cannot invoke method
> -------------------------------------------------------------------------------------------------------
>
> Key: JBRULES-3709
> URL: https://issues.jboss.org/browse/JBRULES-3709
> Project: JBRULES
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: drools-core
> Affects Versions: 5.4.0.Final, 5.5.0.Final
> Environment: OS: Windows xp
> IDE: Eclipse
> JRE: 1.6
> Reporter: Yingzhi Wang
> Assignee: Mark Proctor
> Priority: Critical
> Labels: RuntimeException, invoke, method
> Attachments: user_src.zip
>
>
> I writed a method of fact User "public boolean match(Boolean... bs)", and when I use it in drl like this "User(match(true, true))", it will thows exception: java.lang.RuntimeException: cannot invoke method: match. But if I change it to User(match(true)), it will be ok.
> And also, If I insert fact first, then add the rule, It will throws this exception, if I add the rule first, then insert fact, it will be ok.
> Is DRools not support method(Object... objs)?
> FACT: User
> package user;
> public class User {
> public boolean match(Boolean... bs) {
> return true;
> }
> public boolean matchList(Boolean b1, Boolean b2) {
> return true;
> }
> }
> DRL: user.drl
> package test
> import user.User
> rule "test"
> when
> // User(match(true)) // is ok
> User(match(true, true)) // is err
> // User(matchList(true, true)) // is ok
> then
> System.out.println("It's OK!");
> end
> main:
> KnowledgeBase base = KnowledgeBaseFactory.newKnowledgeBase();
> StatefulKnowledgeSession s = base.newStatefulKnowledgeSession();
> // user insert here will be err
> User user = new User();
> s.insert(user);
>
> // add rule
> KnowledgeBuilder builder = KnowledgeBuilderFactory.newKnowledgeBuilder();
> builder.add(ResourceFactory.newClassPathResource("user.drl", Test.class), ResourceType.DRL);
> KnowledgeBuilderErrors errs = builder.getErrors();
> if (!errs.isEmpty()) {
> for (KnowledgeBuilderError e: errs) {
> System.out.println(e.toString());
> }
> }
> Collection<KnowledgePackage> col = builder.getKnowledgePackages();
> base.addKnowledgePackages(col);
>
> // user insert here is ok
> // User user = new User();
> // s.insert(user);
>
> // fire
> s.fireAllRules();
> Exception:
> Exception in thread "main" java.lang.RuntimeException: cannot invoke method: match
> at org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:63)
> at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:108)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:123)
> at org.mvel2.MVEL.executeExpression(MVEL.java:930)
> at org.drools.rule.constraint.MvelConditionEvaluator.evaluate(MvelConditionEvaluator.java:70)
> at org.drools.rule.constraint.MvelConditionEvaluator.evaluate(MvelConditionEvaluator.java:49)
> at org.drools.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:167)
> at org.drools.rule.constraint.MvelConstraint.isAllowed(MvelConstraint.java:124)
> at org.drools.reteoo.AlphaNode$ObjectSinkUpdateAdapter.assertObject(AlphaNode.java:325)
> at org.drools.reteoo.ObjectTypeNode.updateSink(ObjectTypeNode.java:334)
> at org.drools.reteoo.AlphaNode.updateSink(AlphaNode.java:203)
> at org.drools.reteoo.LeftInputAdapterNode.attach(LeftInputAdapterNode.java:120)
> at org.drools.reteoo.builder.BuildUtils.attachNode(BuildUtils.java:145)
> at org.drools.reteoo.builder.GroupElementBuilder$AndBuilder.build(GroupElementBuilder.java:127)
> at org.drools.reteoo.builder.GroupElementBuilder.build(GroupElementBuilder.java:71)
> at org.drools.reteoo.builder.ReteooRuleBuilder.addSubRule(ReteooRuleBuilder.java:155)
> at org.drools.reteoo.builder.ReteooRuleBuilder.addRule(ReteooRuleBuilder.java:128)
> at org.drools.reteoo.ReteooBuilder.addRule(ReteooBuilder.java:116)
> at org.drools.reteoo.ReteooRuleBase.addRule(ReteooRuleBase.java:445)
> at org.drools.common.AbstractRuleBase.addRule(AbstractRuleBase.java:956)
> at org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:627)
> at org.drools.reteoo.ReteooRuleBase.addPackages(ReteooRuleBase.java:472)
> at org.drools.impl.KnowledgeBaseImpl.addKnowledgePackages(KnowledgeBaseImpl.java:150)
> at user.Test.main(Test.java:36)
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 2
> at org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.executeAll(MethodAccessor.java:149)
> at org.mvel2.optimizers.impl.refl.nodes.MethodAccessor.getValue(MethodAccessor.java:48)
> ... 24 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months