08:39:48.465 [main] INFO org.openscada.opc.lib.da.Server - Socket timeout: 0
08:39:48.514 [main] INFO org.jinterop.dcom.core.JISession - Created Session: -1310170806
08:39:48.538 [Timer-2] INFO o.j.dcom.core.JIComOxidRuntime - Running ServerPingTimerTask !
08:39:48.539 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Running ClientPingTimerTask !
08:39:48.539 [Timer-0] INFO org.jinterop.dcom.core.JISession - Release_References_TimerTask:[RUN] Session: -1310170806 , listOfDeferencedIpids.size(): 0
08:39:48.545 [main] DEBUG o.j.dcom.transport.JIComTransport - Opening socket on /127.0.0.1:135
08:43:48.514 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Running ClientPingTimerTask !
08:43:48.516 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Within ClientPingTimerTask: holder.currentSetOIDs, current size of which is 2
08:43:48.517 [Timer-1] DEBUG o.j.dcom.transport.JIComTransport - Opening socket on /192.168.3.45:135
08:43:48.837 [Timer-1] INFO org.jinterop.dcom.core.PingObject - Complex Ping going for the first time, will get the setId as response of this call
08:43:48.837 [Timer-1] INFO org.jinterop.dcom.core.PingObject - Complex ping going : listOfAdds -> Size : 2 , [{ IPID ref count is 2 } and OID in bytes[] 00000: E4 15 63 74 F9 66 0D B7 |ä.ctùf.• |
, hasExpired false } , { IPID ref count is 3 } and OID in bytes[] 00000: AE DF DF 58 B6 CE 1D 66 |®ßßX¶Î.f |
, hasExpired false } ]
08:43:48.837 [Timer-1] INFO org.jinterop.dcom.core.PingObject - listOfDels -> Size : 0 , []
Value: [[false]], Timestamp: Fr Apr 04 08:43:48 MESZ 2014, Quality: 192, ErrorCode: 00000000
08:43:48.889 [Timer-1] WARN org.jinterop.dcom.core.JIComOxidStub - call
rpc.FaultException: Received fault. (unknown)
at rpc.ConnectionOrientedEndpoint.call(Unknown Source) ~[org.openscada.jinterop.deps_1.0.0.201303051454.jar:na]
at rpc.Stub.call(Unknown Source) ~[org.openscada.jinterop.deps_1.0.0.201303051454.jar:na]
at org.jinterop.dcom.core.JIComOxidStub.call(Unknown Source) [org.openscada.jinterop.core_2.0.8.201303051454.jar:na]
at org.jinterop.dcom.core.JIComOxidRuntime$ClientPingTimerTask.run(Unknown Source) [org.openscada.jinterop.core_2.0.8.201303051454.jar:na]
at java.util.TimerThread.mainLoop(Timer.java:512) [na:1.6.0_20]
at java.util.TimerThread.run(Timer.java:462) [na:1.6.0_20]
08:43:48.889 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Within ClientPingTimerTask: holder.seqNum 1
08:47:48.513 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Running ClientPingTimerTask !
08:47:48.513 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Within ClientPingTimerTask: holder.currentSetOIDs, current size of which is 2
08:47:48.513 [Timer-1] INFO org.jinterop.dcom.core.PingObject - Simple Ping going for setId: 00000: 00 00 00 00 00 00 00 00 |........ |
08:47:48.515 [Timer-1] WARN org.jinterop.dcom.core.JIComOxidStub - call
java.io.IOException: An established connection was abourted by the software in your host machine
at sun.nio.ch.SocketDispatcher.read0(Native Method) ~[na:1.6.0_20]
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:25) ~[na:1.6.0_20]
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:233) ~[na:1.6.0_20]
at sun.nio.ch.IOUtil.read(IOUtil.java:206) ~[na:1.6.0_20]
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:236) ~[na:1.6.0_20]
at sun.nio.ch.SocketAdaptor$SocketInputStream.read(SocketAdaptor.java:176) ~[na:1.6.0_20]
at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86) ~[na:1.6.0_20]
at org.jinterop.dcom.transport.JIComTransport.receive(Unknown Source) ~[org.openscada.jinterop.core_2.0.8.201303051454.jar:na]
at rpc.DefaultConnection.receiveFragment(Unknown Source) ~[org.openscada.jinterop.deps_1.0.0.201303051454.jar:na]
at rpc.DefaultConnection.receive(Unknown Source) ~[org.openscada.jinterop.deps_1.0.0.201303051454.jar:na]
at rpc.ConnectionOrientedEndpoint.receive(Unknown Source) ~[org.openscada.jinterop.deps_1.0.0.201303051454.jar:na]
at rpc.ConnectionOrientedEndpoint.call(Unknown Source) ~[org.openscada.jinterop.deps_1.0.0.201303051454.jar:na]
at rpc.Stub.call(Unknown Source) ~[org.openscada.jinterop.deps_1.0.0.201303051454.jar:na]
at org.jinterop.dcom.core.JIComOxidStub.call(Unknown Source) [org.openscada.jinterop.core_2.0.8.201303051454.jar:na]
at org.jinterop.dcom.core.JIComOxidRuntime$ClientPingTimerTask.run(Unknown Source) [org.openscada.jinterop.core_2.0.8.201303051454.jar:na]
at java.util.TimerThread.mainLoop(Timer.java:512) [na:1.6.0_20]
at java.util.TimerThread.run(Timer.java:462) [na:1.6.0_20]
08:47:48.515 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Within ClientPingTimerTask: holder.seqNum 1
08:47:48.515 [Timer-2] INFO o.j.dcom.core.JIComOxidRuntime - Running ServerPingTimerTask !
08:49:54.780 [UtgardSyncReader] ERROR org.openscada.opc.lib.da.SyncAccess - Sync read failed
org.jinterop.dcom.common.JIException: Unspecified Error. [0x80004005]
at org.jinterop.dcom.core.JIComServer.call(Unknown Source) ~[org.openscada.jinterop.core_2.0.8.201303051454.jar:na]
at org.jinterop.dcom.core.JIComServer.call(Unknown Source) ~[org.openscada.jinterop.core_2.0.8.201303051454.jar:na]
at org.jinterop.dcom.core.JIComObjectImpl.call(Unknown Source) ~[org.openscada.jinterop.core_2.0.8.201303051454.jar:na]
at org.jinterop.dcom.core.JIComObjectImpl.call(Unknown Source) ~[org.openscada.jinterop.core_2.0.8.201303051454.jar:na]
at org.openscada.opc.dcom.common.impl.Helper.callRespectSFALSE(Helper.java:41) ~[org.openscada.opc.dcom_1.0.0.201303051455.jar:na]
at org.openscada.opc.dcom.da.impl.OPCSyncIO.read(OPCSyncIO.java:65) ~[org.openscada.opc.dcom_1.0.0.201303051455.jar:na]
at org.openscada.opc.lib.da.Group.read(Group.java:368) ~[org.openscada.opc.lib_1.0.0.201303051455.jar:na]
at org.openscada.opc.lib.da.SyncAccess.runOnce(SyncAccess.java:92) ~[org.openscada.opc.lib_1.0.0.201303051455.jar:na]
at org.openscada.opc.lib.da.SyncAccess.run(SyncAccess.java:54) ~[org.openscada.opc.lib_1.0.0.201303051455.jar:na]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_20]
Caused by: org.jinterop.dcom.common.JIRuntimeException: Unspecified Error. [0x80004005]
at org.jinterop.dcom.core.JICallBuilder.readResult(Unknown Source) ~[org.openscada.jinterop.core_2.0.8.201303051454.jar:na]
at org.jinterop.dcom.core.JICallBuilder.read(Unknown Source) ~[org.openscada.jinterop.core_2.0.8.201303051454.jar:na]
at ndr.NdrObject.decode(Unknown Source) ~[org.openscada.jinterop.deps_1.0.0.201303051454.jar:na]
at rpc.ConnectionOrientedEndpoint.call(Unknown Source) ~[org.openscada.jinterop.deps_1.0.0.201303051454.jar:na]
at rpc.Stub.call(Unknown Source) ~[org.openscada.jinterop.deps_1.0.0.201303051454.jar:na]
... 10 common frames omitted
Hi,
This looks rather strange.
Can you reconnect after the connection broke?
What Windows and Java version are you using?
Jens
...
Received fault
" the items are still getting refreshed until the unexpected exception occurs.Hi,
we are using the openSCADA utgard library to communicate with an OPC sever via DCOM. A patch has been applied to the openSCADA library (org.openscada.opc.lib.da.Server) to activate the NTLMv2 and Session Security of the JISession. I made a small project based on the Utgard Tutorial with a runtime of one hour (i took the example which writes values). It starts without problems and writes values to the PLC.
08:39:48.465 [main] INFO org.openscada.opc.lib.da.Server - Socket timeout: 0
08:39:48.514 [main] INFO org.jinterop.dcom.core.JISession - Created Session: -1310170806
08:39:48.538 [Timer-2] INFO o.j.dcom.core.JIComOxidRuntime - Running ServerPingTimerTask !
08:39:48.539 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Running ClientPingTimerTask !
08:39:48.539 [Timer-0] INFO org.jinterop.dcom.core.JISession - Release_References_TimerTask:[RUN] Session: -1310170806 , listOfDeferencedIpids.size(): 0
08:39:48.545 [main] DEBUG o.j.dcom.transport.JIComTransport - Opening socket on /127.0.0.1:135
The first exception occures while a ping some minutes ago:
08:43:48.514 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Running ClientPingTimerTask !
08:43:48.516 [Timer-1] INFO o.j.dcom.core.JIComOxidRuntime - Within ClientPingTimerTask: holder.currentSetOIDs, current size of which is 2
08:43:48.517 [Timer-1] DEBUG o.j.dcom.transport.JIComTransport - Opening socket on /192.168.3.45:135
08:43:48.837 [Timer-1] INFO org.jinterop.dcom.core.PingObject - Complex Ping going for the first time, will get the setId as response of this call
08:43:48.837 [Timer-1] INFO org.jinterop.dcom.core.PingObject - Complex ping going : listOfAdds -> Size : 2 , [{ IPID ref count is 2 } and OID in bytes[] 00000: E4 15 63 74 F9 66 0D B7 |ä.ctùf.• |
, hasExpired false } , { IPID ref count is 3 } and OID in bytes[] 00000: AE DF DF 58 B6 CE 1D 66 |®ßßX¶Î.f |
, hasExpired false } ]
08:43:48.837 [Timer-1] INFO org.jinterop.dcom.core.PingObject - listOfDels -> Size : 0 , []
Value: [[false]], Timestamp: Fr Apr 04 08:43:48 MESZ 2014, Quality: 192, ErrorCode: 00000000
08:43:48.889 [Timer-1] WARN org.jinterop.dcom.core.JIComOxidStub - call
rpc.FaultException: Received fault. (unknown)
at rpc.ConnectionOrientedEndpoint.call(Unknown Source) ~[org.openscada.jinterop.deps_1.0.0.201303051454.jar:na]
...
at rpc.Stub.call(Unknown Source) ~[org.openscada.jinterop.deps_1.0.0.201303051454.jar:na]<span style="color: #000;" class="styled