This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug ada/29623] New: Assert_Failure sinfo.adb:649 in task allocator


(Forwarding Debian bug #395406):

Subject: gnat-4.1: Assert_Failure sinfo.adb:649
Package: gnat-4.1
Version: 4.1.1-16
Severity: normal

*** Please type your report below this line ***

Trying to compile an Ada program, I have this bug with gnatmake :
****************************************
$ gnatmake -gnat05 rv.adb
gcc-4.1 -c -gnat05 rv.adb
+===========================GNAT BUG DETECTED==============================+
| 4.1.2 20061007 (prerelease) (Debian 4.1.1-16) (i486-pc-linux-gnu)        |
| Assert_Failure sinfo.adb:649                                             |
| Error detected at rv.adb:83:26                                           |

My source code : rv.adb
****************************************
with text_io;
use  text_io;

procedure rv is

    p     : constant integer := 6; -- nombre de tâches "processus" 
    nb_rv : constant integer := 2; -- nombre de rendez-vous successifs
    subtype indice_processus is integer range 1..p;
    type    etat_processus is (run, wait);

    ---------------- variables partagées ------------------ � compléter
-------------
    etat : array(indice_processus) of etat_processus := (others => run);

    -------------------------
    ----- Tache serveur -----
    -------------------------

    task serveur is
        entry rendez_vous;
        entry photo;
    end serveur ;

    task body serveur is
    begin
        loop
            select
                accept rendez_vous;
            or
                accept photo do
                    for i in etat'Range loop
                        if etat(i) = run then
                            put("|   ");
                        else
                            put("+   ");
                        end if;
                    end loop;
                    put(Natural'Image(rendez_vous'Count));
                    new_line(1);
                end photo;
            end select;
        end loop;
    end serveur ;

    ---------------------------
    ----- Tache processus -----
    ---------------------------

    task type processus (numero : indice_processus);
    task body processus is
    begin
        serveur.rendez_vous;
    end processus;

    -----------------------
    ----- Tache trace -----
    -----------------------

    task trace;
    task body trace is
    begin
        serveur.photo;
    end trace ;

begin
    ------------------------------------------ affiche en-tête de la trace
-----------
    new_line(1);
    put_line(integer'image(p)&" processus se donnent "&integer'image(nb_rv)&"
rendez-vous" );
    new_line(1);
    put_line("Les processus s'executent : | , ou attendent : +") ;
    new_line(1);
    -- le header
    --put(" ");
    for i in 1..p loop
        put("p" & integer'image(i)(2..3) & "   ");
    end loop ;
    put("rendez_vous'count");
    new_line(1) ;
    -- les processus
    declare 
        taches : array(1..p) of access processus;
    begin
        for i in indice_processus loop
            taches(i) := new processus(i); -- line 83
        end loop;
    end;
end rv;

****************************************

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-1-686
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)

Versions of packages gnat-4.1 depends on:
ii  gcc-4.1                      4.1.1-13    The GNU C compiler
ii  gnat-4.1-base                4.1.1-16    The GNU Compiler Collection (gnat 
ii  libc6                        2.3.6.ds1-4 GNU C Library: Shared libraries
ii  libc6-dev                    2.3.6.ds1-4 GNU C Library: Development Librari
ii  libgcc1                      1:4.1.1-13  GCC support library
ii  libgnat-4.1                  4.1.1-16    Runtime library for GNU Ada applic
ii  libgnatprj4.1                4.1.1-16    GNU Ada Project Manager
ii  libgnatvsn4.1                4.1.1-16    GNU Ada compiler version library

gnat-4.1 recommends no packages.

(sinfo.adb is not patched in Debian).


-- 
           Summary: Assert_Failure sinfo.adb:649 in task allocator
           Product: gcc
           Version: 4.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ludovic at ludovic-brenta dot org
 GCC build triplet: i486-linux-gnu
  GCC host triplet: i486-linux-gnu
GCC target triplet: i486-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29623


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]