[JBoss JIRA] Commented: (JBREM-942) A deadlock encountered on ConnectionValidator
by Mayank Mittal (JIRA)
[ https://issues.jboss.org/browse/JBREM-942?page=com.atlassian.jira.plugin.... ]
Mayank Mittal commented on JBREM-942:
-------------------------------------
I'm facing the same issue with
AS : JBoss 4.2.3 GA
Remoting: 2.4.0 SP1
whenever during the fail-over I perform any operation. I'm using HA-JNDI (1100) to make connections to my server. As it is expected from the HA system, that fail-over should be transparent from user point of view.
here is the stack
"Thread-113" daemon prio=10 tid=0x00007f53243ea000 nid=0x57e5 waiting for monitor entry [0x00007f5322829000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.jboss.remoting.ConnectionValidator.removeConnectionListener(ConnectionValidator.java:359)
- waiting to lock <0x00000000c7b93480> (a java.lang.Object)
at org.jboss.remoting.Client.removeConnectionListener(Client.java:445)
at org.jboss.jms.client.remoting.JMSRemotingConnection.removeConnectionListener(JMSRemotingConnection.java:533)
- locked <0x00000000c7b27a08> (a org.jboss.jms.client.remoting.JMSRemotingConnection)
at org.jboss.jms.client.container.ConnectionAspect.handleClose(ConnectionAspect.java:185)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:121)
at org.jboss.jms.client.delegate.ClientConnectionDelegate$close_N4742752445160157748.invokeNext(ClientConnectionDelegate$close_N4742752445160157748.java)
at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:92)
at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
at org.jboss.jms.client.delegate.ClientConnectionDelegate$close_N4742752445160157748.invokeNext(ClientConnectionDelegate$close_N4742752445160157748.java)
at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:179)
at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
at org.jboss.jms.client.delegate.ClientConnectionDelegate$close_N4742752445160157748.invokeNext(ClientConnectionDelegate$close_N4742752445160157748.java)
at org.jboss.jms.client.delegate.ClientConnectionDelegate.close(ClientConnectionDelegate.java)
at org.jboss.jms.client.JBossConnection.close(JBossConnection.java:132)
at org.jboss.messaging.core.impl.clusterconnection.ClusterConnectionManager$ConnectionInfo$1.call(ClusterConnectionManager.java:705)
at EDU.oswego.cs.dl.util.concurrent.FutureResult$1.run(FutureResult.java:75)
at java.lang.Thread.run(Thread.java:662)
"Timer-22" daemon prio=10 tid=0x0000000041cfd800 nid=0x5264 waiting for monitor entry [0x00007f5323234000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.jboss.remoting.ConnectionValidator.notifyListeners(ConnectionValidator.java:600)
- waiting to lock <0x00000000c7b93480> (a java.lang.Object)
at org.jboss.remoting.ConnectionValidator.access$600(ConnectionValidator.java:42)
at org.jboss.remoting.ConnectionValidator$WaitOnConnectionCheckTimerTask.run(ConnectionValidator.java:648)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
> A deadlock encountered on ConnectionValidator
> ----------------------------------------------
>
> Key: JBREM-942
> URL: https://issues.jboss.org/browse/JBREM-942
> Project: JBoss Remoting
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: transport
> Affects Versions: 2.2.2.SP5
> Environment: JBoss-EAP-4.2, JBossMessaging-1.4.0-SP3, JBossRemoting-2.2.2-SP5
> Reporter: Tyronne Wickramarathne
> Assignee: Ron Sigal
> Priority: Critical
> Fix For: 2.2.2.SP7
>
>
> This deadlock occurred on JBREM when a JBossMessaging Bridge was set and consuming messages. here's the StackTrace :
> Found one Java-level deadlock:
> =============================
> "Thread-278":
> waiting to lock monitor 0x08128544 (object 0xce8b25e0, a java.lang.Object),
> which is held by "Timer-4"
> "Timer-4":
> waiting to lock monitor 0x08129160 (object 0xce89f508, a java.util.ArrayList),
> which is held by "Thread-278"
> Java stack information for the threads listed above:
> ===================================================
> "Thread-278":
> at org.jboss.remoting.ConnectionValidator.doStop(ConnectionValidator.java:526)
> - waiting to lock <0xce8b25e0> (a java.lang.Object)
> at org.jboss.remoting.ConnectionValidator.stop(ConnectionValidator.java:252)
> at org.jboss.remoting.ConnectionValidator.removeConnectionListener(ConnectionValidator.java:344)
> - locked <0xce89f508> (a java.util.ArrayList)
> at org.jboss.remoting.Client.removeConnectionListener(Client.java:398)
> at org.jboss.jms.client.remoting.JMSRemotingConnection.removeConnectionListener(JMSRemotingConnection.java:493)
> - locked <0xce8b18c8> (a org.jboss.jms.client.remoting.JMSRemotingConnection)
> at org.jboss.jms.client.container.ConnectionAspect.handleClose(ConnectionAspect.java:184)
> at sun.reflect.GeneratedMethodAccessor134.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:121)
> at org.jboss.jms.client.delegate.ClientConnectionDelegate$close_N4742752445160157748.invokeNext(ClientConnectionDelegate$close_N4742752445160157748.java)
> at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.java:92)
> at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
> at org.jboss.jms.client.delegate.ClientConnectionDelegate$close_N4742752445160157748.invokeNext(ClientConnectionDelegate$close_N4742752445160157748.java)
> at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:170)
> at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:105)
> at org.jboss.jms.client.delegate.ClientConnectionDelegate$close_N4742752445160157748.invokeNext(ClientConnectionDelegate$close_N4742752445160157748.java)
> at org.jboss.jms.client.delegate.ClientConnectionDelegate.close(ClientConnectionDelegate.java)
> at org.jboss.jms.client.JBossConnection.close(JBossConnection.java:132)
> at org.jboss.jms.server.bridge.Bridge.cleanup(Bridge.java:1098)
> at org.jboss.jms.server.bridge.Bridge.access$1100(Bridge.java:66)
> at org.jboss.jms.server.bridge.Bridge$FailureHandler.run(Bridge.java:1496)
> at java.lang.Thread.run(Thread.java:619)
> "Timer-4":
> at org.jboss.remoting.ConnectionValidator.notifyListeners(ConnectionValidator.java:553)
> - waiting to lock <0xce89f508> (a java.util.ArrayList)
> at org.jboss.remoting.ConnectionValidator.run(ConnectionValidator.java:286)
> - locked <0xce8b25e0> (a java.lang.Object)
> at java.util.TimerThread.mainLoop(Timer.java:512)
> at java.util.TimerThread.run(Timer.java:462)
> Found 1 deadlock.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months
[JBoss JIRA] Created: (JBRULES-3183) Error evaluating XOR condition in ruleflow (in 5.2.0 worked in 5.0.1)
by Lubos Pechac (JIRA)
Error evaluating XOR condition in ruleflow (in 5.2.0 worked in 5.0.1)
---------------------------------------------------------------------
Key: JBRULES-3183
URL: https://issues.jboss.org/browse/JBRULES-3183
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core (expert)
Affects Versions: 5.2.0.Final
Environment: Windows XP, Java 6, Eclipse 3.7.0, Drools plugin from JBoss Tools 3.2
Reporter: Lubos Pechac
Assignee: Mark Proctor
XOR split below produces error for condition:
not GBN2GFact()
or
GBN2GFact( payComps == null || payComps.size == 0 )
payComps is declared in POJO GBN2GFact:
List<PayrollComponent> payComps = new ArrayList<PayrollComponent>();
Error is:
Description Resource Path Location Type
Unable to build expression for 'inline-eval' : [Error: incompatible types in statement: class java.lang.Integer (compared from: class piag.PayrollComponent)]
[Near : {... payComps == null || payComps.size == 0 ....}]
^
[Line: 1, Column: 21]'payComps == null || payComps.size == 0'
[Error: incompatible types in statement: class java.lang.Integer (compared from: class piag.PayrollComponent)]
[Near : {... payComps == null || payComps.size == 0 ....}]
^
[Line: 1, Column: 21] : [Rule name='RuleFlow-Split-GB_N2G-20-14-DROOLS_DEFAULT']
[Error: incompatible types in statement: class java.lang.Integer (compared from: class piag.PayrollComponent)]
[Near : {... payComps == null || payComps.size == 0 ....}]
^
[Line: 1, Column: 21] GB_N2G.rf /GB2008Rules/src/main/rules Unknown Drools Error
RuleFlow:
<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://drools.org/drools-5.0/process"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:schemaLocation="http://drools.org/drools-5.0/process drools-processes-5.0.xsd"
type="RuleFlow" name="GB_N2G" id="GB_N2G" package-name="piag" >
<header>
<imports>
<import name="piag.gb.payroll.GBN2GFact" />
<import name="java.math.BigDecimal" />
</imports>
</header>
<nodes>
<start id="1" name="Start" x="402" y="3" width="80" height="40" />
<ruleSet id="2" name="Initialization N2G" x="384" y="59" width="115" height="40" ruleFlowGroup="Initialization N2G" />
<split id="3" name="Exist PayrollComponents?" x="370" y="180" width="146" height="40" type="2" >
<constraints>
<constraint toNodeId="5" toType="DROOLS_DEFAULT" name="Yes" priority="1" type="rule" dialect="mvel" >GBN2GFact( payComps != null && payComps.size > 0 )</constraint>
<constraint toNodeId="4" toType="DROOLS_DEFAULT" name="No" priority="1" type="rule" dialect="mvel" >not GBN2GFact()
or
GBN2GFact( payComps == null || payComps.size == 0 )</constraint>
</constraints>
</split>
<end id="4" name="End" x="595" y="178" width="80" height="40" />
<subProcess id="5" name="G2N" x="402" y="241" width="80" height="40" processId="GB_G2N" >
</subProcess>
<ruleSet id="6" name="Getting N2G borders" x="376" y="298" width="130" height="40" ruleFlowGroup="Getting N2G borders" />
<join id="7" name="Loop" x="402" y="359" width="80" height="40" type="2" />
<ruleSet id="8" name="Insert PayrollComponent" x="256" y="399" width="138" height="40" ruleFlowGroup="Insert PayrollComponent" />
<join id="9" name="Loop" x="286" y="469" width="80" height="40" type="2" />
<ruleSet id="10" name="Insert border" x="208" y="515" width="80" height="40" ruleFlowGroup="Insert border" />
<subProcess id="11" name="G2N" x="207" y="574" width="80" height="40" processId="GB_G2N" >
</subProcess>
<ruleSet id="12" name="Backward NI" x="207" y="635" width="80" height="40" ruleFlowGroup="Backward NI" />
<end id="14" name="End" x="401" y="1258" width="80" height="40" />
<ruleSet id="15" name="Backward TAX" x="279" y="748" width="93" height="40" ruleFlowGroup="Backward TAX" />
<ruleSet id="17" name="Getting precision" x="173" y="1018" width="101" height="40" ruleFlowGroup="Getting precision" />
<subProcess id="16" name="G2N" x="184" y="959" width="80" height="40" processId="GB_G2N" >
</subProcess>
<ruleSet id="19" name="Create N2G PayItems" x="267" y="1133" width="117" height="40" ruleFlowGroup="Create N2G PayItems" />
<split id="18" name="Is precise?" x="287" y="1064" width="80" height="40" type="2" >
<constraints>
<constraint toNodeId="23" toType="DROOLS_DEFAULT" name="No" priority="1" type="rule" dialect="mvel" >GBN2GFact( correctnessCount <= 5 && precision == null )
or
GBN2GFact( correctnessCount <= 5 && precision != null && ( precision >= "0.01" || precision <= "-0.01" ) )</constraint>
<constraint toNodeId="19" toType="DROOLS_DEFAULT" name="Yes" priority="1" type="rule" dialect="mvel" >GBN2GFact( correctnessCount > 5 )
or
GBN2GFact( precision != null && precision < "0.01" && precision > "-0.01" )</constraint>
</constraints>
</split>
<ruleSet id="21" name="Gross calculation" x="276" y="808" width="100" height="40" ruleFlowGroup="Gross calculation" />
<split id="20" name="Some PayrollComponent?" x="364" y="1189" width="155" height="40" type="2" >
<constraints>
<constraint toNodeId="7" toType="DROOLS_DEFAULT" name="Yes" priority="1" type="rule" dialect="mvel" >GBN2GFact( payComps != null && payComps.size > 0 )</constraint>
<constraint toNodeId="14" toType="DROOLS_DEFAULT" name="No" priority="1" type="rule" dialect="mvel" >GBN2GFact( payComps == null || payComps.size == 0 )</constraint>
</constraints>
</split>
<join id="23" name="Join" x="287" y="867" width="80" height="40" type="2" />
<ruleSet id="22" name="Update gross" x="183" y="901" width="80" height="40" ruleFlowGroup="Update gross" />
<ruleSet id="25" name="Adding PayrollComponent" x="371" y="118" width="142" height="40" ruleFlowGroup="Adding PayrollComponent" />
<split id="24" name="Is calc Net higher?" x="266" y="688" width="119" height="40" type="2" >
<constraints>
<constraint toNodeId="9" toType="DROOLS_DEFAULT" name="No" priority="1" type="rule" dialect="mvel" >GBN2GFact( tempBorders != null && tempBorders.size > 0 )</constraint>
<constraint toNodeId="15" toType="DROOLS_DEFAULT" name="Yes" priority="1" type="rule" dialect="mvel" >GBN2GFact( tempBorders == null || tempBorders.size == 0 )</constraint>
</constraints>
</split>
</nodes>
<connections>
<connection from="1" to="2" />
<connection from="25" to="3" />
<connection from="3" to="4" />
<connection from="3" to="5" />
<connection from="5" to="6" />
<connection from="20" to="7" />
<connection from="6" to="7" />
<connection from="7" to="8" />
<connection from="8" to="9" />
<connection from="24" to="9" />
<connection from="9" to="10" />
<connection from="10" to="11" />
<connection from="11" to="12" />
<connection from="20" to="14" />
<connection from="24" to="15" />
<connection from="16" to="17" />
<connection from="22" to="16" />
<connection from="18" to="19" />
<connection from="17" to="18" />
<connection from="15" to="21" />
<connection from="19" to="20" />
<connection from="21" to="23" />
<connection from="18" to="23" />
<connection from="23" to="22" />
<connection from="2" to="25" />
<connection from="12" to="24" />
</connections>
</process>
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months
[JBoss JIRA] Created: (JBRULES-3202) named query TasksAssignedAsPotentialOwner doesn't work with MySql db
by Frank23 Knoll23 (JIRA)
named query TasksAssignedAsPotentialOwner doesn't work with MySql db
---------------------------------------------------------------------
Key: JBRULES-3202
URL: https://issues.jboss.org/browse/JBRULES-3202
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Environment: MYSQL database
Reporter: Frank23 Knoll23
Assignee: Mark Proctor
Hi,
When I add a task (having two potential owners) by calling the method addTask followed by calling the method getTasksAssignedAsPotentialOwner of org.jbpm.task.service.TaskClient I expect to receive a list of TaskSummaries containing at least the previously added task. But I actually get an empty list!
Here is my setup and possible solution:
I am using the trunk version of ./jbpm-human-task/src/main/resources/META-INF/orm.xml and a MYSQL database.
When calling addTask the Task table will be populated with a NULL actualOwner_id.
The named query TasksAssignedAsPotentialOwner
"select new org.jbpm.task.query.TaskSummary(...t.taskData.actualOwner...) from ... left join t.taskData.actualOwner ..." of orm.xml generates SQL consisting of an inner join "inner join OrganizationalEntity user7_ on task0_.actualOwner_id=user7_.id" which doesn't take the NULL actualOwner_id correctly into account.
When I replace the named query TasksAssignedAsPotentialOwner with
"select new org.jbpm.task.query.TaskSummary(...actualOwner...) from ...left join t.taskData.actualOwner as actualOwner ...", then the generated SQL consists of an "left outer join OrganizationalEntity user2_ on task0_.actualOwner_id=user2_.id" which takes the NULL actualOwner_id correctly into account. So I get a List of TaskSummaries containing the added task.
Is this a correct fix?
Cheers, Frank
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months
[JBoss JIRA] Created: (JBRULES-3044) Need BRMS-586/590 hotfix for Drools 5.1.1 / Salience firing order reversed or not observed on multple fact inserts post index
by Armand Welsh (JIRA)
Need BRMS-586/590 hotfix for Drools 5.1.1 / Salience firing order reversed or not observed on multple fact inserts post index
-----------------------------------------------------------------------------------------------------------------------------
Key: JBRULES-3044
URL: https://issues.jboss.org/browse/JBRULES-3044
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-compiler, drools-core
Affects Versions: 5.1.1.FINAL
Environment: Windows 7/64, ReHat Enterprise Linux 6, Drools 5.1.1 running Java 6 JRE/SDK (all versions currently available from Oracle), 2 GB RAM, 20+ GB Free HD Space
Reporter: Armand Welsh
Assignee: Mark Proctor
Priority: Critical
Fix For: 5.1.1.FINAL
When executing fireAllRules, all pre-index rules fire adhering to the salience prioritization. If, however, during post-index execution, facts are inserted that are used in the conditions of lower salience rules in the same activation group, the rule will fire, regardless of the fact a higher salience rule has already fired.
This is further complicated when defining default rules of default salience (though any salience value will suffice so long as the default rule has the lowest salience within the activation group). When no pre-indexed facts are availble for the activation group, the default rule fires. along, with other activation group rules. During execution, a new fact is inserted that provides a hit for a higher salience rule in the same activation group as the default rule which already fired, however, the rule is not fired.
In effect, pre-indexed facts are processed in descending salience order. whereas post-indexed facts are processed in ascending salience order.
In all scenarios described, there is not a fire once restriction assigned.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
14 years, 7 months