PR# 16213 Precondition in docking

Problem Report Summary
Submitter: manus_eiffel
Category: EiffelStudio
Priority: Medium
Date: 2009/08/31
Class: Bug
Severity: Serious
Number: 16213
Release: 6.5.8.524
Confidential: No
Status: Closed
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: Precondition in docking

Description
I had the search tool panel open but not docked and the `Scope' tab was selected. I chose `custom' and added a few classes. Then I did `Shift+Right Click' to display the contextual menu and then I'm not sure what I've done but I got the trace below.

Note that `extend' from HASH_TABLE is used a lot in HASH_TABLE. Larry if you are sure the key does not exist before hand it is safe to use, otherwise you should choose between `put' and `force'.

not_present: Precondition violated. (PRECONDITION_VIOLATION)
******************************** Thread exception *****************************
In thread           Root thread            0x0 (thread id)
*******************************************************************************
-------------------------------------------------------------------------------
Class / Object      Routine                Nature of exception           Effect
-------------------------------------------------------------------------------
HASH_TABLE          extend @1              not_present:                 
<0000000002D88E78>                         Precondition violated.        Fail
-------------------------------------------------------------------------------
SD_HOT_ZONE_TAB     set_rectangle @16                                   
<0000000002D88908>                         Routine failure.              Fail
-------------------------------------------------------------------------------
SD_HOT_ZONE_TAB     make @7                                             
<0000000002D88908>                         Routine failure.              Fail
-------------------------------------------------------------------------------
SD_HOT_ZONE_TRIANGLE_FACTORY
                    hot_zone_tab @5        
<0000000002D87AF8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
SD_HOT_ZONE_TRIANGLE_FACTORY
                    hot_zone @10           
<0000000002D87AF8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
SD_TAB_ZONE         add_hot_zones @4                                    
<00000000095F2F48>  (From SD_DOCKER_SOURCE)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
SD_DOCKER_MEDIATOR  add_hot_zone_on_type @8
<0000000002D87928>                         Routine failure.              Fail
-------------------------------------------------------------------------------
SD_DOCKER_MEDIATOR  generate_hot_zone_in_area @10
<0000000002D87928>                         Routine failure.              Fail
-------------------------------------------------------------------------------
SD_DOCKER_MEDIATOR  generate_hot_zones_imp @11
<0000000002D87928>                         Routine failure.              Fail
-------------------------------------------------------------------------------
SD_DOCKER_MEDIATOR  generate_hot_zones @4                               
<0000000002D87928>                         Routine failure.              Fail
-------------------------------------------------------------------------------
SD_DOCKER_MEDIATOR  start_tracing_pointer @6
<0000000002D87928>                         Routine failure.              Fail
-------------------------------------------------------------------------------
SD_DOCKING_ZONE_NORMAL
                    on_drag_started @7     
<0000000002A00DD8>  (From SD_DOCKING_ZONE) Routine failure.              Fail
-------------------------------------------------------------------------------
PROCEDURE           fast_call                                           
<0000000002A16568>                         Routine failure.              Fail
-------------------------------------------------------------------------------
PROCEDURE           call @5                                             
<0000000002A16568>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_POINTER_MOTION_ACTION_SEQUENCE
                    call @22               
<0000000002A164A8>  (From ACTION_SEQUENCE) Routine failure.              Fail
-------------------------------------------------------------------------------
EV_POINTER_MOTION_ACTION_SEQUENCE
                    call @3                
<0000000002A164A8>  (From EV_LITE_ACTION_SEQUENCE)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
SD_PANEL            drag_window @1                                      
<0000000002A0D678>                         Routine failure.              Fail
-------------------------------------------------------------------------------
PROCEDURE           fast_call                                           
<0000000002A1B868>                         Routine failure.              Fail
-------------------------------------------------------------------------------
PROCEDURE           call @5                                             
<0000000002A1B868>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_POINTER_MOTION_ACTION_SEQUENCE
                    call @22               
<0000000002A1B7A8>  (From ACTION_SEQUENCE) Routine failure.              Fail
-------------------------------------------------------------------------------
EV_POINTER_MOTION_ACTION_SEQUENCE
                    call @3                
<0000000002A1B7A8>  (From EV_LITE_ACTION_SEQUENCE)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
SD_TITLE_BAR_TITLE  on_pointer_motion @2                                
<0000000002A1A5B8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
PROCEDURE           fast_call                                           
<0000000002A1AA08>                         Routine failure.              Fail
-------------------------------------------------------------------------------
PROCEDURE           call @5                                             
<0000000002A1AA08>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_POINTER_MOTION_ACTION_SEQUENCE
                    call @22               
<0000000002A1A948>  (From ACTION_SEQUENCE) Routine failure.              Fail
-------------------------------------------------------------------------------
EV_POINTER_MOTION_ACTION_SEQUENCE
                    call @3                
