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

            Bug ID: 68314
           Summary: [6 Regression] Invalid read in
                    build_pbb_minimal_scattering_polyhedrons
                    (graphite-sese-to-poly.c:148)
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---

Hello.

Running valgrind following invalid read in graphite:

valgrind --leak-check=yes --trace-children=yes
--suppressions=/home/marxin/Programming/gcc2/gcc.supp --error-exitcode=111 -q 
/home/marxin/Programming/gcc2/objdir/gcc/xgcc
-B/home/marxin/Programming/gcc2/objdir/gcc/
/home/marxin/Programming/gcc2/gcc/testsuite/gcc.dg/graphite/pr42211.c
-fno-diagnostics-show-caret -fdiagnostics-color=never -O3 -floop-interchange -S
-o pr42211.s


==28667== Invalid read of size 4
==28667==    at 0x15540D2: build_pbb_minimal_scattering_polyhedrons(isl_aff*,
poly_bb*, int*, int) (graphite-sese-to-poly.c:148)
==28667==    by 0x15545E2: build_scop_minimal_scattering(scop*)
(graphite-sese-to-poly.c:304)
==28667==    by 0x155693A: build_poly_scop(scop*)
(graphite-sese-to-poly.c:1198)
==28667==    by 0x15451A7: graphite_transform_loops() (graphite.c:332)
==28667==    by 0x1545287: graphite_transforms(function*) (graphite.c:371)
==28667==    by 0x15453AD: (anonymous
namespace)::pass_graphite_transforms::execute(function*) (graphite.c:448)
==28667==    by 0xC2006A: execute_one_pass(opt_pass*) (passes.c:2325)
==28667==    by 0xC2036D: execute_pass_list_1(opt_pass*) (passes.c:2398)
==28667==    by 0xC2039E: execute_pass_list_1(opt_pass*) (passes.c:2399)
==28667==    by 0xC2039E: execute_pass_list_1(opt_pass*) (passes.c:2399)
==28667==    by 0xC2039E: execute_pass_list_1(opt_pass*) (passes.c:2399)
==28667==    by 0xC203F6: execute_pass_list(function*, opt_pass*)
(passes.c:2409)
==28667==  Address 0x78f43a4 is 0 bytes after a block of size 4 alloc'd
==28667==    at 0x4C2A00F: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==28667==    by 0x1690A87: xmalloc (xmalloc.c:148)
==28667==    by 0x155445F: build_scop_minimal_scattering(scop*)
(graphite-sese-to-poly.c:268)
==28667==    by 0x155693A: build_poly_scop(scop*)
(graphite-sese-to-poly.c:1198)
==28667==    by 0x15451A7: graphite_transform_loops() (graphite.c:332)
==28667==    by 0x1545287: graphite_transforms(function*) (graphite.c:371)
==28667==    by 0x15453AD: (anonymous
namespace)::pass_graphite_transforms::execute(function*) (graphite.c:448)
==28667==    by 0xC2006A: execute_one_pass(opt_pass*) (passes.c:2325)
==28667==    by 0xC2036D: execute_pass_list_1(opt_pass*) (passes.c:2398)
==28667==    by 0xC2039E: execute_pass_list_1(opt_pass*) (passes.c:2399)
==28667==    by 0xC2039E: execute_pass_list_1(opt_pass*) (passes.c:2399)
==28667==    by 0xC2039E: execute_pass_list_1(opt_pass*) (passes.c:2399)


Breakpoint 1, build_pbb_minimal_scattering_polyhedrons (static_sched=0x2535ca0,
pbb=0x24ec3f0, sequence_dims=0x0, nb_sequence_dim=0) at
../../gcc/graphite-sese-to-poly.c:148
148           if (sequence_dims && sequence_dims[j] == i)
Missing separate debuginfos, use: zypper install
libisl13-debuginfo-0.14-1.21.x86_64
(gdb) p j
$1 = 0

Problem is that nb_sequence_dim=0 == 0.

Thanks,
Martin

Reply via email to