Summary: | Server aborts when client disconnects | ||
---|---|---|---|
Product: | TAO | Reporter: | Adam Mitz <mitza> |
Component: | ORB | Assignee: | Adam Mitz <mitza> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | P3 | ||
Version: | 1.5 | ||
Hardware: | All | ||
OS: | All | ||
Attachments: | Regression test (see next comment) |
Description
Adam Mitz
2006-04-04 16:27:58 CDT
Created attachment 514 [details]
Regression test (see next comment)
Attached is the regression test, unzip in $TAO_ROOT. The tarball contains a diff file, "Transport_cpp.diff", that needs to be applied to Transport.cpp in order for this test to work. With the patch applied, normal compiliation of Transport.cpp will give you the regression. Defining the preprocessor macro RT8431_FIX and recompiling Transport.cpp will show the test passing. Hi Adam, ACE_ASSERT compiles away to nothing on ACE_NDEBUG builds right ? Does this mean your test would hang or just be a no-op on these builds ? I'd vote reinstate the assert if you need it and know where it needs to go - as you probably know we only removed the asserts because the coding guidelines said they shouldn't be there. We offered to just put them back but then there was some talk of replacing them with some sort of new uber assert but not until later on. Simon, Thanks for your comments. If we reinstate the assert I'll add a comment pointing to the Bugzilla entry so that it's not removed again. If this problem were to re-appear, the debug=0 builds would not fail the regression test since, as you pointed out, the assert doesn't impact debug=0. I think this would be OK since the test failing every debug=1 build should be large enough "red flag". If there aren't any further comments I'll proceed with getting the test and the patch to Transport.cpp (adding the ACE_ASSERT line) checked-in. Thanks, Adam I would also propose to add the asserts back and then the fix in. Btw, when the asserts are there, could you also rerun the test on cvs head without your patch to make sure that things wheren't fixed by accident in the doc_group version before. I have been testing against the DOC group CVS "head". With the assert there (and debug=1) the test fails consistently pre-patch and passes consistently post-patch (where the "patch" is what I checked in last Friday). Regression test and change to Transport.cpp (added asserts) has been checked in. Wed Apr 5 22:39:28 UTC 2006 Adam Mitz <mitza@ociweb.com> * tests/Bug_2494_Regression/Bug_2494_Regression.mpc: * tests/Bug_2494_Regression/README: * tests/Bug_2494_Regression/client.cpp: * tests/Bug_2494_Regression/run_test.pl: * tests/Bug_2494_Regression/server.cpp: * tests/Bug_2494_Regression/test.idl: * tests/Bug_2494_Regression/test_i.h: * tests/Bug_2494_Regression/test_i.inl: * tests/Bug_2494_Regression/test_i.cpp: Added a regression test for Bugzilla bug #2494. * tao/Transport.cpp (~Transport): Added back the ACE_ASSERTS, needed for the regression test above. See Bugzilla bug #2494. scoreboard looks good I am reopening this bug, see the data from the test stats below, this test is failing on the 12th on some linux builds, also the17th, but also today it is failing already in some linux builds 2006_04_17 29 6 TAO Linux TAO/tests/Bug_2494_Regression 2006_04_17 13 0 TAO Windows TAO/tests/Bug_2494_Regression 2006_04_17 7 0 TAO Solaris TAO/tests/Bug_2494_Regression 2006_04_12 30 5 TAO Linux TAO/tests/Bug_2494_Regression 2006_04_12 4 0 TAO NetBSD TAO/tests/Bug_2494_Regression 2006_04_12 12 0 TAO Windows TAO/tests/Bug_2494_Regression 2006_04_12 6 0 TAO Solaris TAO/tests/Bug_2494_Regression 2006_04_12 1 0 TAO HP-UX TAO/tests/Bug_2494_Regression 2006_04_26 14 2 TAO Linux TAO/tests/Bug_2494_Regression 2006_04_26 3 0 TAO Solaris TAO/tests/Bug_2494_Regression 2006_04_26 2 0 TAO Windows TAO/tests/Bug_2494_Regression Here's what I see today (using the "clean builds" option): Date #Runs #Fails Type Group ========== ====== ====== ==== ==================== 2006_05_03 15 5 TAO Linux 2006_05_03 4 1 TAO Solaris It looks like it has improved since other bugs are being fixed, etc. I'm a little confused about the Solaris results. On the TAO scoreboard (http://www.dre.vanderbilt.edu/scoreboard/tao.html) there is only one Solaris build (Solaris10_Studio11_Debug) and it's passing this test. Which Solaris build is failing? Looking at the test matrix I see failures on these builds: FC4_x86_SCTP, Tiger_GCC4_Full The other builds that it fails have red lines all the way down so they have larger problems than this one test. There may be a timing issue with the test. We may need to adjust the timeout values so that it works on more platforms. I'm going to try to resolve this again now that I've checked-in a change that should reduce the number of false negatives reported by the scoreboard. Tue Jun 13 13:51:11 UTC 2006 Adam Mitz <mitza@ociweb.com> * tests/Bug_2494_Regression/client.cpp: The scoreboard was marking this test as "failed" because it printed "EXCEPTION" (from the client process). This isn't a failure as long as the server process still exits cleanly. The test is now modified so that it doesn't print "EXCEPTION". |