https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67836

            Bug ID: 67836
           Summary: Exceptions with tracebacks in task rendezvous cause
                    STORAGE_ERROR
           Product: gcc
           Version: 5.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nicolas.boulenguez at free dot fr
  Target Milestone: ---

Exceptions with tracebacks enabled (gnatbind -E switch) cause a
STORAGE_ERROR on kfreebsd-i386 when raised in a task rendezvous.

procedure Main is
   task Test_Task is
      entry Rendezvous;
   end Test_Task;
   task body Test_Task is
   begin
      accept Rendezvous do
         raise Constraint_Error with "Some error occurred";
      end Rendezvous;
   end Test_Task;
begin
   Test_Task.Rendezvous;
end Main;

This code compiles and run without tracebacks in exception occurrences. 
If compiled with tracebacks:
# gnatmake -v main -bargs -E
it produces the following result:
# Execution terminated by unhandled exception
# Exception name: STORAGE_ERROR
# Message: s-intman.adb:139 explicit raise

The whole story can be found at https://bugs.debian.org/666106.

Reply via email to