PR# 19657 Segmentation violation: (Void, separate...) actual arguments passed via agent.
Problem Report Summary
Submitter: rosivaldo
Category: SCOOP
Priority: Low
Date: 2020/07/28
Class: Bug
Severity: Critical
Number: 19657
Release: EiffelStudio 20.05 (20.05.10.4521 - win64)
Confidential: No
Status: Open
Responsible:
Environment: win64 (mingw)
Synopsis: Segmentation violation: (Void, separate...) actual arguments passed via agent.
Description
Two arguments, of type detachable separate CHARACTER_REF, causes a segmentation violation upon the following scenario: one actual argument is void and the other is actually separate; besides, the call must be done via an agent.
To Reproduce
Freeze the system consisting of the class below with complete void-safety and SCOOP activated. Run the system in workbench mode. class APPLICATION create make feature {NONE} make local c: detachable separate CHARACTER_REF p: PREDICATE [detachable separate CHARACTER_REF, detachable separate CHARACTER_REF] do create c separate c as sep_c do sep_c.set_item ('a') end p := agent p_x1_x2 print (p (Void, c)) end feature p_x1_x2 (x1, x2: detachable separate CHARACTER_REF): BOOLEAN do --| Segmentation violation upon feature entry if attached x1 and attached x2 then Result := x1.natural_32_code \\ 2 /= (x1.natural_32_code + x2.natural_32_code) \\ 2 end end end
Problem Report Interactions