<0000000002A1A948>  (From EV_LITE_ACTION_SEQUENCE)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_DRAWING_AREA_IMP on_mouse_move @24                                   
<0000000002323108>  (From EV_WIDGET_IMP)   Routine failure.              Fail
-------------------------------------------------------------------------------
EV_DRAWING_AREA_IMP window_process_message @3
<0000000002323108>  (From WEL_WINDOW)      Routine failure.              Fail
-------------------------------------------------------------------------------
EV_DRAWING_AREA_IMP process_message @23                                 
<0000000002323108>  (From WEL_COMPOSITE_WINDOW)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
WEL_DISPATCHER      window_procedure @10                                
<00000000063A4B58>  (From WEL_ABSTRACT_DISPATCHER)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
WEL_MSG             cwin_dispatch_message                               
<00000000062F2608>                         Routine failure.              Fail
-------------------------------------------------------------------------------
WEL_MSG             dispatch @1                                         
<00000000062F2608>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_APPLICATION_IMP  process_message @11                                 
<00000000062F19C8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_APPLICATION_IMP  process_underlying_toolkit_event_queue @7
<00000000062F19C8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_APPLICATION_IMP  process_event_queue @2                              
<00000000062F19C8>  (From EV_APPLICATION_I)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_APPLICATION_IMP  process_events @1                                   
<00000000062F19C8>  (From EV_APPLICATION_I)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_MENU_IMP         show_at @10                                         
<0000000002BE8538>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_MENU             show_at @5                                          
<0000000002BE84E8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_APPLICATION_IMP  create_target_menu @43                              
<00000000062F19C8>  (From EV_APPLICATION_I)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_LIST_ITEM_IMP    start_transport @11                                 
<0000000002A11B68>  (From EV_PICK_AND_DROPABLE_IMP)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_LIST_ITEM_IMP    pnd_press @6                                        
<0000000002A11B68>  (From EV_PICK_AND_DROPABLE_ITEM_IMP)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_LIST_IMP         internal_propagate_pointer_press @8
<00000000063C9808>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_LIST_IMP         on_right_button_down @10
<00000000063C9808>  (From EV_PICK_AND_DROPABLE_ITEM_HOLDER_IMP)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_LIST_IMP         process_message @17                                 
<00000000063C9808>  (From WEL_WINDOW)      Routine failure.              Fail
-------------------------------------------------------------------------------
WEL_DISPATCHER      window_procedure @10                                
<00000000063A4B58>  (From WEL_ABSTRACT_DISPATCHER)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
WEL_MSG             cwin_dispatch_message                               
<00000000062F2608>                         Routine failure.              Fail
-------------------------------------------------------------------------------
WEL_MSG             dispatch @1                                         
<00000000062F2608>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_APPLICATION_IMP  process_message @11                                 
<00000000062F19C8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_APPLICATION_IMP  process_underlying_toolkit_event_queue @7
<00000000062F19C8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_APPLICATION_IMP  process_event_queue @2                              
<00000000062F19C8>  (From EV_APPLICATION_I)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_APPLICATION_IMP  launch @3                                           
<00000000062F19C8>  (From EV_APPLICATION_I)
                                           Routine failure.              Fail
-------------------------------------------------------------------------------
EV_APPLICATION      launch @4                                           
<00000000062F1998>                         Routine failure.              Fail
-------------------------------------------------------------------------------
ES_GRAPHIC          make @4                                             
<00000000062F1918>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EB_KERNEL           make @6                                             
<00000000062F18B8>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EB_KERNEL           root's creation                                     
<00000000062F18B8>                         Routine failure.              Exit
-------------------------------------------------------------------------------

Call stack:

