PR# 12485 EiffelStudio hangs after typing Ctrl+Tab

Problem Report Summary
Submitter: peter_gummer
Category: EiffelStudio
Priority: High
Date: 2007/04/16
Class: Bug
Severity: Critical
Number: 12485
Release: 6.0.6.7849
Confidential: No
Status: Closed
Responsible:
Environment: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
Synopsis: EiffelStudio hangs after typing Ctrl+Tab

Description
I launched EiffelStudio 6.0.6.7849 for the first time and selected a 5.7 .NET project. When I clicked the Open button, it automatically started recompiling the project, as normal.

There were some errors at degree 4, caused by our override of INTEGER_32.

I realised that I would have to remove or correct this and a few other overrides of basic classes, so I started with our override of INTERNAL. From the Clusters tool, I opened our INTERNAL and then your INTERNAL in two separate tabs.

I then typed Ctrl+Tab to view our INTERNAL again. The Ctrl+Tab pop-up window appeared, but remained when I released the Ctrl key. Pressing Esc had no effect. I Alt+Tabbed to another application, and then back to EiffelStudio, but it did not display itself. It has hung!

Process Explorer shows that ec.exe is using ~80% CPU, and that the window title is SD_ZONE_NAVIGATION_DIALOG_IMP.

It's been like this for at least ten minutes, so I'm going to kill it now.
To Reproduce

										
Problem Report Interactions
From:peter_gummer    Date:2007/05/03    Download   
Thanks Larry. Reviewing the change, lines 933 and 934 have a comment that no longer applies:

-- Note that if a word is contained that is longer than the width of the label,
-- this will probable lead to problems. No attempt to prevent this is made in the code.

I'm also a little worried about the use of temp_string at line 974. It remains Void if the inner loop (lines 953 to 968) is never entered. It looks like the other variables prevent this from happening, but it's far from explicit. I would initialise temp_string at line 954.

From:larryl    Date:2007/05/03    Status: Closed    Download   
Hi, Peter,

I have compiled your project, reproduced the bug. Now the bug is fixed in revision#68101. The bug is caused by infinite text wrapping calculation.

Thank you for your report. Sorry for the trouble.

From:larryl    Date:2007/05/02    Download   
Thank you very much! I'll terminate this bug in this week.

From:peter_gummer    Date:2007/05/02    Download   
This is still happening in 6.0.6.8021.

As before, it happened the first time I tried Ctrl+Tab.

I've attempted to reproduce this with a new simple project, but it doesn't happen. Yet it always happens in the real project that I'm working on!

I think the easiest way to demonstrate the problem would be if you download and build our project from our Subversion repository:
http://svn.openehr.org/ref_impl_eiffel/TRUNK
The project is "apps\adl_workbench\app\adl_workbench.ecf" (the "adl_workbench" target). Once you've downloaded the source, simply open adl_workbench in EiffelStudio and compile it. Then open a couple of classes. Classes like ANY and STRING don't seem to exhibit the problem, but DADL2_VALIDATOR and YY_PARSER_SKELETON hang every time!

From:peter_gummer    Date:2007/04/24    Download   
Yes, Larry, it looks as bad as the previous release.

Today was the first time I tried browsing classes in 6.0.6.7948. I had four editor tabs open. I used Ctrl+Tab once or twice with no problem, not thinking about it much because I knew you had fixed it. (Ctrl+Tab is a reflex with me; I've been using it in various IDEs since 1995, so I do it without thinking.)

Then I hit Ctrl+Tab to go to another class and it froze, exactly like the previous release. (Note that the previous release didn't freeze the first time either: it was usually the second or third time.)

Because it's still broken, I've been using the mouse since then. But, because you asked, I switched to EiffelStudio and hit Ctrl+Tab once. It froze.

It is definitely still broken.

From:larryl    Date:2007/04/24    Download   
Does it happens constantly? In Eiffel Studio version 67948, I don't have this problem so far.

From:peter_gummer    Date:2007/04/24    Status: Analyzed    Download   
This is still happening in revision 6.0.6.7948.

From:larryl    Date:2007/04/18    Status: Closed    Download   
Hi, Peter,

Sorry for the troubles. This bug is fixed in revision#67885.

Thank you very much for your report.

Larry Liu



From:peter_gummer    Date:2007/04/17    Download   
It's happened yet again!

I - must - not - type - Ctrl - Tab

I - must - not - type - Ctrl - Tab

I - must - not - type - Ctrl - Tab

From:peter_gummer    Date:2007/04/17    Download   
This has just happened to me again.

This time it was in a different project (a classic Vision2 project) with two different classes. Neither of the classes was an override. One of them was not part of the system however.

The system had been fully compiled this time.