PR# 19714 Crash anywhere for multhreaded vision2 application

Problem Report Summary
Submitter: Abstraction
Category: Compiler
Priority: High
Date: 2021/02/07
Class: Bug
Severity: Critical
Number: 19714
Release: 20.11
Confidential: No
Status: Open
Responsible:
Environment: linux
Synopsis: Crash anywhere for multhreaded vision2 application

Description
In Bench mode, my vision multithread application crash out of control of estudio. 
Here is stack trace	
		
abc: PANIC: Unexpected harmful signal (Erreur de segmentation) ...

abc: system execution failed.
Following is the set of recorded exceptions.
NB: The raised panic may have induced completely inconsistent information:

******************************** Thread exception *****************************
In thread           Root thread            0x0 (thread id)
*******************************************************************************
-------------------------------------------------------------------------------
Class / Object      Routine                Nature of exception           Effect
-------------------------------------------------------------------------------
ABC_GRAPHIC         root's creation @4     Unexpected harmful signal (Erreur de segmentation):
<00007F0E66DB4078>                         Eiffel run-time panic.        Bye
-------------------------------------------------------------------------------

abc: dumping core to generate debugging information...

Whit a first set of data the crach seem to append at a very simple instruction:

			if p >= 0 and then attached item_at_position(p) as it then
				result := it
			end
where it is attached of the expected type. The crash append on:  result := it !
But, with an other set if data the crash append on :

create my_array.make(1000)
More precisely on the build-in creation of the area !
The finalyze version has the same problem. In both case, to reproduice on have just to start whith the command:
date ; ./EIFGENs/abc/F_code/abc data/test.dmp -tools=tools ; date
or
date ; ./EIFGENs/abc/W_code/abc data/test.dmp -tools=tools ; date

The crash come after about 30 seconds whithout any interaction.

Then it seem that these crash have nothing to do with the code it-self. So, I ask you what have to send to enable you to works on the problem ?

In the same time, I would signal that the compilation is fine and fast on pre-compilation or on the batch version of the same application. But, in contrast, the vision multithreaded version is incredibly slow: 



The finalized version leads to this c compilation warning ( But surely you known that ):

/Eiffel/ISE/Eiffel_20.11/studio/spec/linux-x86-64/include/eif_macros.h:106:46: warning: function called through a non-compatible type
 #define FUNCTION_CAST(r_type, arg_types)     (r_type (*) arg_types)
ececil.c:4731:10: note: in expansion of macro ‘FUNCTION_CAST’
  return (FUNCTION_CAST(EIF_BOOLEAN, (EIF_REFERENCE)) RTNR) (open [1].it_r);
          ^~~~~~~~~~~~~

Waiting for your directives

Jacques
To Reproduce

										
Problem Report Interactions