PR# 5063 {EV_HORIZONTAL_SPLIT_AREA}.extend call violates postcondition
Problem Report Summary
Submitter: prestoat2000
Category: EiffelVision
Priority: Medium
Date: 2005/07/04
Class: Bug
Severity: Serious
Number: 5063
Release: 5.6.1027
Confidential: No
Status: Analyzed
Responsible:
Environment: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.4) Gecko/20030625
SunOS marten.isi.edu 5.9 Generic_117171-12 sun4u sparc SUNW,Sun-Blade-1000
Synopsis: {EV_HORIZONTAL_SPLIT_AREA}.extend call violates postcondition
Description
Calling `extend' on an EV_HORIZONTAL_SPLIT_AREA causes violation of postcondition `an_item_width_assigned' of {EV_FIXED}.set_item_width.
To Reproduce
Use attached classes.
Problem Report Interactions
This might have been fixed in a previous release, but compiling with the previously attached classes (test.e and titled_window.e) with 6.3.76070 on Solaris 10 SPARC and executing system still violates a postcondition: ------------------------------------------------------------------------------- EV_FIXED set_item_width @5 an_item_width_assigned: <0000000003E6A290> Postcondition violated. Fail ------------------------------------------------------------------------------- Reopening report.
Hi David, Thanks for the missing attachments, I've tested the system with full assertion checking and indeed the reimplementation I made did fix the postcondition violation, however I had to change the calls to l_ev_viewport_1.set_item_width and height as the values they were passing in were invalid as they were smaller than the minimum size of its item so I passed in the item's minimum size in instead.
I found the classes and .ecf file for the original report (attached). With these classes, there is an invariant violation when calling {EV_HORIZONTAL_SPLIT_AREA}.extend (tag is splitter_in_valid_position_minimum). This fails with the above invariant violation on 5.7.65008. I am unable to test with 6.0.67183 (the latest Solaris SPARC version) because I apparently cannot get the compiler to monitor all assertions on Vision2 library (or at least the trace output seems to indicate that it isn't monitoring them). Please try with the attached classes on latest 6.0, if you know how to get it to monitor all assertions on every class. Reopening report.
Closing as there is no attachment in the system and the resizing code has been completely redone so the problem should have been resolved.