[JBoss JIRA] (DROOLS-4413) fireUntilHalt continues to block after session disposed
by Mario Fusco (Jira)
[ https://issues.jboss.org/browse/DROOLS-4413?page=com.atlassian.jira.plugi... ]
Mario Fusco commented on DROOLS-4413:
-------------------------------------
Ok, I've reproduced the problem. This is caused by the fact that also the halt is processed on a separated thread but in the meanwhile the marshalling process somewhat interfere with it preventing it to arrive to complete halt state. I'll keep investigating this, but if you need a quick fix/workaround adding another short sleep immediately after the halt works for me (I tried with 1,000+ runs, but please confirm that this works also for you).
> fireUntilHalt continues to block after session disposed
> -------------------------------------------------------
>
> Key: DROOLS-4413
> URL: https://issues.jboss.org/browse/DROOLS-4413
> Project: Drools
> Issue Type: Bug
> Affects Versions: 7.25.0.Final
> Environment: Local build of 7.24.0.Final with Oracle JDK 8
> Reporter: Jesse White
> Assignee: Mario Fusco
> Priority: Major
> Attachments: WhatsWrongWithMeTest.java, halt_log.txt, intellij-test-failure.png
>
>
> See attached test case that reproduces the problem.
> I'm expecting that a thread calling fireUntilHalt will exit after the session is halted and disposed, but it continues to block. If the code block that performs the marshalling is ignored, then the thread exists as expected.
> Stack is:
> {code:java}
> "Thread-1" #14 daemon prio=5 os_prio=0 tid=0x00007f5a7c683000 nid=0x1c028 in Object.wait() [0x00007f5acc170000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x00000000ecfc67b0> (a org.drools.core.phreak.SynchronizedPropagationList)
> at java.lang.Object.wait(Object.java:502)
> at org.drools.core.phreak.SynchronizedPropagationList.waitOnRest(SynchronizedPropagationList.java:128)
> - locked <0x00000000ecfc67b0> (a org.drools.core.phreak.SynchronizedPropagationList)
> at org.drools.core.common.DefaultAgenda$RestHandler$FireUntilHaltRestHandler.handleRest(DefaultAgenda.java:1133)
> - locked <0x00000000ecfc67b0> (a org.drools.core.phreak.SynchronizedPropagationList)
> at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1074)
> at org.drools.core.common.DefaultAgenda.internalFireUntilHalt(DefaultAgenda.java:991)
> at org.drools.core.common.DefaultAgenda.fireUntilHalt(DefaultAgenda.java:983)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1369)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1348)
> at org.drools.compiler.integrationtests.WhatsWrongWithMeTest.lambda$canReturnWhenHalted$0(WhatsWrongWithMeTest.java:78)
> at org.drools.compiler.integrationtests.WhatsWrongWithMeTest$$Lambda$60/994541328.run(Unknown Source)
> at java.lang.Thread.run(Thread.java:748)
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 11 months
[JBoss JIRA] (DROOLS-2315) Decision Table with more than 9 parameters
by Mario Fusco (Jira)
[ https://issues.jboss.org/browse/DROOLS-2315?page=com.atlassian.jira.plugi... ]
Mario Fusco resolved DROOLS-2315.
---------------------------------
Resolution: Cannot Reproduce
I tried with the decision table that I attached to this ticket and it works for me without any problem.
> Decision Table with more than 9 parameters
> ------------------------------------------
>
> Key: DROOLS-2315
> URL: https://issues.jboss.org/browse/DROOLS-2315
> Project: Drools
> Issue Type: Bug
> Components: decision tables
> Affects Versions: 7.4.1.Final
> Reporter: Adil berdai
> Assignee: Mario Fusco
> Priority: Minor
> Attachments: MultiLinesInAction.xls
>
>
> Hi,
> I've a problem with Drools 7.4.1.Final. I'm using a decision table to write my
> rules and I need to use more than 9 parameters in the same action, but
> something doesn't work. In fact the $10 parameter is interpreted by Drools
> as the first parameter ($1) with 0 appended on queue.
> Does exist a different way to write the tenth (or greater) parameter?
> Thanks.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 11 months
[JBoss JIRA] (DROOLS-2315) Decision Table with more than 9 parameters
by Mario Fusco (Jira)
[ https://issues.jboss.org/browse/DROOLS-2315?page=com.atlassian.jira.plugi... ]
Mario Fusco updated DROOLS-2315:
--------------------------------
Attachment: MultiLinesInAction.xls
> Decision Table with more than 9 parameters
> ------------------------------------------
>
> Key: DROOLS-2315
> URL: https://issues.jboss.org/browse/DROOLS-2315
> Project: Drools
> Issue Type: Bug
> Components: decision tables
> Affects Versions: 7.4.1.Final
> Reporter: Adil berdai
> Assignee: Mario Fusco
> Priority: Minor
> Attachments: MultiLinesInAction.xls
>
>
> Hi,
> I've a problem with Drools 7.4.1.Final. I'm using a decision table to write my
> rules and I need to use more than 9 parameters in the same action, but
> something doesn't work. In fact the $10 parameter is interpreted by Drools
> as the first parameter ($1) with 0 appended on queue.
> Does exist a different way to write the tenth (or greater) parameter?
> Thanks.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 11 months
[JBoss JIRA] (DROOLS-2315) Decision Table with more than 9 parameters
by Mario Fusco (Jira)
[ https://issues.jboss.org/browse/DROOLS-2315?page=com.atlassian.jira.plugi... ]
Mario Fusco updated DROOLS-2315:
--------------------------------
Tester: Tibor Zimanyi
Sprint: 2019 Week 32-34
Priority: Minor (was: Blocker)
> Decision Table with more than 9 parameters
> ------------------------------------------
>
> Key: DROOLS-2315
> URL: https://issues.jboss.org/browse/DROOLS-2315
> Project: Drools
> Issue Type: Bug
> Components: decision tables
> Affects Versions: 7.4.1.Final
> Reporter: Adil berdai
> Assignee: Mario Fusco
> Priority: Minor
>
> Hi,
> I've a problem with Drools 7.4.1.Final. I'm using a decision table to write my
> rules and I need to use more than 9 parameters in the same action, but
> something doesn't work. In fact the $10 parameter is interpreted by Drools
> as the first parameter ($1) with 0 appended on queue.
> Does exist a different way to write the tenth (or greater) parameter?
> Thanks.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 11 months
[JBoss JIRA] (DROOLS-4413) fireUntilHalt continues to block after session disposed
by Jesse White (Jira)
[ https://issues.jboss.org/browse/DROOLS-4413?page=com.atlassian.jira.plugi... ]
Jesse White updated DROOLS-4413:
--------------------------------
Attachment: intellij-test-failure.png
> fireUntilHalt continues to block after session disposed
> -------------------------------------------------------
>
> Key: DROOLS-4413
> URL: https://issues.jboss.org/browse/DROOLS-4413
> Project: Drools
> Issue Type: Bug
> Affects Versions: 7.25.0.Final
> Environment: Local build of 7.24.0.Final with Oracle JDK 8
> Reporter: Jesse White
> Assignee: Mario Fusco
> Priority: Major
> Attachments: WhatsWrongWithMeTest.java, halt_log.txt, intellij-test-failure.png
>
>
> See attached test case that reproduces the problem.
> I'm expecting that a thread calling fireUntilHalt will exit after the session is halted and disposed, but it continues to block. If the code block that performs the marshalling is ignored, then the thread exists as expected.
> Stack is:
> {code:java}
> "Thread-1" #14 daemon prio=5 os_prio=0 tid=0x00007f5a7c683000 nid=0x1c028 in Object.wait() [0x00007f5acc170000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x00000000ecfc67b0> (a org.drools.core.phreak.SynchronizedPropagationList)
> at java.lang.Object.wait(Object.java:502)
> at org.drools.core.phreak.SynchronizedPropagationList.waitOnRest(SynchronizedPropagationList.java:128)
> - locked <0x00000000ecfc67b0> (a org.drools.core.phreak.SynchronizedPropagationList)
> at org.drools.core.common.DefaultAgenda$RestHandler$FireUntilHaltRestHandler.handleRest(DefaultAgenda.java:1133)
> - locked <0x00000000ecfc67b0> (a org.drools.core.phreak.SynchronizedPropagationList)
> at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1074)
> at org.drools.core.common.DefaultAgenda.internalFireUntilHalt(DefaultAgenda.java:991)
> at org.drools.core.common.DefaultAgenda.fireUntilHalt(DefaultAgenda.java:983)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1369)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1348)
> at org.drools.compiler.integrationtests.WhatsWrongWithMeTest.lambda$canReturnWhenHalted$0(WhatsWrongWithMeTest.java:78)
> at org.drools.compiler.integrationtests.WhatsWrongWithMeTest$$Lambda$60/994541328.run(Unknown Source)
> at java.lang.Thread.run(Thread.java:748)
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 11 months
[JBoss JIRA] (DROOLS-4413) fireUntilHalt continues to block after session disposed
by Jesse White (Jira)
[ https://issues.jboss.org/browse/DROOLS-4413?page=com.atlassian.jira.plugi... ]
Jesse White commented on DROOLS-4413:
-------------------------------------
[~mfusco] thanks for taking the time to look at this. Good point.
I've changed the test to make sure `fireUntilHalt` is called before we halt the session.
{code:java}
// Create a dedicated thread to fire
KieSession kieSession = base.newKieSession();
CountDownLatch latch = new CountDownLatch(1);
Thread t = new Thread(() -> {
latch.countDown();
System.out.println("Firing.");
kieSession.fireUntilHalt();
System.out.println("Halted.");
});
t.start();
// Wait for the thread to start firing
latch.await();
Thread.sleep(250);
{code}
When I run the test in a loop, I can still reproduce the problem after about 30 runs or so. Stack for the thread looks like the following:
{noformat}
"Thread-14" #40 daemon prio=5 os_prio=0 tid=0x00007fa2c0085000 nid=0x154d3 in Object.wait() [0x00007fa3202aa000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000f125e8d0> (a java.lang.Object)
at java.lang.Object.wait(Object.java:502)
at org.drools.core.common.DefaultAgenda$ExecutionStateMachine.waitInactive(DefaultAgenda.java:1375)
at org.drools.core.common.DefaultAgenda$ExecutionStateMachine.waitAndEnterExecutionState(DefaultAgenda.java:1368)
at org.drools.core.common.DefaultAgenda$ExecutionStateMachine.toFireUntilHalt(DefaultAgenda.java:1336)
- locked <0x00000000f125e8d0> (a java.lang.Object)
at org.drools.core.common.DefaultAgenda$RestHandler$FireUntilHaltRestHandler.handleRest(DefaultAgenda.java:1139)
at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1074)
at org.drools.core.common.DefaultAgenda.internalFireUntilHalt(DefaultAgenda.java:991)
at org.drools.core.common.DefaultAgenda.fireUntilHalt(DefaultAgenda.java:983)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1369)
at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1348)
at org.drools.compiler.integrationtests.WhatsWrongWithMeTest.lambda$canReturnWhenHalted$0(WhatsWrongWithMeTest.java:81)
at org.drools.compiler.integrationtests.WhatsWrongWithMeTest$$Lambda$60/1688271262.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
{noformat}
This is consistent with the behavior we've been seeing in 7.7.0.Final, which is what led us to start investigating this in the first place.
!intellij-test-failure.png|thumbnail!
> fireUntilHalt continues to block after session disposed
> -------------------------------------------------------
>
> Key: DROOLS-4413
> URL: https://issues.jboss.org/browse/DROOLS-4413
> Project: Drools
> Issue Type: Bug
> Affects Versions: 7.25.0.Final
> Environment: Local build of 7.24.0.Final with Oracle JDK 8
> Reporter: Jesse White
> Assignee: Mario Fusco
> Priority: Major
> Attachments: WhatsWrongWithMeTest.java, halt_log.txt, intellij-test-failure.png
>
>
> See attached test case that reproduces the problem.
> I'm expecting that a thread calling fireUntilHalt will exit after the session is halted and disposed, but it continues to block. If the code block that performs the marshalling is ignored, then the thread exists as expected.
> Stack is:
> {code:java}
> "Thread-1" #14 daemon prio=5 os_prio=0 tid=0x00007f5a7c683000 nid=0x1c028 in Object.wait() [0x00007f5acc170000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x00000000ecfc67b0> (a org.drools.core.phreak.SynchronizedPropagationList)
> at java.lang.Object.wait(Object.java:502)
> at org.drools.core.phreak.SynchronizedPropagationList.waitOnRest(SynchronizedPropagationList.java:128)
> - locked <0x00000000ecfc67b0> (a org.drools.core.phreak.SynchronizedPropagationList)
> at org.drools.core.common.DefaultAgenda$RestHandler$FireUntilHaltRestHandler.handleRest(DefaultAgenda.java:1133)
> - locked <0x00000000ecfc67b0> (a org.drools.core.phreak.SynchronizedPropagationList)
> at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1074)
> at org.drools.core.common.DefaultAgenda.internalFireUntilHalt(DefaultAgenda.java:991)
> at org.drools.core.common.DefaultAgenda.fireUntilHalt(DefaultAgenda.java:983)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1369)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireUntilHalt(StatefulKnowledgeSessionImpl.java:1348)
> at org.drools.compiler.integrationtests.WhatsWrongWithMeTest.lambda$canReturnWhenHalted$0(WhatsWrongWithMeTest.java:78)
> at org.drools.compiler.integrationtests.WhatsWrongWithMeTest$$Lambda$60/994541328.run(Unknown Source)
> at java.lang.Thread.run(Thread.java:748)
> {code}
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 11 months
[JBoss JIRA] (WFCORE-4597) Intermittent failures deploying an application with Class-Path pointing to an external jar file
by Yeray Borges (Jira)
[ https://issues.jboss.org/browse/WFCORE-4597?page=com.atlassian.jira.plugi... ]
Yeray Borges updated WFCORE-4597:
---------------------------------
Steps to Reproduce:
1. Unzip the attached file
2. export WFLY_HOME=/your/server/home
3. execute run.sh [N] where N is the number of restarts to try, use as min 40, as soon as the error is detected the test will exit
was:
1. Unzip the attached file
2. export WFLY_HOME=/your/server/home
3. execute run.sh [N] where N is the number of restarts
> Intermittent failures deploying an application with Class-Path pointing to an external jar file
> -----------------------------------------------------------------------------------------------
>
> Key: WFCORE-4597
> URL: https://issues.jboss.org/browse/WFCORE-4597
> Project: WildFly Core
> Issue Type: Bug
> Components: Modules
> Reporter: Yeray Borges
> Assignee: Yeray Borges
> Priority: Major
> Attachments: reproducer-WFCORE-4597.zip
>
>
> The deployment of an application which is using an external library configured via Class-Path manifest attribute could fail with the following error:
> {noformat}
> 13:58:32,347 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
> ("core-service" => "management"),
> ("security-realm" => "ManagementRealm")
> ]) - failure description: "WFLYCTL0441: Operation has resulted in failed or missing services
> WFLYCTL0184: New missing/unsatisfied dependencies:
> service module.resolved.service.\"deployment.web-app-classpath-1.0.war\".main (missing) dependents: [service jboss.module.service.\"deployment.web-app-classpath-1.0.war\".main]
> WFLYCTL0448: 1 additional services are down due to their dependencies being missing or failed"
> {noformat}
> Follow up the steps to reproduce
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 11 months
[JBoss JIRA] (WFCORE-4597) Intermittent failures deploying an application with Class-Path pointing to an external jar file
by Yeray Borges (Jira)
[ https://issues.jboss.org/browse/WFCORE-4597?page=com.atlassian.jira.plugi... ]
Yeray Borges updated WFCORE-4597:
---------------------------------
Attachment: reproducer-WFCORE-4597.zip
> Intermittent failures deploying an application with Class-Path pointing to an external jar file
> -----------------------------------------------------------------------------------------------
>
> Key: WFCORE-4597
> URL: https://issues.jboss.org/browse/WFCORE-4597
> Project: WildFly Core
> Issue Type: Bug
> Components: Modules
> Reporter: Yeray Borges
> Assignee: Yeray Borges
> Priority: Major
> Attachments: reproducer-WFCORE-4597.zip
>
>
> The deployment of an application which is using an external library configured via Class-Path manifest attribute could fail with the following error:
> {noformat}
> 13:58:32,347 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
> ("core-service" => "management"),
> ("security-realm" => "ManagementRealm")
> ]) - failure description: "WFLYCTL0441: Operation has resulted in failed or missing services
> WFLYCTL0184: New missing/unsatisfied dependencies:
> service module.resolved.service.\"deployment.web-app-classpath-1.0.war\".main (missing) dependents: [service jboss.module.service.\"deployment.web-app-classpath-1.0.war\".main]
> WFLYCTL0448: 1 additional services are down due to their dependencies being missing or failed"
> {noformat}
> Follow up the steps to reproduce
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years, 11 months