[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[creduce-bugs] clang_delta::reduce-pointer-level crashes



Greetings creduce devs,

I was greeted by some crash messages while reducing a compiler abort test this morning. Your tool was helpful enough to generate some bug-reports for me, so I am forwarding them to you as requested.

I'm using creduce 2.2.1, perl 5.10.0, delta 2003.7.14, and clang 3.5.0

I hope these reports are helpful.

 Bavier
      typedef int MPI_Comm ;
                typedef long long int HYPRE_Int ;
                typedef MPI_Comm hypre_MPI_Comm ;
                void  hypre_MPI_Comm_rank (  void ) ;
                typedef struct {
               HYPRE_Int num_rows ;
            }
                hypre_CSRMatrix ;
                typedef struct {
               MPI_Comm	comm ;
               hypre_CSRMatrix	* diag ;
             }
                hypre_ParCSRMatrix ;
                HYPRE_Int AmgCGCPrepare_mpirank;
HYPRE_Int *AmgCGCPrepare_vertexrange = 0;
hypre_ParCSRMatrix * AmgCGCPrepare_S;
HYPRE_Int AmgCGCPrepare_nlocal;
HYPRE_Int * AmgCGCPrepare_CF_marker;
HYPRE_Int * AmgCGCPrepare_CF_marker_offd;
HYPRE_Int AmgCGCPrepare_coarsen_type;
HYPRE_Int * AmgCGCPrepare_vrange;
void  AmgCGCPrepare (      void ) {
              
              
              HYPRE_Int vstart  ;
              HYPRE_Int i   ;
              HYPRE_Int num_variables =     AmgCGCPrepare_S  -> diag   -> num_rows  ;
              MPI_Comm comm =   AmgCGCPrepare_S  -> comm  ;
              hypre_MPI_Comm_rank (   ) ;
              vstart = AmgCGCPrepare_vertexrange [ AmgCGCPrepare_mpirank ] ;
              if ( AmgCGCPrepare_coarsen_type % 2 == 1 ) 
             for ( i = 0 ;
        i < num_variables ;
        i ++ )       if ( AmgCGCPrepare_CF_marker [ i ] > 0 ) 	AmgCGCPrepare_CF_marker [ i ] += vstart ;
          
            }
 

// this should reproduce the crash:
// clang_delta --transformation=reduce-pointer-level --counter=4 creduce_bug_51472
 
;
long AmgCGCPrepare_mpirank;
long *AmgCGCPrepare_vertexrange ;
long *AmgCGCPrepare_CF_marker;
void
AmgCGCPrepare ( )
{
  long vstart;
  long i;
  long num_variables = vstart = AmgCGCPrepare_mpirank;
  for ( i = 0; i < num_variables; i++ )
    if ( i )
      AmgCGCPrepare_CF_marker[i] += vstart;
}


// this should reproduce the crash:
// clang_delta --transformation=reduce-pointer-level --counter=2 creduce_bug_174391
long a;
long *b;
void fn1() {
  long c, i, d = c = a;
  i = 0;
  for (; i < d; i++)
    if (i)
      b[i] = c;
}


// this should reproduce the crash:
// clang_delta --transformation=reduce-pointer-level --counter=1 creduce_bug_428500
 
;
long AmgCGCPrepare_mpirank;
long AmgCGCPrepare_vertexrange ;
long *AmgCGCPrepare_CF_marker;
void
AmgCGCPrepare ( )
{
  long vstart;
  long i;
  long num_variables = vstart = AmgCGCPrepare_mpirank;
  for ( i = 0; i < num_variables; i++ )
    if ( i )
      AmgCGCPrepare_CF_marker[i] += vstart;
}


// this should reproduce the crash:
// clang_delta --transformation=reduce-pointer-level --counter=1 creduce_bug_628495
      typedef int MPI_Comm ;
                typedef long long int HYPRE_Int ;
                typedef MPI_Comm hypre_MPI_Comm ;
                void  hypre_MPI_Comm_rank (  void ) ;
                typedef struct {
               HYPRE_Int num_rows ;
            }
                hypre_CSRMatrix ;
                typedef struct {
               MPI_Comm	comm ;
               hypre_CSRMatrix	* diag ;
             }
                hypre_ParCSRMatrix ;
                HYPRE_Int AmgCGCPrepare_mpirank;
HYPRE_Int *AmgCGCPrepare_vertexrange = 0;
hypre_ParCSRMatrix  AmgCGCPrepare_S;
HYPRE_Int AmgCGCPrepare_nlocal;
HYPRE_Int * AmgCGCPrepare_CF_marker;
HYPRE_Int * AmgCGCPrepare_CF_marker_offd;
HYPRE_Int AmgCGCPrepare_coarsen_type;
HYPRE_Int * AmgCGCPrepare_vrange;
void  AmgCGCPrepare (      void ) {
              
              
              HYPRE_Int vstart  ;
              HYPRE_Int i   ;
              HYPRE_Int num_variables =     AmgCGCPrepare_S  . diag   -> num_rows  ;
              MPI_Comm comm =   AmgCGCPrepare_S  . comm  ;
              hypre_MPI_Comm_rank (   ) ;
              vstart = AmgCGCPrepare_vertexrange [ AmgCGCPrepare_mpirank ] ;
              if ( AmgCGCPrepare_coarsen_type % 2 == 1 ) 
             for ( i = 0 ;
        i < num_variables ;
        i ++ )       if ( AmgCGCPrepare_CF_marker [ i ] > 0 ) 	AmgCGCPrepare_CF_marker [ i ] += vstart ;
          
            }
 

// this should reproduce the crash:
// clang_delta --transformation=reduce-pointer-level --counter=3 creduce_bug_714548
      typedef int MPI_Comm ;
                typedef long long int HYPRE_Int ;
                typedef MPI_Comm hypre_MPI_Comm ;
                void  hypre_MPI_Comm_rank (  void ) ;
                typedef struct {
               HYPRE_Int num_rows ;
            }
                hypre_CSRMatrix ;
                typedef struct {
               MPI_Comm	comm ;
               hypre_CSRMatrix	* diag ;
             }
                hypre_ParCSRMatrix ;
                HYPRE_Int AmgCGCPrepare_mpirank;
HYPRE_Int *AmgCGCPrepare_vertexrange = 0;
hypre_ParCSRMatrix * AmgCGCPrepare_S;
HYPRE_Int AmgCGCPrepare_nlocal;
HYPRE_Int * AmgCGCPrepare_CF_marker;
HYPRE_Int ** AmgCGCPrepare_CF_marker_offd;
HYPRE_Int AmgCGCPrepare_coarsen_type;
HYPRE_Int ** AmgCGCPrepare_vrange;
void  AmgCGCPrepare (      void ) {
              
              
              HYPRE_Int vstart  ;
              HYPRE_Int i   ;
              HYPRE_Int num_variables =     AmgCGCPrepare_S  -> diag   -> num_rows  ;
              MPI_Comm comm =   AmgCGCPrepare_S  -> comm  ;
              hypre_MPI_Comm_rank (   ) ;
              vstart = AmgCGCPrepare_vertexrange [ AmgCGCPrepare_mpirank ] ;
              if ( AmgCGCPrepare_coarsen_type % 2 == 1 ) 
             for ( i = 0 ;
        i < num_variables ;
        i ++ )       if ( AmgCGCPrepare_CF_marker [ i ] > 0 ) 	AmgCGCPrepare_CF_marker [ i ] += vstart ;
          
            }
 

// this should reproduce the crash:
// clang_delta --transformation=reduce-pointer-level --counter=6 creduce_bug_876730