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
From:prestoat2000    Date:2007/06/17    Download   
Attachments for problem report #13188

Attachment: stack89.txt     Size:1363