PR# 13188 Violation of `a_valid_value' of {EB_WINDOW_MANAGER}.display_message_and_percentage
Problem Report Summary
Submitter: prestoat2000
Category: EiffelStudio
Priority: Medium
Date: 2007/06/17
Class: Bug
Severity: Serious
Number: 13188
Release: 6.0.69141
Confidential: No
Status: Open
Responsible:
Environment: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.8.1.3) Gecko/20070321 Firefox/2.0.0.3
Solaris 10 on x86
Synopsis: Violation of `a_valid_value' of {EB_WINDOW_MANAGER}.display_message_and_percentage
Description
Start workbench estudio and run estudio. Within second estudio (the application), open a project. Select Project/Generate Documentation and start generating documentation for library base. After a few classes have been done, click on Compile button. When compile completes, generation of documentation resumes. The output in the status line says something like Degree 6: Examining System: DYNAMIC_LIST So right away this output is wrong - it should say something like Analyzing Class (2/114): DYNAMIC_LIST Right after the incorrect status line is displayed, precondition `a_valid_value' of {EB_WINDOW_MANAGER}.display_message_and_percentage is violated. Trace attached. It seems that the state of things is messed up because the percentage is 200, which is not in the range 0-100. The percentage is being calculated from to_go = -1 total_number = 1 percentage = 100 - (100 * to_go) // total_number = 100 - (100 * -1) // 1 = 200 It appears that the `to_go 'and `total_number' values are not the values for the analyzing of classes, but rather those set by the compilation. After continuing from the precondition violation, the following confirmation dialog is displayed: '/home/dave/projects/Documentation' is not a valid directory and/or cannot be created which is very confusing for the user, since it is wrong. It seems to me that either compilation should not be allowed while generating documentation or that documentation generation should be aborted or that the state should be restored correctly so that documentation generation can continue without assertion violations. Also, there does not seem to be any way to stop documentation generation if you change your mind.
To Reproduce
Problem Report Interactions