PR# 16141 Void-safe docking precondition

Problem Report Summary
Submitter: manus_eiffel
Category: EiffelStudio
Priority: Medium
Date: 2009/08/13
Class: Bug
Severity: Serious
Number: 16141
Release: 6.5.8.250
Confidential: No
Status: Analyzed
Responsible:
Environment: Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)
Synopsis: Void-safe docking precondition

Description
Got this after selecting my project that was compiled before updating to the void-safe version of the docking library.

In my case, `editor_zone_count' was 0 and `has_place_holder_zone' was False.

When I choose to continue, instead of seeing the usual dialog reporting the crash and stack trace I got a different window whose content was "Unable to restore the standard editor layout information" followed by "Reason: Precondition violation". I'm not sure if this is what we want. Especially if there is a bug in the docking library, we want the end user to report the bug. So I guess we need to filter the exception and only have that dialog when we cannot read the file, but for all other reasons we should let the exception go up the chain.

After closing the dialog, I could open EiffelStudio.



has_editor: Precondition violated. (PRECONDITION_VIOLATION)
******************************** Thread exception *****************************
In thread           Root thread            0x0 (thread id)
*******************************************************************************
-------------------------------------------------------------------------------
Class / Object      Routine                Nature of exception           Effect
-------------------------------------------------------------------------------
SD_MULTI_DOCK_AREA  editor_parent @1       has_editor:                  
<0000000006E431F8>                         Precondition violated.        Fail
-------------------------------------------------------------------------------
SD_OPEN_CONFIG_MEDIATOR
                    editor_top_parent_for_restore @1
<0000000002B52B88>                         Routine failure.              Fail
-------------------------------------------------------------------------------
SD_OPEN_CONFIG_MEDIATOR
                    open_editors_config @10
<0000000002B52B88>                         Routine failure.              Fail
-------------------------------------------------------------------------------
SD_DOCKING_MANAGER  open_editors_config @3                              
<0000000006D15CC8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
ES_DEVELOPMENT_WINDOW_LAYOUT_MANAGER
                    restore_editors_layout @6
<0000000002B52738>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EB_DEVELOPMENT_WINDOW_DIRECTOR
                    construct_with_session_data @21
<0000000002AB31C8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EB_WINDOW_MANAGER   load_window_session_data @2
<0000000006D1D0F8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EB_WINDOW_MANAGER   load_session @32                                    
<0000000006D1D0F8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EB_WINDOW_MANAGER   on_project_loaded @34                               
<0000000006D1D0F8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
PROCEDURE           fast_call                                           
<0000000006DB3C98>                         Routine failure.              Fail
-------------------------------------------------------------------------------
PROCEDURE           call @5                                             
<0000000006DB3C98>                         Routine failure.              Fail
-------------------------------------------------------------------------------
ACTION_SEQUENCE     call @22                                            
<0000000002A9CAC8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EB_PROJECT_MANAGER  on_project_loaded @3                                
<0000000006DE6098>                         Routine failure.              Fail
-------------------------------------------------------------------------------
E_PROJECT           make @13                                            
<0000000006DD25C8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EB_GRAPHICAL_PROJECT_LOADER
                    retrieve_or_create_project @4
<0000000009F1CFF8>  (From PROJECT_LOADER)  Routine failure.              Fail
-------------------------------------------------------------------------------
EB_GRAPHICAL_PROJECT_LOADER
                    retrieve_or_create_project @4
<0000000009F1CFF8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EB_GRAPHICAL_PROJECT_LOADER
                    open_project_file @63  
<0000000009F1CFF8>  (From PROJECT_LOADER)  Routine failure.              Fail
-------------------------------------------------------------------------------
EB_OPEN_PROJECT_WIDGET
                    open_project @15       
<0000000009B68298>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EB_STARTING_DIALOG  on_ok @7                                            
<0000000009B53198>                         Routine failure.              Fail
-------------------------------------------------------------------------------
PROCEDURE           fast_call                                           
<0000000009B93D88>                         Routine failure.              Fail
-------------------------------------------------------------------------------
PROCEDURE           call @5                                             
<0000000009B93D88>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_NOTIFY_ACTION_SEQUENCE
                    call @22               
<0000000009B93CC8>  (From ACTION_SEQUENCE) Routine failure.              Fail
-------------------------------------------------------------------------------
EV_NOTIFY_ACTION_SEQUENCE
                    call @3                
