PR# 18090 Precondition violated Tag: valid_group_for_class in {ES_PROPERTIES_TOOL_PANEL}.set_stone in EiffelSt
Problem Report Summary
Submitter: alexk_es
Category: EiffelStudio
Priority: Medium
Date: 2012/01/26
Class: Bug
Severity: Serious
Number: 18090
Release: 7.1.0.0
Confidential: No
Status: Analyzed
Responsible:
Environment: EiffelStudio 7.1.0.0 GPL Edition - windows
Synopsis: Precondition violated Tag: valid_group_for_class in {ES_PROPERTIES_TOOL_PANEL}.set_stone in EiffelSt
Description
In a test SCOOP project I tried to open ISE_SCOOP_MANAGER in an editor. This is the result. Project loaded: True Project compiled: True Is compiling: False Last known class processed: TEST ******************************** Thread exception ***************************** In thread Root thread 0x0 (thread id) ******************************************************************************* ------------------------------------------------------------------------------- Class / Object Routine Nature of exception Effect ------------------------------------------------------------------------------- CONF_LIBRARY changeable_class_options @2 valid_group_for_class: <00000000118B4B3C> (From CONF_GROUP) Precondition violated. Fail ------------------------------------------------------------------------------- ES_PROPERTIES_TOOL_PANEL set_stone @33 <0000000016796F1C> Routine failure. Fail ------------------------------------------------------------------------------- EB_STONE_CHECKER check_new_class_stone @7 <000000000F9ED914> Routine failure. Fail ------------------------------------------------------------------------------- EB_STONE_CHECKER handle_all_class_stones @7 <000000000F9ED914> Routine failure. Fail ------------------------------------------------------------------------------- EB_STONE_CHECKER handle_break_error_ace_external_file_stone @18 <000000000F9ED914> Routine failure. Fail ------------------------------------------------------------------------------- EB_STONE_CHECKER set_stone_after_check @4 <000000000F9ED914> Routine failure. Fail ------------------------------------------------------------------------------- EB_DEVELOPMENT_WINDOW set_stone_after_check @2 <00000000114DE888> Routine failure. Fail ------------------------------------------------------------------------------- EB_STONE_FIRST_CHECKER set_stone_after_first_check @49 <000000000F9E4434> Routine failure. Fail ------------------------------------------------------------------------------- EB_DEVELOPMENT_WINDOW set_stone_after_first_check @3 <00000000114DE888> Routine failure. Fail ------------------------------------------------------------------------------- EB_DEVELOPMENT_WINDOW set_stone @10 <00000000114DE888> Routine failure. Fail ------------------------------------------------------------------------------- EB_DEVELOPMENT_WINDOW advanced_set_stone @1 <00000000114DE888> (From EB_HISTORY_OWNER) Routine failure. Fail ------------------------------------------------------------------------------- EB_ADDRESS_MANAGER process_class_feature @4 <00000000114FB8D4> Routine failure. Fail ------------------------------------------------------------------------------- EB_ADDRESS_MANAGER extract_feature_from_user_entry @20 <00000000114FB8D4> Routine failure. Fail ------------------------------------------------------------------------------- EB_ADDRESS_MANAGER process_class @17 <00000000114FB8D4> Routine failure. Fail ------------------------------------------------------------------------------- EB_ADDRESS_MANAGER process_user_entry @32 <00000000114FB8D4> Routine failure. Fail ------------------------------------------------------------------------------- EB_ADDRESS_MANAGER execute_with_class @2 <00000000114FB8D4> Routine failure. Fail ------------------------------------------------------------------------------- EB_ADDRESS_MANAGER class_key_down @5 <00000000114FB8D4> Routine failure. Fail ------------------------------------------------------------------------------- PROCEDURE fast_call <00000000114F5ACC> Routine failure. Fail ------------------------------------------------------------------------------- PROCEDURE call @5 <00000000114F5ACC> Routine failure. Fail ------------------------------------------------------------------------------- EV_KEY_ACTION_SEQUENCE call @22 <00000000114F5A60> (From ACTION_SEQUENCE) Routine failure. Fail ------------------------------------------------------------------------------- EV_KEY_ACTION_SEQUENCE call @3 <00000000114F5A60> (From EV_LITE_ACTION_SEQUENCE) Routine failure. Fail ------------------------------------------------------------------------------- EV_COMBO_BOX_IMP process_standard_key_press @20 <00000000114F5D3C> (From EV_WIDGET_IMP) Routine failure. Fail ------------------------------------------------------------------------------- EV_COMBO_BOX_IMP on_key_down @1 <00000000114F5D3C> (From EV_WIDGET_IMP) Routine failure. Fail ------------------------------------------------------------------------------- EV_COMBO_BOX_IMP on_key_down @2 <00000000114F5D3C> Routine failure. Fail ------------------------------------------------------------------------------- EV_INTERNAL_COMBO_FIELD_IMP on_key_down @4 <00000000114F52BC> Routine failure. Fail ------------------------------------------------------------------------------- EV_INTERNAL_COMBO_FIELD_IMP process_message @25 <00000000114F52BC> (From WEL_WINDOW) Routine failure. Fail ------------------------------------------------------------------------------- WEL_DISPATCHER window_procedure @10 <00000000115FD61C> (From WEL_ABSTRACT_DISPATCHER) Routine failure. Fail ------------------------------------------------------------------------------- WEL_MSG cwin_dispatch_message <00000000115A20B0> Routine failure. Fail ------------------------------------------------------------------------------- WEL_MSG dispatch @1 <00000000115A20B0> Routine failure. Fail ------------------------------------------------------------------------------- EV_APPLICATION_IMP process_message @11 <00000000115A1798> Routine failure. Fail ------------------------------------------------------------------------------- EV_APPLICATION_IMP process_underlying_toolkit_event_queue @6 <00000000115A1798> Routine failure. Fail ------------------------------------------------------------------------------- EV_APPLICATION_IMP process_event_queue @2 <00000000115A1798> (From EV_APPLICATION_I) Routine failure. Fail ------------------------------------------------------------------------------- EV_APPLICATION_IMP launch @3 <00000000115A1798> (From EV_APPLICATION_I) Routine failure. Fail ------------------------------------------------------------------------------- EV_APPLICATION launch @4 <00000000115A1780> Routine failure. Fail ------------------------------------------------------------------------------- ES_GRAPHIC make @4 <00000000115A1720> Routine failure. Fail ------------------------------------------------------------------------------- EB_KERNEL make @4 <00000000114DE6FC> Routine failure. Fail ------------------------------------------------------------------------------- EB_KERNEL root's creation <00000000114DE6FC> Routine failure. Exit -------------------------------------------------------------------------------
To Reproduce
Problem Report Interactions
This is indeed a problem. The issue at play is that whenever you try to open the editor on a class that belongs to a `hidden' cluster it is not part of {CONF_LIBRARY}.classes (because hidden) even though {CONF_LIBRARY}.classes_set is True. I think that we should not completely hide the class from `classes' but possibly let them in. However, we could change the callers of `classes' to verify that the class is not hidden from them. It seems to me (naively maybe) that we only need to change UNIVERSE_I.class_named to get the expected behavior without breaking the rest.