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
The precondition violation is fixed in revision#80268. For filter the exception, it's a good idea. It would be implemented. Let me thinking...