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
Indeed, there was a code generation issue in the earlier intermediate release that was fixed afterwards.
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
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
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