public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug fortran/59395] New: internal compiler error (memory access error)
@ 2013-12-05 13:43 demarchie at web dot de
  2013-12-05 20:54 ` [Bug fortran/59395] [4.8 Regression] " janus at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: demarchie at web dot de @ 2013-12-05 13:43 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 59395
           Summary: internal compiler error (memory access error)
           Product: gcc
           Version: 4.8.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
          Assignee: unassigned at gcc dot gnu.org
          Reporter: demarchie at web dot de

I receive an ICE when compiling this source code with 4.8.1 and 4.8.2:

module mymod
  implicit none

  integer, parameter :: k = selected_real_kind(1,1) ! no bug with k = 4

  type t
   integer                       :: m   ! can't swap this line with next one
   procedure(f), pointer, nopass :: a,b ! have to be at least two of them
  end type

  interface
    integer function f(n)
      integer :: n
    end function
  end interface

end module mymod

program test
  use mymod
end program test

*****

Output from gfortran source.f90 -save-temps -v

1 gfortran 4.8.1 on OpenBSD/macppc

Driving: egfortran source.f90 -save-temps -v -l gfortran -l m
Using built-in specs.
COLLECT_GCC=egfortran
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/powerpc-unknown-openbsd5.4/4.8.1/lto-wrapper
Target: powerpc-unknown-openbsd5.4
Configured with: /usr/obj/ports/gcc-4.8.1/gcc-4.8.1/configure --enable-libgcj
--without-jar --verbose --program-transform-name='s,^,e,' --disable-nls
--disable-checking --with-system-zlib --disable-libmudflap --disable-libgomp
--disable-tls --with-as=/usr/bin/as --with-ld=/usr/bin/ld --with-gnu-ld
--with-gnu-as --enable-threads=posix --enable-wchar_t --with-gmp=/usr/local
--enable-languages=c,c++,fortran,objc,java --disable-libstdcxx-pch --enable-cpp
--enable-shared --prefix=/usr/local --sysconfdir=/etc --mandir=/usr/local/man
--infodir=/usr/local/info --localstatedir=/var --disable-silent-rules
Thread model: posix
gcc version 4.8.1 (GCC) 
COLLECT_GCC_OPTIONS='-save-temps' '-v'
 /usr/local/libexec/gcc/powerpc-unknown-openbsd5.4/4.8.1/f951 source.f90 -quiet
-dumpbase source.f90 -auxbase source -version -fintrinsic-modules-path
/usr/local/lib/gcc/powerpc-unknown-openbsd5.4/4.8.1/finclude -o source.s
GNU Fortran (GCC) version 4.8.1 (powerpc-unknown-openbsd5.4)
        compiled by GNU C version 4.8.1, GMP version 5.0.2, MPFR version
3.1.0-p3, MPC version 0.9
GGC heuristics: --param ggc-min-expand=65 --param ggc-min-heapsize=131072
GNU Fortran (GCC) version 4.8.1 (powerpc-unknown-openbsd5.4)
        compiled by GNU C version 4.8.1, GMP version 5.0.2, MPFR version
3.1.0-p3, MPC version 0.9
GGC heuristics: --param ggc-min-expand=65 --param ggc-min-heapsize=131072
f951 in free(): error: chunk is already free 0x86f96060
f951 in malloc(): error: recursive call
egfortran: internal compiler error: Abort trap (program f951)
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


2 gfortran 4.8.2-1 from fink on macppc OS 10.4

Angesteuert: /sw/bin/gfortran -mmacosx-version-min=10.4 source.f90 -save-temps
-v -l gfortran -shared-libgcc
Es werden eingebaute Spezifikationen verwendet.
COLLECT_GCC=/sw/bin/gfortran
COLLECT_LTO_WRAPPER=/sw/lib/gcc4.8/libexec/gcc/powerpc-apple-darwin8.11.0/4.8.2/lto-wrapper
Ziel: powerpc-apple-darwin8.11.0
Konfiguriert mit: ../gcc-4.8.2/configure --prefix=/sw AS=odas
AS_FOR_TARGET=odas NM_FOR_TARGET=odnm LD_FOR_TARGET=odld AR_FOR_TARGET=odar
LIPO_FOR_TARGET=odlipo OBJDUMP_FOR_TARGET=odobjdump RANLIB_FOR_TARGET=odranlib
STRIP_FOR_TARGET=odstrip --prefix=/sw/lib/gcc4.8 --mandir=/sw/share/man
--infodir=/sw/lib/gcc4.8/info
--enable-languages=c,c++,fortran,lto,objc,obj-c++,java --with-gmp=/sw
--with-libiconv-prefix=/sw --with-isl=/sw --with-cloog=/sw --with-mpc=/sw
--with-system-zlib --enable-checking=release --x-includes=/usr/X11R6/include
--x-libraries=/usr/X11R6/lib --program-suffix=-fsf-4.8 --with-dwarf2
--disable-libjava-multilib --disable-libquadmath
Thread-Modell: posix
gcc-Version 4.8.2 (GCC) 
COLLECT_GCC_OPTIONS='-mmacosx-version-min=10.4' '-save-temps' '-v'
'-shared-libgcc'
 /sw/lib/gcc4.8/libexec/gcc/powerpc-apple-darwin8.11.0/4.8.2/f951 source.f90
-fPIC -quiet -dumpbase source.f90 -mmacosx-version-min=10.4 -auxbase source
-version -fintrinsic-modules-path
/sw/lib/gcc4.8/lib/gcc/powerpc-apple-darwin8.11.0/4.8.2/finclude -o source.s
GNU Fortran (GCC) Version 4.8.2 (powerpc-apple-darwin8.11.0)
        kompiliert von GNU-C-Version 4.8.2, GMP-Version 5.1.3, MPFR-Version
3.1.2, MPC-Version 1.0.1.
GGC-Heuristik: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU Fortran (GCC) Version 4.8.2 (powerpc-apple-darwin8.11.0)
        kompiliert von GNU-C-Version 4.8.2, GMP-Version 5.1.3, MPFR-Version
3.1.2, MPC-Version 1.0.1.
GGC-Heuristik: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
[address=61707265 pc=00826c94]
source.f90: In Funktion »main«:
source.f90:20:0: interner Compiler-Fehler: Speicherzugriffsverletzung [*]
   use mymod
 ^
libbacktrace could not find executable to open
Bitte senden Sie einen vollständigen Fehlerbericht auf Englisch ein;
bearbeiten Sie die Quellen zunächst mit einem Präprozessor, wenn es
dienlich ist.
Siehe <http://gcc.gnu.org/bugs.html> für nähere Anweisungen.

[*] "memory access violation"
>From gcc-bugs-return-436738-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Thu Dec 05 13:53:28 2013
Return-Path: <gcc-bugs-return-436738-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 2285 invoked by alias); 5 Dec 2013 13:53:27 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 2231 invoked by uid 48); 5 Dec 2013 13:53:23 -0000
From: "Joost.VandeVondele at mat dot ethz.ch" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/59395] [4.8 Regression] internal compiler error (memory access error)
Date: Thu, 05 Dec 2013 13:53:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: fortran
X-Bugzilla-Version: 4.8.2
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: Joost.VandeVondele at mat dot ethz.ch
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields: cc cf_known_to_work short_desc cf_known_to_fail
Message-ID: <bug-59395-4-xNkgygOW8E@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-59395-4@http.gcc.gnu.org/bugzilla/>
References: <bug-59395-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2013-12/txt/msg00393.txt.bz2
Content-length: 844

http://gcc.gnu.org/bugzilla/show_bug.cgi?idY395

Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |Joost.VandeVondele at mat dot ethz
                   |                            |.ch
      Known to work|                            |4.7.2, 4.9.0
            Summary|internal compiler error     |[4.8 Regression] internal
                   |(memory access error)       |compiler error (memory
                   |                            |access error)
      Known to fail|                            |4.8.3

--- Comment #1 from Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> ---
fails with 4.8.3, works with trunk and 4.7


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug fortran/59395] [4.8 Regression] internal compiler error (memory access error)
  2013-12-05 13:43 [Bug fortran/59395] New: internal compiler error (memory access error) demarchie at web dot de
@ 2013-12-05 20:54 ` janus at gcc dot gnu.org
  2013-12-06 10:36 ` rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: janus at gcc dot gnu.org @ 2013-12-05 20:54 UTC (permalink / raw)
  To: gcc-bugs

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

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2013-12-05
                 CC|                            |janus at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #2 from janus at gcc dot gnu.org ---
This reduced test case also fails with 4.8.1:


  implicit none

  type t
   procedure(), pointer, nopass :: a,b
  end type

end



with the following error:


*** Error in `/usr/lib/gcc/x86_64-linux-gnu/4.8/f951': double free or
corruption (fasttop): 0x0000000001bddec0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x80996)[0x7f326bd12996]
/usr/lib/gcc/x86_64-linux-gnu/4.8/f951(_Z15gfc_free_symbolP10gfc_symbol+0x58)[0x5bc048]
/usr/lib/gcc/x86_64-linux-gnu/4.8/f951[0x5bc1f4]
/usr/lib/gcc/x86_64-linux-gnu/4.8/f951[0x5bc1e2]
/usr/lib/gcc/x86_64-linux-gnu/4.8/f951[0x5bc1eb]
/usr/lib/gcc/x86_64-linux-gnu/4.8/f951(_Z18gfc_free_namespaceP13gfc_namespace+0x4b)[0x5bbebb]
/usr/lib/gcc/x86_64-linux-gnu/4.8/f951(_Z17gfc_symbol_done_2v+0x10)[0x5bc460]
/usr/lib/gcc/x86_64-linux-gnu/4.8/f951(_Z10gfc_done_2v+0x9)[0x579299]
/usr/lib/gcc/x86_64-linux-gnu/4.8/f951(_Z14gfc_parse_filev+0x6ea)[0x58c88a]
/usr/lib/gcc/x86_64-linux-gnu/4.8/f951[0x5c8306]
/usr/lib/gcc/x86_64-linux-gnu/4.8/f951[0x8a5906]
/usr/lib/gcc/x86_64-linux-gnu/4.8/f951(_Z11toplev_mainiPPc+0x9ba)[0x8a73ca]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f326bcb3de5]
/usr/lib/gcc/x86_64-linux-gnu/4.8/f951[0x51eebf]


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug fortran/59395] [4.8 Regression] internal compiler error (memory access error)
  2013-12-05 13:43 [Bug fortran/59395] New: internal compiler error (memory access error) demarchie at web dot de
  2013-12-05 20:54 ` [Bug fortran/59395] [4.8 Regression] " janus at gcc dot gnu.org
@ 2013-12-06 10:36 ` rguenth at gcc dot gnu.org
  2014-02-09 14:15 ` [Bug fortran/59395] [4.8 Regression] double free with procedure pointer component janus at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-12-06 10:36 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4
   Target Milestone|---                         |4.8.3


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug fortran/59395] [4.8 Regression] double free with procedure pointer component
  2013-12-05 13:43 [Bug fortran/59395] New: internal compiler error (memory access error) demarchie at web dot de
  2013-12-05 20:54 ` [Bug fortran/59395] [4.8 Regression] " janus at gcc dot gnu.org
  2013-12-06 10:36 ` rguenth at gcc dot gnu.org
@ 2014-02-09 14:15 ` janus at gcc dot gnu.org
  2014-02-09 14:35 ` janus at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: janus at gcc dot gnu.org @ 2014-02-09 14:15 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from janus at gcc dot gnu.org ---
The backtrace is:

0x8a95ff crash_signal
    /home/jweil/gcc48/branch/gcc/toplev.c:332
0x5bd997 free_components
    /home/jweil/gcc48/branch/gcc/fortran/symbol.c:2068
0x5bd997 gfc_free_symbol(gfc_symbol*)
    /home/jweil/gcc48/branch/gcc/fortran/symbol.c:2496
0x5bdb43 free_sym_tree
    /home/jweil/gcc48/branch/gcc/fortran/symbol.c:3302
0x5bdb31 free_sym_tree
    /home/jweil/gcc48/branch/gcc/fortran/symbol.c:3299
0x5bdb3a free_sym_tree
    /home/jweil/gcc48/branch/gcc/fortran/symbol.c:3300
0x5bd80a gfc_free_namespace(gfc_namespace*)
    /home/jweil/gcc48/branch/gcc/fortran/symbol.c:3465
0x5bddaf gfc_symbol_done_2()
    /home/jweil/gcc48/branch/gcc/fortran/symbol.c:3507
0x57a678 gfc_done_2()
    /home/jweil/gcc48/branch/gcc/fortran/misc.c:267
0x58dde9 translate_all_program_units
    /home/jweil/gcc48/branch/gcc/fortran/parse.c:4493
0x58dde9 gfc_parse_file()
    /home/jweil/gcc48/branch/gcc/fortran/parse.c:4688
0x5c9cc5 gfc_be_parse_file
    /home/jweil/gcc48/branch/gcc/fortran/f95-lang.c:189


where line 2068 of symbol.c is:

free (p->tb);

It seems that tb is the same for the components 'a' and 'b', which leads to the
double free.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug fortran/59395] [4.8 Regression] double free with procedure pointer component
  2013-12-05 13:43 [Bug fortran/59395] New: internal compiler error (memory access error) demarchie at web dot de
                   ` (2 preceding siblings ...)
  2014-02-09 14:15 ` [Bug fortran/59395] [4.8 Regression] double free with procedure pointer component janus at gcc dot gnu.org
@ 2014-02-09 14:35 ` janus at gcc dot gnu.org
  2014-02-09 17:32 ` janus at gcc dot gnu.org
  2014-02-09 17:36 ` janus at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: janus at gcc dot gnu.org @ 2014-02-09 14:35 UTC (permalink / raw)
  To: gcc-bugs

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

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |janus at gcc dot gnu.org

