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