<0000000009B93CC8>  (From EV_LITE_ACTION_SEQUENCE)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_BUTTON_IMP       on_bn_clicked @3                                    
<00000000092A0288>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_BUTTON_IMP       process_notification @3
<00000000092A0288>  (From WEL_BUTTON)      Routine failure.              Fail
-------------------------------------------------------------------------------
EV_HORIZONTAL_BOX_IMP
                    on_wm_command @15      
<0000000009347498>  (From WEL_COMPOSITE_WINDOW)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_HORIZONTAL_BOX_IMP
                    process_message @9     
<0000000009347498>  (From WEL_COMPOSITE_WINDOW)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
WEL_DISPATCHER      window_procedure @10                                
<0000000006B223B8>  (From WEL_ABSTRACT_DISPATCHER)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_BUTTON_IMP       cwin_call_window_proc                               
<00000000092A0288>  (From WEL_CONTROL)     Routine failure.              Fail
-------------------------------------------------------------------------------
EV_BUTTON_IMP       call_default_window_procedure @1
<00000000092A0288>  (From WEL_CONTROL)     Routine failure.              Fail
-------------------------------------------------------------------------------
WEL_DISPATCHER      window_procedure @15                                
<0000000006B223B8>  (From WEL_ABSTRACT_DISPATCHER)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_DIALOG_IMP_MODAL cwin_dialog_box_indirect
<0000000009347BF8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_DIALOG_IMP_MODAL internal_dialog_make @4
<0000000009347BF8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_DIALOG_IMP_MODAL show_modal_to_window @6
<0000000009347BF8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_DIALOG_IMP       show_modal_to_window @4
<000000000929F7E8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EB_STARTING_DIALOG  show_modal_to_window @5
<0000000009B53198>  (From EV_DIALOG)       Routine failure.              Fail
-------------------------------------------------------------------------------
EB_STARTING_DIALOG  show_modal_to_window @6
<0000000009B53198>                         Routine failure.              Fail
-------------------------------------------------------------------------------
ES_GRAPHIC          display_starting_dialog @4
<0000000006B217A8>  (From ES_ABSTRACT_GRAPHIC)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
ES_GRAPHIC          prepare @40                                         
<0000000006B217A8>  (From ES_ABSTRACT_GRAPHIC)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
PROCEDURE           fast_call                                           
<0000000006B21AB8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
PROCEDURE           call @5                                             
<0000000006B21AB8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_NOTIFY_ACTION_SEQUENCE
                    call @22               
<0000000006B219F8>  (From ACTION_SEQUENCE) Routine failure.              Fail
-------------------------------------------------------------------------------
EV_NOTIFY_ACTION_SEQUENCE
                    call @3                
<0000000006B219F8>  (From EV_LITE_ACTION_SEQUENCE)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_APPLICATION_IMP  call_post_launch_actions @2
<0000000006B21858>  (From EV_APPLICATION_I)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_APPLICATION_IMP  launch @1                                           
<0000000006B21858>  (From EV_APPLICATION_I)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_APPLICATION      launch @4                                           
<0000000006B21828>                         Routine failure.              Fail
-------------------------------------------------------------------------------
ES_GRAPHIC          make @4                                             
<0000000006B217A8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EB_KERNEL           make @6                                             
<0000000006B21748>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EB_KERNEL           root's creation                                     
<0000000006B21748>                         Routine failure.              Exit
-------------------------------------------------------------------------------

Call stack:

