PR# 19414 [er] GUI applications crash when compiled with 17.11.10.1019

Problem Report Summary
Submitter: axarosenberg
Category: Compiler
Priority: High
Date: 2017/11/29
Class: Bug
Severity: Serious
Number: 19414
Release: 17.11.10.1019
Confidential: No
Status: Closed
Responsible:
Environment: win
Synopsis: [er] GUI applications crash when compiled with 17.11.10.1019

Description
GUI applications crash with the following error when compiled with 17.11.10.1019:

EV_ANY_I: CREATE_ON_DEFERRED raised (CREATE_ON_DEFERRED)
******************************** Thread exception *****************************
In thread           Root thread            0x0 (thread id)
*******************************************************************************
-------------------------------------------------------------------------------
Class / Object      Routine                Nature of exception           Effect
-------------------------------------------------------------------------------
EV_ENVIRONMENT      create_implementation @3
                                           EV_ANY_I:
<000000000A9E2D60>                         Create on deferred.           Fail
-------------------------------------------------------------------------------
EV_ENVIRONMENT      create_implementation @3
<000000000A9E2D60>                         Routine failure.              Fail
-------------------------------------------------------------------------------
EV_ENVIRONMENT      default_create @2                                   
<000000000A9E2D60>  (From EV_ANY)          Routine failure.              Fail
-------------------------------------------------------------------------------

The code which causes this crash is:

         implementation.set_state_flag ({EV_ANY_I}.interface_is_initialized_flag, False)

in EV_ENVIRONMENT.create_implementation. Feature `interface_is_initialized_flag' is a constant attribute in deferred class EV_ANY_I.

--
Eric Bezault
To Reproduce

										
Problem Report Interactions
From:alexk_es    Date:2018/02/01    Status: Closed    Download   
Indeed, there was a code generation issue in the earlier intermediate release that was fixed afterwards.

From:axarosenberg    Date:2018/01/30    Status: Open    Download   
Note that my program is not crashing anymore when accessing constant attributes from EV_ANY_I through an non-object-call when using 18.01.10.1318.
So, this issue seems to be fixed in 18.01.10.1318.

--
Eric Bezault

From:axarosenberg    Date:2017/11/30    Status: Open    Download   
I think that the problem with {ISE_RUNTIME}.check_assert was due to the EIFGEN being corrupted. The problem disappeared after recompiling from scratch.

--
Eric Bezault

From:axarosenberg    Date:2017/11/30    Status: Open    Download   
I worked around the problem mentioned earlier by replacing all:

    {EV_ANY_I}.some_constant

by:

    implementation.some_constant

in classes EV_ENVIRONMENT and EV_ANY.

Now I get this exception trace:

Segmentation violation: OPERATING_SYSTEM_SIGNAL_FAILURE raised (OPERATING_SYSTEM_SIGNAL_FAILURE)
******************************** Thread exception *****************************
In thread           Root thread            0x0 (thread id)
*******************************************************************************
-------------------------------------------------------------------------------
Class / Object      Routine                Nature of exception           Effect
-------------------------------------------------------------------------------
EV_CURSOR           replace_implementation @3
                                           Segmentation violation:
<000000000AC61670>  (From EV_ANY)          Operating system signal.      Fail
-------------------------------------------------
....
Output truncated, Click download to get the full message