PR# 15279 Testing tool memory corruption

Problem Report Summary
Submitter: manus_eiffel
Category: EiffelStudio
Priority: Medium
Date: 2009/01/15
Class: Bug
Severity: Critical
Number: 15279
Release: 6.4.7.6708
Confidential: No
Status: Open
Responsible:
Environment: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
Synopsis: Testing tool memory corruption

Description
When migrating from the old EiffelNet library to the new one, the testing tool stopped working properly. The reason was that a call to `readable' which queries if there is something to read was turned into a `True' statement in the new one, and one had to use `is_readable' instead to get the old behavior.

For the time being we got rid of those calls, and made sure that we mark the accepted socket as blocking this removes the need for checking if there is something to read.

Still I did not want this bug to be forgotten, so to reproduce it, simply uncomment the call to `l_connection.set_blocking' in `{TEST_RESULT_RECEIVER}.listen' and run about 20 tests at least (if you do not have enough the bug does not show up).

It is interesting to also know that if you do not mark the socket blocking in `listen', just setting the socket to be blocking prior reading the NATURAL_32 and then resetting it to non-blocking in `{TEST_RESULT_RECEVIER}.evaluator_status is enough to remove the memory corruption.

Very strange indeed!
To Reproduce

										
Problem Report Interactions