[prev in list] [next in list] [prev in thread] [next in thread]
List: omniorb-list
Subject: Re: [omniORB] C++ server bug - valuetype as in argument & valuetype as exception class member
From: Duncan Grisby via omniORB-list <omniorb-list () omniorb-support ! com>
Date: 2016-01-04 10:50:18
Message-ID: mailman.553.1451904617.1200.omniorb-list () omniorb-support ! com
[Download RAW message or body]
[Attachment #2 (message/rfc822)]
On Wed, 2015-12-30 at 09:42 +0100, Michal Strnad wrote:
[...]
> My C++ server is based on this IDL file. When I call Bug::Demo::call for
> the first time it throws exception Bug::Demo::WRONG_DATA. It's correct.
> But when I call it for the second time it throws CORBA::UNKNOWN exception
> and for the third time it doesn't return and server and client consume one
> core of CPU each.
If you look at the log from the server side, you'll see that it is
getting an assertion failure. It is indeed a bug in omniORB to do with
some circumstances of exceptions containing valuetypes.
I have attached a patch that fixes it. I'll check it into the 4.2
branch.
Thanks for the bug report.
Duncan.
--
-- Duncan Grisby --
-- duncan@grisby.org --
-- http://www.grisby.org --
["value_in_exception.patch" (value_in_exception.patch)]
Index: src/lib/omniORB/orbcore/GIOP_S.cc
===================================================================
--- src/lib/omniORB/orbcore/GIOP_S.cc (revision 6315)
+++ src/lib/omniORB/orbcore/GIOP_S.cc (working copy)
@@ -438,6 +438,8 @@
}
}
pd_state = ReplyCompleted;
+
+ clearValueTracker();
clearDeadline();
return 1;
}
@@ -546,6 +548,8 @@
}
pd_state = ReplyCompleted;
+
+ clearValueTracker();
clearDeadline();
return 1;
}
_______________________________________________
omniORB-list mailing list
omniORB-list@omniorb-support.com
http://www.omniorb-support.com/mailman/listinfo/omniorb-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic