OncRpcTcpClient doesn't work in a multi thread environment

Bug #603162 reported by Achim
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenMapi.org
New
Undecided
Johannes Roith

Bug Description

Open a bunch of (500) entries in the main thread and in a second thread at the same time results in the following exceptions:

CompactTeaSharp.OncRpcException: wrong ONC/RPC message type received
  at CompactTeaSharp.OncRpcClientReplyMessage.XdrDecode (CompactTeaSharp.XdrDecodingStream xdr) [0x00069] in /home/hudson/workspace/nmapi_stable/RemoteTea-Sharp/OncRpc/OncRpcClientReplyMessage.cs:121
  at CompactTeaSharp.OncRpcTcpClient.Call (Int32 procedureNumber, Int32 versionNumber, IXdrAble params, IXdrAble result) [0x00128] in /home/hudson/workspace/nmapi_stable/RemoteTea-Sharp/OncRpc/OncRpcTcpClient.cs:372
164201 ERROR HttpHandler (null) - System.Threading.ThreadAbortException: Thread was being aborted
  at NMapi.TeamXChangeBase.Dispose (Boolean disposing) [0x00073] in /home/hudson/workspace/nmapi_stable/providers/NMapi.Provider.TeamXChange/TeamXChangeBase.cs:85
  at NMapi.TeamXChangeBase.Dispose () [0x00000] in /home/hudson/workspace/nmapi_stable/providers/NMapi.Provider.TeamXChange/TeamXChangeBase.cs:66
  at NMapi.ActiveSync.Commands.Sync2Client.WriteServerChangesToClient () [0x00070] in /home/aderigs/src/Sync4OpenMAPI/Commands/Sync2Client.cs:182
  at NMapi.ActiveSync.Commands.Sync.DoExecute () [0x00446] in /home/aderigs/src/Sync4OpenMAPI/Commands/Sync.cs:185
  at NMapi.ActiveSync.Commands.CmdHandler.Execute () [0x00000] in /home/aderigs/src/Sync4OpenMAPI/Commands/CmdHandler.cs:72
  at NMapi.ActiveSync.HttpHandler.ProcessAsCommand (System.Web.HttpContext context) [0x00212] in /home/aderigs/src/Sync4OpenMAPI/ActiveSync-Webserver/HttpHandler.cs:64

Tags: onc rpc
Achim (achim-derigs)
Changed in openmapi:
assignee: nobody → Johannes Roith (jroith)
Revision history for this message
Achim (achim-derigs) wrote :

$ make bin/NMapi.Test.dll && nunit-console2 bin/NMapi.Test.dll -run:NMapi.Test.ConnectionTest
$ git diff
diff --git a/tests/regression/NetworkTests.cs b/tests/regression/NetworkTests.cs
index c305d59..a37eae1 100644
--- a/tests/regression/NetworkTests.cs
+++ b/tests/regression/NetworkTests.cs
@@ -103,7 +103,7 @@ namespace NMapi.Test {
                        }

                        // TODO: Change this to something really greater than 1
- var multithreading = new Thread [1];
+ var multithreading = new Thread [7];

                        for (int i = 0; i < multithreading.Length; i++) {
                                var thread = new Thread (QueryRows);

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.