ObjectClassRoutine
------------------
[0x6A00640] SD_MULTI_DOCK_AREA editor_parent <*> ( @ 1 )
[0x6A00650] SD_OPEN_CONFIG_MEDIATOR editor_top_parent_for_restore <*> ( @ 1 )
[0x6A00650] SD_OPEN_CONFIG_MEDIATOR open_editors_config <*> ( @ 10 )
[0x6A00658] SD_DOCKING_MANAGER open_editors_config ( @ 3 )
[0x6A00660] ES_DEVELOPMENT_WINDOW_LAYOUT_MANAGER restore_editors_layout <R> ( @ 6 )
[0x6A00668] EB_DEVELOPMENT_WINDOW_DIRECTOR construct_with_session_data ( @ 21 )
[0x6A00670] EB_WINDOW_MANAGER load_window_session_data ( @ 2 )
[0x6A00670] EB_WINDOW_MANAGER load_session <R> ( @ 32 )
[0x6A00670] EB_WINDOW_MANAGER on_project_loaded ( @ 34 )
[0x6A00678] PROCEDURE fast_call ( @ 0 )
[0x6A00678] PROCEDURE call ( @ 5 )
[0x6A00680] ACTION_SEQUENCE call ( @ 22 )
[0x6A00688] EB_PROJECT_MANAGER on_project_loaded ( @ 3 )
[0x6A00690] E_PROJECT make ( @ 13 )
[0x6A00698] EB_GRAPHICAL_PROJECT_LOADER retrieve_or_create_project (From PROJECT_LOADER) ( @ 4 )
[0x6A00698] EB_GRAPHICAL_PROJECT_LOADER retrieve_or_create_project ( @ 4 )
[0x6A00698] EB_GRAPHICAL_PROJECT_LOADER open_project_file (From PROJECT_LOADER) ( @ 63 )
[0x6A006A0] EB_OPEN_PROJECT_WIDGET open_project ( @ 15 )
[0x6A006A8] EB_STARTING_DIALOG on_ok ( @ 7 )
[0x6A006B0] PROCEDURE fast_call ( @ 0 )
[0x6A006B0] PROCEDURE call ( @ 5 )
[0x6A006B8] EV_NOTIFY_ACTION_SEQUENCE call (From ACTION_SEQUENCE) ( @ 22 )
[0x6A006B8] EV_NOTIFY_ACTION_SEQUENCE call (From EV_LITE_ACTION_SEQUENCE) ( @ 3 )
[0x6A006C0] EV_BUTTON_IMP on_bn_clicked ( @ 3 )
[0x6A006C0] EV_BUTTON_IMP process_notification (From WEL_BUTTON) ( @ 3 )
[0x6A006C8] EV_HORIZONTAL_BOX_IMP on_wm_command (From WEL_COMPOSITE_WINDOW) ( @ 15 )
[0x6A006C8] EV_HORIZONTAL_BOX_IMP process_message (From WEL_COMPOSITE_WINDOW) ( @ 9 )
[0x6A006D0] WEL_DISPATCHER window_procedure (From WEL_ABSTRACT_DISPATCHER) <R> ( @ 10 )
[0x6A006C0] EV_BUTTON_IMP cwin_call_window_proc (From WEL_CONTROL) ( @ 0 )
[0x6A006C0] EV_BUTTON_IMP call_default_window_procedure (From WEL_CONTROL) ( @ 1 )
[0x6A006D0] WEL_DISPATCHER window_procedure (From WEL_ABSTRACT_DISPATCHER) <R> ( @ 15 )
[0x6A006D8] EV_DIALOG_IMP_MODAL cwin_dialog_box_indirect ( @ 0 )
[0x6A006D8] EV_DIALOG_IMP_MODAL internal_dialog_make ( @ 4 )
[0x6A006D8] EV_DIALOG_IMP_MODAL show_modal_to_window ( @ 6 )
[0x6A006E0] EV_DIALOG_IMP show_modal_to_window ( @ 4 )
[0x6A006A8] EB_STARTING_DIALOG show_modal_to_window (From EV_DIALOG) ( @ 5 )
[0x6A006A8] EB_STARTING_DIALOG show_modal_to_window ( @ 6 )
[0x6A006E8] ES_GRAPHIC display_starting_dialog (From ES_ABSTRACT_GRAPHIC) ( @ 4 )
[0x6A006E8] ES_GRAPHIC prepare (From ES_ABSTRACT_GRAPHIC) ( @ 40 )
[0x6A006F0] PROCEDURE fast_call ( @ 0 )
[0x6A006F0] PROCEDURE call ( @ 5 )
[0x6A006F8] EV_NOTIFY_ACTION_SEQUENCE call (From ACTION_SEQUENCE) ( @ 22 )
[0x6A006F8] EV_NOTIFY_ACTION_SEQUENCE call (From EV_LITE_ACTION_SEQUENCE) ( @ 3 )
[0x6A00700] EV_APPLICATION_IMP call_post_launch_actions (From EV_APPLICATION_I) <R> ( @ 2 )
[0x6A00700] EV_APPLICATION_IMP launch (From EV_APPLICATION_I) ( @ 1 )
[0x6A00708] EV_APPLICATION launch <R> ( @ 4 )
[0x6A006E8] ES_GRAPHIC make ( @ 4 )
[0x6A00710] EB_KERNEL make ( @ 6 )

To Reproduce

										
Problem Report Interactions
From:larryl    Date:2009/08/14    Status: Analyzed    Download   
The precondition violation is fixed in revision#80268.

For filter the exception, it's a good idea. It would be implemented. Let me thinking...