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