[JBoss Remoting] - SSL bisocket socketWrite0() hangs, while holding Messaging Post Office lock (on a network failure)
by Todd Sandor
Todd Sandor [https://community.jboss.org/people/toddler] created the discussion
"SSL bisocket socketWrite0() hangs, while holding Messaging Post Office lock (on a network failure)"
To view the discussion, visit: https://community.jboss.org/message/754327#754327
--------------------------------------------------------------
Hi ...
We are using EAP5.1.1 (remoting-2-4-5.SP2) and experience a problem when using
SSL and there is a network hard failure (e.g. ethernet cable pulled), a socketWrite0() hangs
while holding a Messaging Post Office lock (readLock()) - this hangs JMS...(many threads
need PostOffice). Thread dump below. It is difficult to reproduce.
A Solaris 10 environment.
This problem has only been observed when SSL is used.
In our remoting-bisocket-service.xml file, we use:
<attribute isParam="true" name="writeTimeout">30000</attribute>
Have been told "writeTimeout" is broken when SSL is being used.
It has been suggested, for SSL, we change the configuration to turn on the check_connection parameter:
<attribute isParam="true" name="socket.check_connection">true</attribute>
But my concern is:
* results in an extra round-trip I/O (not good for a variety of reasons - throughput, remote clients with high latency connecitons, etc.).
* potential to hit other problems with check_connections enabled. e.g. found this:
https://community.jboss.org/message/369442#369442 https://community.jboss.org/message/369442
Has anyone experienced this problem and/or know a solution (other then using
"socket.check_connection") might be?
Searched and found a number of remoting issues on hard-network failure, but not this particular one...
Potentially Related Issue:
https://issues.jboss.org/browse/JBREM-1307 https://issues.jboss.org/browse/JBREM-1307
Thead Dump below:
2012.07.26 13:23:38 -0500 INFO [STDOUT] "WorkerThread#1[10.143.109.23:60321]" Id=74 RUNNABLE (in native)
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at com.sun.net.ssl.internal.ssl.OutputRecord.writeBuffer(OutputRecord.java:297)
at com.sun.net.ssl.internal.ssl.OutputRecord.write(OutputRecord.java:286)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecordInternal(SSLSocketImpl.java:743)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:731)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
- locked com.sun.net.ssl.internal.ssl.AppOutputStream@ac9224
at org.jboss.remoting.transport.socket.TimedOutputStream.write(TimedOutputStream.java:119)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:105)
- locked java.io.BufferedOutputStream@1aea5f0
at java.io.DataOutputStream.write(DataOutputStream.java:90)
- locked java.io.DataOutputStream@16e88df
at java.io.FilterOutputStream.write(FilterOutputStream.java:80)
at org.jboss.messaging.core.impl.message.MessageSupport.write(MessageSupport.java:387)
at org.jboss.jms.message.JBossMessage.write(JBossMessage.java:1069)
at org.jboss.jms.wireformat.ClientDelivery.write(ClientDelivery.java:91)
at org.jboss.jms.wireformat.JMSWireFormat.write(JMSWireFormat.java:237)
at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedWrite(MicroSocketClientInvoker.java:1325)
at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:861)
at org.jboss.remoting.transport.bisocket.BisocketClientInvoker.transport(BisocketClientInvoker.java:470)
at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:169)
at org.jboss.remoting.Client.invoke(Client.java:2070)
at org.jboss.remoting.Client.invoke(Client.java:879)
at org.jboss.remoting.Client.invokeOneway(Client.java:928)
at org.jboss.remoting.callback.ServerInvokerCallbackHandler.handleCallback(ServerInvokerCallbackHandler.java:835)
at org.jboss.remoting.callback.ServerInvokerCallbackHandler.handleCallbackOneway(ServerInvokerCallbackHandler.java:708)
at org.jboss.jms.server.endpoint.ServerSessionEndpoint.performDelivery(ServerSessionEndpoint.java:1600)
at org.jboss.jms.server.endpoint.ServerSessionEndpoint.handleDelivery(ServerSessionEndpoint.java:1512)
- locked org.jboss.jms.server.endpoint.ServerSessionEndpoint@1105e96
at org.jboss.jms.server.endpoint.ServerConsumerEndpoint.handle(ServerConsumerEndpoint.java:353)
- locked java.lang.Object@1b1dde3
at org.jboss.messaging.core.impl.RoundRobinDistributor.handle(RoundRobinDistributor.java:119)
at org.jboss.messaging.core.impl.MessagingQueue$DistributorWrapper.handle(MessagingQueue.java:617)
at org.jboss.messaging.core.impl.ClusterRoundRobinDistributor.handle(ClusterRoundRobinDistributor.java:79)
at org.jboss.messaging.core.impl.ChannelSupport.deliverInternal(ChannelSupport.java:681)
at org.jboss.messaging.core.impl.MessagingQueue.deliverInternal(MessagingQueue.java:540)
at org.jboss.messaging.core.impl.ChannelSupport.handle(ChannelSupport.java:251)
- locked java.lang.Object@5e7463
at org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.routeInternal(MessagingPostOffice.java:3133)
at org.jboss.messaging.core.impl.postoffice.MessagingPostOffice.route(MessagingPostOffice.java:956)
at org.jboss.jms.server.endpoint.ServerConnectionEndpoint.sendMessage(ServerConnectionEndpoint.java:794)
at org.jboss.jms.server.endpoint.ServerSessionEndpoint.send(ServerSessionEndpoint.java:435)
at org.jboss.jms.server.endpoint.advised.SessionAdvised.org$jboss$jms$server$endpoint$advised$SessionAdvised$send$aop(SessionAdvised.java:87)
at org.jboss.jms.server.endpoint.advised.SessionAdvised$send_7280680627620114891.invokeTarget(SessionAdvised$send_7280680627620114891.java)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
at org.jboss.jms.server.container.SecurityAspect.handleSend(SecurityAspect.java:158)
at sun.reflect.GeneratedMethodAccessor224.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:122)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at com.timetra.nms.server.j2ee.jms.messaging.JBossMessagingServerInterceptor.handleSessionSend(JBossMessagingServerInterceptor.java:346)
at sun.reflect.GeneratedMethodAccessor223.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:122)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.jms.server.endpoint.advised.SessionAdvised.send(SessionAdvised.java)
at org.jboss.jms.wireformat.SessionSendRequest.serverInvoke(SessionSendRequest.java:95)
at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandler.java:165)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:967)
at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:791)
- locked org.jboss.remoting.transport.socket.ServerThread@465cc
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:744)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:586)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234)
Number of locked synchronizers = 1
- java.util.concurrent.locks.ReentrantLock$NonfairSync@12b4a3e
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/754327#754327]
Start a new discussion in JBoss Remoting at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 9 months
[jBPM] - How to build package in Guvnor with JBPM process that use user data types ?
by Anatoliy Kalenskiy
Anatoliy Kalenskiy [https://community.jboss.org/people/cybiks] created the discussion
"How to build package in Guvnor with JBPM process that use user data types ?"
To view the discussion, visit: https://community.jboss.org/message/754591#754591
--------------------------------------------------------------
I have business process described in bpmn file. It has scriptTasks that use some project types.
<itemDefinition id="_stepItem" structureRef="project.model.Step" />
<itemDefinition id="_actionsItem" structureRef="java.util.Map" />
<process processType="Private" isExecutable="true" id="com.sample.id" name="EXAMPLE" tns:packageName="defaultPackage" tns:version="1" >
| | <extensionElements> |
| | <tns:import name="project.model.StepAction" /> |
| | <tns:import name="project.model.Step" /> |
| | </extensionElements> |
<!-- process variables -->
<property id="step" itemSubjectRef="_stepItem"/>
<property id="actions" itemSubjectRef="_actionsItem"/>
...
<scriptTask id="_2" name="1FakedStepAction" scriptFormat=" http://www.java.com/java http://www.java.com/java" >
<script>
try {
((StepAction)(actions.get("1StepAction"))).executeStepAction((Step)step); }
catch (Exception e) {
System.out.println("Exception 1StepAction: "+e);
}
</script>
</scriptTask>
...
In Java code I put
Map<String, Object> params = new HashMap<String, Object>();
params.put("step", <some real instance of Step>);
params.put("actions", <some actions map like 1StepAction -> real instance of StepAction>);
ksession.startProcess("com.sample.id", params)
It works fine when I put such file in class path and spring configuration uploads it from this file. I put it to Guvnor. And application successfully load such process from it and run.
But when I try to build package in Guvnor with such process it complains :
Unable to generate action invoker. project.model.Step cannot be resolved to a type
Process Compilation error project.model.Step cannot be resolved to a type
StepActioncannot be resolved to a type
So, how Guvnor can access to my types deployed in my project? Is it possible?
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/754591#754591]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 9 months
[jBPM] - java.lang.String cannot be cast to org.jbpm.task.utils.MarshalledContentWrapper
by TC ONG
TC ONG [https://community.jboss.org/people/devilkazuya99] created the discussion
"java.lang.String cannot be cast to org.jbpm.task.utils.MarshalledContentWrapper"
To view the discussion, visit: https://community.jboss.org/message/740612#740612
--------------------------------------------------------------
String respond = "SOME_VALUE";
Map result = new HashMap();
result.put("answer", respond);
ContentData contentData = null;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream out;
try {
out = new ObjectOutputStream(bos);
out.writeObject(result);
out.close();
contentData = new ContentData();
contentData.setContent(bos.toByteArray());
contentData.setAccessType(AccessType.Inline);
} catch (IOException ioe) {
ioe.printStackTrace();
}
localTaskService.complete(taskId, userName, contentData);
My process has a sequence of human tasks.
When I ran the code above, the first task executed fine, but the second task gives me:
java.lang.String cannot be cast to org.jbpm.task.utils.MarshalledContentWrapper
Any idea why it suddently doesn't work?
Full stack trace:
Application Message - java.lang.String cannot be cast to org.jbpm.task.utils.MarshalledContentWrapper
java.lang.ClassCastException: java.lang.String cannot be cast to org.jbpm.task.utils.MarshalledContentWrapper
at org.jbpm.task.utils.ContentMarshallerHelper.unmarshall(ContentMarshallerHelper.java:157)
at org.jbpm.process.workitem.wsht.SyncWSHumanTaskHandler$TaskCompletedHandler.handleCompletedTask(SyncWSHumanTaskHandler.java:354)
at org.jbpm.process.workitem.wsht.SyncWSHumanTaskHandler$TaskCompletedHandler.execute(SyncWSHumanTaskHandler.java:329)
at org.jbpm.task.service.local.LocalTaskService$SimpleEventTransport.trigger(LocalTaskService.java:307)
at org.jbpm.task.event.MessagingTaskEventListener.taskCompleted(MessagingTaskEventListener.java:73)
at org.jbpm.task.event.TaskEventSupport.fireTaskCompleted(TaskEventSupport.java:46)
at org.jbpm.task.service.TaskServiceSession.postTaskCompleteOperation(TaskServiceSession.java:502)
at org.jbpm.task.service.TaskServiceSession.taskOperation(TaskServiceSession.java:468)
at org.jbpm.task.service.local.LocalTaskService.complete(LocalTaskService.java:80)
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/740612#740612]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 9 months
[jBPM] - No current status match exception.
by Dsire krish
Dsire krish [https://community.jboss.org/people/arselv] created the discussion
"No current status match exception."
To view the discussion, visit: https://community.jboss.org/message/755934#755934
--------------------------------------------------------------
I need to get the tasks by status and then start them.
But at some times while retrieveing the tasks im getting the started process id as well and thats in where im getting this exception.
org.jbpm.task.service.PermissionDeniedException: Server-side Exception: User '[User:'admin']' was unable to execution operation 'Start' on task id 287271 due to a no 'current status' match
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
My mina task handler is running in jboss and the application uses its client to the task operations.
Retrieveing tasks by status:
BlockingTaskSummaryResponseHandler resHandler = new BlockingTaskSummaryResponseHandler();
List<Status>statusls=new ArrayList<Status>();
statusls.add(Status.Reserved);
client.getTasksAssignedAsPotentialOwnerByStatus("admin",statusls, "en-UK", resHandler);
Starting the task:
BlockingTaskOperationResponseHandler responseHandler = new BlockingTaskOperationResponseHandler();
client.start(taskId, userId, responseHandler);
*Is there any thing to do with hibernate or what should i take care to eliminate this replication.?*
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/755934#755934]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 10 months
[Beginner's Corner] - Error initializing endpoint
by Govind Raju
Govind Raju [https://community.jboss.org/people/govindtis] created the discussion
"Error initializing endpoint"
To view the discussion, visit: https://community.jboss.org/message/754158#754158
--------------------------------------------------------------
Hi ,
This error on ubuntu 12.04 while starting JBOSS AS .
I stoped apache service on my mechine.
ERROR [org.apache.coyote.http11.Http11Protocol] (MSC service thread 1-4) Error initializing endpoint: java.net.BindException: Address already in use /127.0.0.1:8080
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:983) [jbossweb-7.0.13.Final.jar:]
at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:190) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.connector.Connector.init(Connector.java:983) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.WebConnectorService.start(WebConnectorService.java:267) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
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.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.6.0_24]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.6.0_24]
at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24]
11:00:09,862 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.web.connector.http: org.jboss.msc.service.StartException in service jboss.web.connector.http: JBAS018007: Error starting web connector
at org.jboss.as.web.WebConnectorService.start(WebConnectorService.java:271)
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.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.6.0_24]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.6.0_24]
at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24]
Caused by: LifecycleException: Protocol handler initialization failed: java.net.BindException: Address already in use /127.0.0.1:8080
at org.apache.catalina.connector.Connector.init(Connector.java:985)
at org.jboss.as.web.WebConnectorService.start(WebConnectorService.java:267)
... 5 more
11:00:10,065 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-2) JBAS015012: Started FileSystemDeploymentService for directory /opt/jboss-as-7.1.1.Final/standalone/deployments
11:00:10,078 INFO [org.jboss.as.remoting] (MSC service thread 1-6) JBAS017100: Listening on /127.0.0.1:9999
11:00:10,078 INFO [org.jboss.as.remoting] (MSC service thread 1-4) JBAS017100: Listening on /127.0.0.1:4447
11:00:10,248 INFO [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report
JBAS014777: Services which failed to start: service jboss.web.connector.http: org.jboss.msc.service.StartException in service jboss.web.connector.http: JBAS018007: Error starting web connector
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/754158#754158]
Start a new discussion in Beginner's Corner at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 10 months