--- Comment #4 from janus at gcc dot gnu.org ---
I think on 4.9 trunk it has been fixed by the following commit:

http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=203909

Should be enough to backport this to 4.8. (Probably it was simply not noticed
that it is a regression?)


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug fortran/59395] [4.8 Regression] double free with procedure pointer component
  2013-12-05 13:43 [Bug fortran/59395] New: internal compiler error (memory access error) demarchie at web dot de
                   ` (3 preceding siblings ...)
  2014-02-09 14:35 ` janus at gcc dot gnu.org
@ 2014-02-09 17:32 ` janus at gcc dot gnu.org
  2014-02-09 17:36 ` janus at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: janus at gcc dot gnu.org @ 2014-02-09 17:32 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from janus at gcc dot gnu.org ---
Author: janus
Date: Sun Feb  9 17:32:07 2014
New Revision: 207644

URL: http://gcc.gnu.org/viewcvs?rev=207644&root=gcc&view=rev
Log:
2014-02-09  Janus Weil  <janus@gcc.gnu.org>

    Backport from mainline
    2013-10-21  Tobias Burnus  <burnus@net-b.de>

    PR fortran/58803
    PR fortran/59395
    * decl.c (match_ppc_decl): Prevent later double free.


2014-02-09  Janus Weil  <janus@gcc.gnu.org>

    Backport from mainline
    2013-10-21  Tobias Burnus  <burnus@net-b.de>

    PR fortran/58803
    PR fortran/59395
    * gfortran.dg/proc_ptr_comp_38.f90: New.