ObjectClassRoutine
------------------
[0x627BF98] HASH_TABLE extend ( @ 1 )
[0x627BFB0] SD_HOT_ZONE_TAB set_rectangle ( @ 16 )
[0x627BFB0] SD_HOT_ZONE_TAB make ( @ 7 )
[0x627BFD8] SD_HOT_ZONE_TRIANGLE_FACTORY hot_zone_tab ( @ 5 )
[0x627BFD8] SD_HOT_ZONE_TRIANGLE_FACTORY hot_zone ( @ 10 )
[0x627BFC8] SD_TAB_ZONE add_hot_zones (From SD_DOCKER_SOURCE) ( @ 4 )
[0x627BF80] SD_DOCKER_MEDIATOR add_hot_zone_on_type ( @ 8 )
[0x627BF80] SD_DOCKER_MEDIATOR generate_hot_zone_in_area ( @ 10 )
[0x627BF80] SD_DOCKER_MEDIATOR generate_hot_zones_imp ( @ 11 )
[0x627BF80] SD_DOCKER_MEDIATOR generate_hot_zones ( @ 4 )
[0x627BF80] SD_DOCKER_MEDIATOR start_tracing_pointer ( @ 6 )
[0x627BFE0] SD_DOCKING_ZONE_NORMAL on_drag_started (From SD_DOCKING_ZONE) ( @ 7 )
[0x627BF78] PROCEDURE fast_call ( @ 0 )
[0x627BF78] PROCEDURE call ( @ 5 )
[0x627BFA0] EV_POINTER_MOTION_ACTION_SEQUENCE call (From ACTION_SEQUENCE) ( @ 22 )
[0x627BFA0] EV_POINTER_MOTION_ACTION_SEQUENCE call (From EV_LITE_ACTION_SEQUENCE) ( @ 3 )
[0x627BFB8] SD_PANEL drag_window ( @ 1 )
[0x627BFC0] PROCEDURE fast_call ( @ 0 )
[0x627BFC0] PROCEDURE call ( @ 5 )
[0x627BFD0] EV_POINTER_MOTION_ACTION_SEQUENCE call (From ACTION_SEQUENCE) ( @ 22 )
[0x627BFD0] EV_POINTER_MOTION_ACTION_SEQUENCE call (From EV_LITE_ACTION_SEQUENCE) ( @ 3 )
[0x627BF88] SD_TITLE_BAR_TITLE on_pointer_motion ( @ 2 )
[0x627BFA8] PROCEDURE fast_call ( @ 0 )
[0x627BFA8] PROCEDURE call ( @ 5 )
[0x627BF60] EV_POINTER_MOTION_ACTION_SEQUENCE call (From ACTION_SEQUENCE) ( @ 22 )
[0x627BF60] EV_POINTER_MOTION_ACTION_SEQUENCE call (From EV_LITE_ACTION_SEQUENCE) ( @ 3 )
[0x627BF68] EV_DRAWING_AREA_IMP on_mouse_move (From EV_WIDGET_IMP) ( @ 24 )
[0x627BF68] EV_DRAWING_AREA_IMP window_process_message (From WEL_WINDOW) ( @ 3 )
[0x627BF68] EV_DRAWING_AREA_IMP process_message (From WEL_COMPOSITE_WINDOW) ( @ 23 )
[0x627BFE8] WEL_DISPATCHER window_procedure (From WEL_ABSTRACT_DISPATCHER) <R> ( @ 10 )
[0x627BFF0] WEL_MSG cwin_dispatch_message ( @ 0 )
[0x627BFF0] WEL_MSG dispatch ( @ 1 )
[0x627BF90] EV_APPLICATION_IMP process_message ( @ 11 )
[0x627BF90] EV_APPLICATION_IMP process_underlying_toolkit_event_queue ( @ 7 )
[0x627BF90] EV_APPLICATION_IMP process_event_queue (From EV_APPLICATION_I) <R> ( @ 2 )
[0x627BF90] EV_APPLICATION_IMP process_events (From EV_APPLICATION_I) ( @ 1 )
[0x627BFF8] EV_MENU_IMP show_at ( @ 10 )
[0x627C000] EV_MENU show_at ( @ 5 )
[0x627BF90] EV_APPLICATION_IMP create_target_menu (From EV_APPLICATION_I) ( @ 43 )
[0x627C008] EV_LIST_ITEM_IMP start_transport (From EV_PICK_AND_DROPABLE_IMP) ( @ 11 )
[0x627C008] EV_LIST_ITEM_IMP pnd_press (From EV_PICK_AND_DROPABLE_ITEM_IMP) ( @ 6 )
[0x627C010] EV_LIST_IMP internal_propagate_pointer_press ( @ 8 )
[0x627C010] EV_LIST_IMP on_right_button_down (From EV_PICK_AND_DROPABLE_ITEM_HOLDER_IMP) ( @ 10 )
[0x627C010] EV_LIST_IMP process_message (From WEL_WINDOW) ( @ 17 )
[0x627BFE8] WEL_DISPATCHER window_procedure (From WEL_ABSTRACT_DISPATCHER) <R> ( @ 10 )
[0x627BFF0] WEL_MSG cwin_dispatch_message ( @ 0 )
[0x627BFF0] WEL_MSG dispatch ( @ 1 )
[0x627BF90] EV_APPLICATION_IMP process_message ( @ 11 )
[0x627BF90] EV_APPLICATION_IMP process_underlying_toolkit_event_queue ( @ 7 )
[0x627BF90] EV_APPLICATION_IMP process_event_queue (From EV_APPLICATION_I) <R> ( @ 2 )
[0x627BF90] EV_APPLICATION_IMP launch (From EV_APPLICATION_I) ( @ 3 )
[0x627C018] EV_APPLICATION launch <R> ( @ 4 )
[0x627C020] ES_GRAPHIC make ( @ 4 )
[0x627C028] EB_KERNEL make ( @ 6 )

To Reproduce

										
Problem Report Interactions
From:larryl    Date:2009/09/01    Status: Closed    Download   
Hi, Manu,

This bug is fixed in revision#80553.

I'm sure the key not exist when using the {HASH_TABLE}.extend. The key means the notebook tab position in one notebook which should be unique. So I think it's ok to use it.

Thanks for your report.