[JBoss JIRA] (JBRULES-3552) ConcurrentModificationException in CompositeClassLoader$CachingLoader in multithreading environment
by Peter P (JIRA)
Peter P created JBRULES-3552:
--------------------------------
Summary: ConcurrentModificationException in CompositeClassLoader$CachingLoader in multithreading environment
Key: JBRULES-3552
URL: https://issues.jboss.org/browse/JBRULES-3552
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-api
Affects Versions: 5.4.0.Final
Environment: drools expert, ejb, application server
Reporter: Peter P
Assignee: Mark Proctor
Sometimes we get this exception when executing rules from multiple threads at first time after application server starts, probably same rule file.
Here is our environment:
1. We are using precompiled knowledge base by serialized into file and deserialize it from file when using it;
2. Use same knowledge base object for all threads;
3. Call newStatelessKnowledgeSession from same knowledge base for every thread when executing rules;
4. stateless session is never cached or shared among threads;
Following are stack trace:
[java.util.ConcurrentModificationException] concurrent access to HashMap attempted by Thread[ORB.thread.pool :
3,5,main]
at java.util.HashMap.onExit(HashMap.java:226)
at java.util.HashMap.transfer(HashMap.java:690)
at java.util.HashMap.resize(HashMap.java:676)
at java.util.HashMap.addEntry(HashMap.java:1049)
at java.util.HashMap.put(HashMap.java:561)
at org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:271)
at org.drools.util.CompositeClassLoader$CachingLoader.load(CompositeClassLoader.java:237)
at org.drools.util.CompositeClassLoader.loadClass(CompositeClassLoader.java:88)
at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:163)
at org.mvel2.ParserConfiguration.checkForDynamicImport(ParserConfiguration.java:159)
at org.mvel2.ParserConfiguration.hasImport(ParserConfiguration.java:187)
at org.mvel2.ParserContext.hasImport(ParserContext.java:352)
at org.mvel2.compiler.PropertyVerifier.getBeanProperty(PropertyVerifier.java:163)
at org.mvel2.compiler.PropertyVerifier.analyze(PropertyVerifier.java:117)
at org.mvel2.compiler.ExpressionCompiler.verify(ExpressionCompiler.java:381)
at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:273)
at org.mvel2.util.ParseTools.subCompileExpression(ParseTools.java:2137)
at org.mvel2.ast.Substatement.<init>(Substatement.java:38)
at org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:1073)
at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)
at org.mvel2.util.ParseTools.subCompileExpression(ParseTools.java:2137)
at org.mvel2.ast.Negation.<init>(Negation.java:40)
at org.mvel2.compiler.AbstractParser.nextToken(AbstractParser.java:1181)
at org.mvel2.compiler.ExpressionCompiler._compile(ExpressionCompiler.java:128)
at org.mvel2.compiler.ExpressionCompiler.compile(ExpressionCompiler.java:62)
at org.mvel2.MVEL.compileExpression(MVEL.java:810)
at org.drools.base.mvel.MVELCompilationUnit.compile(MVELCompilationUnit.java:442)
at org.drools.base.mvel.MVELCompilationUnit.getCompiledExpression(MVELCompilationUnit.java:238)
at org.drools.rule.constraint.MvelConstraint.createMvelConditionEvaluator(MvelConstraint.java:173)
at org.drools.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:157)
at org.drools.rule.constraint.MvelConstraint.isAllowed(MvelConstraint.java:124)
at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:137)
at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497)
at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382)
at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)
at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:337)
at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:298)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:888)
at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847)
at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269)
at org.drools.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:303)
at com.validators.Validator.execute(Validator.java:436)
at com.ejb.EJBBean.validate(EJBBean.java:122)
at com.ejb._EJSRemote0SLEJBBean_3a6166f4_Tie.validate(_EJSRemote0SLEJBBean_3a6166f4_Tie.java)
at com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:621)
at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:474)
at com.ibm.rmi.iiop.ORB.process(ORB.java:503)
at com.ibm.CORBA.iiop.ORB.process(ORB.java:1571)
at com.ibm.rmi.iiop.Connection.respondTo(Connection.java:2703)
at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2577)
at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:62)
at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:118)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1551)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 9 months
[JBoss JIRA] (AS7-5628) AddMySqlDataSourceOperationsUnitTestCase may fail with missing services
by Thomas Diesler (JIRA)
Thomas Diesler created AS7-5628:
-----------------------------------
Summary: AddMySqlDataSourceOperationsUnitTestCase may fail with missing services
Key: AS7-5628
URL: https://issues.jboss.org/browse/AS7-5628
Project: Application Server 7
Issue Type: Bug
Components: OSGi
Reporter: Thomas Diesler
Assignee: Thomas Diesler
{code}
Caused by: java.lang.Exception: {"JBAS014771: Services with missing/unavailable dependencies" => [
"jboss.deployment.unit.\"mysql-connector-java-5.1.15.jar\".REGISTER Missing[JBAS014861: <one or more transitive dependencies>]",
"jbosgi.integration.PersistentBundles.INSTALL Missing[jbosgi.integration.BootstrapBundles.COMPLETE]"
]}
at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.getActionResult(ServerDeploymentPlanResultFuture.java:134)
at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.getResultFromNode(ServerDeploymentPlanResultFuture.java:123)
at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.get(ServerDeploymentPlanResultFuture.java:85)
at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.get(ServerDeploymentPlanResultFuture.java:42)
at org.jboss.as.controller.client.helpers.standalone.ServerDeploymentHelper.deploy(ServerDeploymentHelper.java:50)
at org.jboss.as.arquillian.container.ArchiveDeployer.deployInternal(ArchiveDeployer.java:77)
{code}
output
{code}
[0m[0m22:06:39,571 INFO [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015876: Starting deployment of "mysql-connector-java-5.1.15.jar"
[0m[0m22:06:39,663 INFO [org.jboss.osgi.framework] (MSC service thread 1-4) JBOSGI011006: OSGi Framework - 2.0.0.CR28
[0m[0m22:06:39,918 INFO [org.jboss.osgi.framework] (MSC service thread 1-2) JBOSGI011001: Bundle installed: org.apache.felix.configadmin:1.2.8
[0m[0m22:06:39,919 INFO [org.jboss.osgi.framework] (MSC service thread 1-4) JBOSGI011001: Bundle installed: jboss-as-osgi-configadmin:7.2.0.Alpha1-SNAPSHOT
[0m[0m22:06:39,918 INFO [org.jboss.osgi.framework] (MSC service thread 1-6) JBOSGI011001: Bundle installed: jboss-osgi-logging:1.0.0
[0m[0m22:06:39,918 INFO [org.jboss.osgi.framework] (MSC service thread 1-1) JBOSGI011001: Bundle installed: org.apache.felix.log:1.0.0
[0m[0m22:06:40,132 INFO [org.jboss.as.server] (management-handler-thread - 2) JBAS015870: Deploy of deployment "mysql-connector-java-5.1.15.jar" was rolled back with failure message {"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.deployment.unit.\"mysql-connector-java-5.1.15.jar\".REGISTER Missing[JBAS014861: <one or more transitive dependencies>]","jbosgi.integration.PersistentBundles.INSTALL Missing[jbosgi.integration.BootstrapBundles.COMPLETE]"]}
[0m[0m22:06:40,134 INFO [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015877: Stopped deployment mysql-connector-java-5.1.15.jar in 3ms
[0m[0m22:06:40,137 INFO [org.jboss.as.controller] (management-handler-thread - 2) JBAS014774: Service status report
JBAS014775: New missing/unsatisfied dependencies:
service jbosgi.integration.BootstrapBundles.COMPLETE (missing) dependents: [service jbosgi.internal.framework.INIT, service jbosgi.integration.PersistentBundles.INSTALL, service jboss.osgi.as.module.registration]
service jbosgi.integration.PersistentBundles.COMPLETE (missing) dependents: [service jbosgi.internal.framework.INIT]
{code}
--
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
13 years, 9 months
[JBoss JIRA] (AS7-5620) @Resource(mappedName=...) cannot initialize static variable
by Miroslav Novak (JIRA)
Miroslav Novak created AS7-5620:
-----------------------------------
Summary: @Resource(mappedName=...) cannot initialize static variable
Key: AS7-5620
URL: https://issues.jboss.org/browse/AS7-5620
Project: Application Server 7
Issue Type: Bug
Components: CDI / Weld
Affects Versions: 7.1.3.Final (EAP)
Reporter: Miroslav Novak
Assignee: Stuart Douglas
Fix For: 7.1.4.Final (EAP)
There is a change in behaviour of:
{code}
@Resource(mappedName = "java:/JmsXA")
private static ConnectionFactory cf;
{code}
In EAP6/AS7.1.2.Final this property is initialized but in EAP6.0.1.ER2/AS7.1.3.Final is not.
This could also break backward compatibility. Is there a reason why this feature should not work?
Used MDB:
{code}
import java.util.concurrent.atomic.AtomicInteger;
import javax.annotation.Resource;
import javax.ejb.*;
import javax.jms.*;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
@MessageDriven(name = "mdb",
activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "jms/queue/InQueue")})
@TransactionManagement(value = TransactionManagementType.CONTAINER)
@TransactionAttribute(value = TransactionAttributeType.REQUIRED)
public class LocalMdbFromQueue implements MessageDrivenBean, MessageListener {
@Resource(mappedName = "java:/JmsXA")
private static ConnectionFactory cf;
@Resource(mappedName = "java:/jms/queue/OutQueue")
private static Queue queue;
public static AtomicInteger globalCounter = new AtomicInteger();
private static final long serialVersionUID = 2770941392406343837L;
private static final Logger log = Logger.getLogger(LocalMdbFromQueue.class.getName());
private MessageDrivenContext context = null;
public LocalMdbFromQueue() {
super();
}
@Override
public void setMessageDrivenContext(MessageDrivenContext ctx) {
this.context = ctx;
}
public void ejbCreate() {
}
@Override
public void ejbRemove() {
}
@Override
public void onMessage(Message message) {
Connection con = null;
Session session;
try {
long time = System.currentTimeMillis();
int counter = 0;
try {
counter = message.getIntProperty("count");
} catch (Exception e) {
log.log(Level.ERROR, e.getMessage(), e);
}
String messageInfo = message.getJMSMessageID() + ", count:" + counter;
log.log(Level.INFO, " Start of message: " + globalCounter.incrementAndGet() + ", message info:" + messageInfo);
con = cf.createConnection();
con.start();
session = con.createSession(false, Session.AUTO_ACKNOWLEDGE);
String text = message.getJMSMessageID() + " processed by: " + hashCode();
MessageProducer sender = session.createProducer(queue);
TextMessage newMessage = session.createTextMessage(text);
newMessage.setStringProperty("inMessageId", message.getJMSMessageID());
sender.send(newMessage);
log.log(Level.INFO, " End of " + messageInfo + " in " + (System.currentTimeMillis() - time) + " ms");
} catch (Exception t) {
t.printStackTrace();
log.log(Level.FATAL, t.getMessage(), t);
} finally {
if (con != null) {
try {
con.close();
} catch (JMSException e) {
log.log(Level.FATAL, e.getMessage(), e);
}
}
}
}
}
{code}
--
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
13 years, 9 months
[JBoss JIRA] (AS7-5622) JBoss 7.1.1- Server does not deploy the web services if path contains spaces
by Y D Prakash (JIRA)
Y D Prakash created AS7-5622:
--------------------------------
Summary: JBoss 7.1.1- Server does not deploy the web services if path contains spaces
Key: AS7-5622
URL: https://issues.jboss.org/browse/AS7-5622
Project: Application Server 7
Issue Type: Bug
Environment: Checked in Windows
Reporter: Y D Prakash
Priority: Critical
When tried to start the JBoss7.1.1 from "C:\Program Files\jboss-as-7.1.1.Final", where the installation path contains the space [In "Program Files"], Server starts perfectly but the ear file does not get deployed.
The issue is as follows:
WSDL for the first web service interface [Pogo web services] has been written to "C:\Program%20Files\jboss-as-7.1.1.Final\standalone\data\wsdl\xxx.ear\xxx-war.war" [by creating brand new folders] where as the WSDL for the same web service class has been written to "C:\Program Files\jboss-as-7.1.1.Final\standalone\data\wsdl\xxx.ear\xxx-war.war" [Within the installation folder] due to which the deployment stops with FileNotFoundException.
--
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
13 years, 9 months
[JBoss JIRA] (AS7-5603) NPE in TldParsingDeploymentProcessor.deploy
by Ondrej Zizka (JIRA)
Ondrej Zizka created AS7-5603:
---------------------------------
Summary: NPE in TldParsingDeploymentProcessor.deploy
Key: AS7-5603
URL: https://issues.jboss.org/browse/AS7-5603
Project: Application Server 7
Issue Type: Bug
Components: MSC
Affects Versions: 7.1.3.Final (EAP)
Reporter: Ondrej Zizka
Assignee: David Lloyd
See attached war.
{code}
07:38:33,928 INFO [org.jboss.as.server.deployment] (MSC service thread 1-6) JBAS015876: Starting deployment of "essc-portal.war"
07:38:34,384 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-10) MSC00001: Failed to start service jboss.deployment.unit."essc-portal.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.unit."essc-portal.war".PARSE: JBAS018733: Failed to process phase PARSE of deployment "essc-portal.war"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:123) [jboss-as-server-7.1.3.CR1.jar:7.1.3.CR1]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_26]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_26]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_26]
Caused by: java.lang.NullPointerException
at org.jboss.as.web.deployment.TldParsingDeploymentProcessor.deploy(TldParsingDeploymentProcessor.java:80)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:116) [jboss-as-server-7.1.3.CR1.jar:7.1.3.CR1]
... 5 more
{code}
--
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
13 years, 9 months
[JBoss JIRA] (AS7-3016) Lazy enlistment of JMS Session does not work - UserTransaction implementation does not support it
by Jiri Pechanec (Created) (JIRA)
Lazy enlistment of JMS Session does not work - UserTransaction implementation does not support it
-------------------------------------------------------------------------------------------------
Key: AS7-3016
URL: https://issues.jboss.org/browse/AS7-3016
Project: Application Server 7
Issue Type: Bug
Components: Transactions
Affects Versions: 7.1.0.Beta1b
Reporter: Jiri Pechanec
Assignee: Jonathan Halliday
Priority: Critical
This test case was identified in TCK6. There is a MDB with CMT configured - com/sun/ts/tests/jms/ee/mdb/xa
The testsuite sends a message to MDB
MDB
1) creates a QueueSession
2) Start UT
3) Send a message
4) Rollback UT
5) Start UT
6) Send a message
7) commit UT
Unfortunately the semantics is broken as QueueSession is not enlisted into transactions.
The enlistment is done when UserTransaction emits a notification org/jboss/tm/usertx/UserTransactionRegistry. The enlistment is done by JCA component which receives the notification and enlists all active XAResources.
Unfortunately the notification is emitted by org/jboss/tm/usertx/client/ServerVMClientUserTransaction. Unfortunately org/jboss/as/txn/service/ArjunaTransactionManagerService hard-codes com.arjuna.ats.internal.jta.transaction.arjunacore.UserTransactionImple which does not have this capability.
It is necessary to support this scenario as it is tested in TCKs.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 9 months