Added:
    branches/gcc-4_8-branch/gcc/testsuite/gfortran.dg/proc_ptr_comp_38.f90
Modified:
    branches/gcc-4_8-branch/gcc/fortran/ChangeLog
    branches/gcc-4_8-branch/gcc/fortran/decl.c
    branches/gcc-4_8-branch/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug fortran/59395] [4.8 Regression] double free with procedure pointer component
  2013-12-05 13:43 [Bug fortran/59395] New: internal compiler error (memory access error) demarchie at web dot de
                   ` (4 preceding siblings ...)
  2014-02-09 17:32 ` janus at gcc dot gnu.org
@ 2014-02-09 17:36 ` janus at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: janus at gcc dot gnu.org @ 2014-02-09 17:36 UTC (permalink / raw)
  To: gcc-bugs

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

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #7 from janus at gcc dot gnu.org ---
Fixed with r207644. Closing.


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-02-09 17:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-12-05 13:43 [Bug fortran/59395] New: internal compiler error (memory access error) demarchie at web dot de
2013-12-05 20:54 ` [Bug fortran/59395] [4.8 Regression] " janus at gcc dot gnu.org
2013-12-06 10:36 ` rguenth at gcc dot gnu.org
2014-02-09 14:15 ` [Bug fortran/59395] [4.8 Regression] double free with procedure pointer component janus at gcc dot gnu.org
2014-02-09 14:35 ` janus at gcc dot gnu.org
2014-02-09 17:32 ` janus at gcc dot gnu.org
2014-02-09 17:36 ` janus at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).