public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "Joost.VandeVondele at mat dot ethz.ch" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug fortran/55341] address-sanitizer and Fortran
Date: Fri, 21 Dec 2012 08:04:00 -0000	[thread overview]
Message-ID: <bug-55341-4-QrQzokRGPe@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-55341-4@http.gcc.gnu.org/bugzilla/>


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

--- Comment #40 from Joost VandeVondele <Joost.VandeVondele at mat dot ethz.ch> 2012-12-21 08:03:49 UTC ---
After getting an asan instrumented libgfortran to work (thanks hjl, jakub), I'm
still getting the error message.

==66645== ERROR: AddressSanitizer: stack-buffer-overflow on address
0x7fff28abdbf0 at pc 0x4472da bp 0x7fff28abdbc0 sp 0x7fff28abdbb8
WRITE of size 4 at 0x7fff28abdbf0 thread T0
    #0 0x4472d9 in __cp_log_handling_MOD_cp_int_to_string
/data/vjoost/gnu/cp2k/cp2k/src/../src/cp_log_handling.F:882
    #1 0x6419b5 in __input_section_types_MOD_section_vals_get_subs_vals
/data/vjoost/gnu/cp2k/cp2k/src/../src/input_section_types.F:1103 (discriminator
2)
    #2 0x48a77b in __f77_interface_MOD_create_force_env
/data/vjoost/gnu/cp2k/cp2k/src/../src/f77_interface.F:817
    #3 0x41566a in __cp2k_runs_MOD_cp2k_run
/data/vjoost/gnu/cp2k/cp2k/src/../src/cp2k_runs.F:307
    #4 0x4167f2 in __cp2k_runs_MOD_run_input
/data/vjoost/gnu/cp2k/cp2k/src/../src/cp2k_runs.F:1133
    #5 0x407289 in cp2k /data/vjoost/gnu/cp2k/cp2k/src/../src/cp2k.F:285
    #6 0x40751a in main /data/vjoost/gnu/cp2k/cp2k/src/../src/cp2k.F:41
    #7 0x351661ecdc in ?? ??:0
==66645== AddressSanitizer CHECK failed:
../../../../gcc/libsanitizer/asan/asan_report.cc:149 "((name_end)) != (0)"
(0x0, 0x0)
    #0 0x7fadc8913d83 in AsanCheckFailed _asan_rtl_

The subroutine is sufficiently simple to be 'sure' there is nothing wrong
there:

  FUNCTION cp_int_to_string(i) RESULT(res)
    INTEGER, INTENT(in)                      :: i
    CHARACTER(len=6)                         :: res

    INTEGER                                  :: iostat
    REAL(KIND=dp)                            :: tmp_r

    IF (i>999999 .OR. i<-99999) THEN
       tmp_r=i
       WRITE (res,fmt='(es6.1)',iostat=iostat) tmp_r
    ELSE
       WRITE (res,fmt='(i6)',iostat=iostat) i   ! line 882
    END IF
    IF (iostat/=0) THEN
       PRINT *,"cp_int_to_string ioerror",iostat
       CALL print_stack(cp_logger_get_default_unit_nr())
    END IF
  END FUNCTION cp_int_to_string

so I'm still thinking the cause is elsewhere (also because -O0 and -O1 show
differences in behavior). I'm attaching the objdump of the module, in case this
is useful. I can also provide build instructions for our package and how to
reproduce the bug, but it is not a small reproducer, unfortunately.


  parent reply	other threads:[~2012-12-21  8:04 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-15 13:18 [Bug fortran/55341] New: " Joost.VandeVondele at mat dot ethz.ch
2012-11-15 14:03 ` [Bug fortran/55341] " Joost.VandeVondele at mat dot ethz.ch
2012-11-16 10:28 ` janus at gcc dot gnu.org
2012-11-16 10:54 ` jakub at gcc dot gnu.org
2012-11-16 10:56 ` jakub at gcc dot gnu.org
2012-11-17 12:16 ` janus at gcc dot gnu.org
2012-11-17 13:03 ` jakub at gcc dot gnu.org
2012-12-10 12:37 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-10 12:45 ` kcc at gcc dot gnu.org
2012-12-10 13:19 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-10 13:21 ` kcc at gcc dot gnu.org
2012-12-10 13:26 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-10 13:28 ` kcc at gcc dot gnu.org
2012-12-10 13:33 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-10 13:41 ` jakub at gcc dot gnu.org
2012-12-10 13:56 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-19  8:17 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-19  8:37 ` kcc at gcc dot gnu.org
2012-12-19  8:43 ` jakub at gcc dot gnu.org
2012-12-19  8:49 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-19  8:52 ` kcc at gcc dot gnu.org
2012-12-19  8:53 ` jakub at gcc dot gnu.org
2012-12-19  8:59 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-19  9:03 ` jakub at gcc dot gnu.org
2012-12-19  9:06 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-19 10:32 ` kcc at gcc dot gnu.org
2012-12-19 14:10 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-19 14:29 ` kcc at gcc dot gnu.org
2012-12-19 14:33 ` jakub at gcc dot gnu.org
2012-12-19 14:36 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-19 15:57 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-19 16:08 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-19 18:01 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-19 20:59 ` howarth at nitro dot med.uc.edu
2012-12-20 16:15 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-20 16:42 ` howarth at nitro dot med.uc.edu
2012-12-20 17:31 ` hjl.tools at gmail dot com
2012-12-20 17:42 ` howarth at nitro dot med.uc.edu
2012-12-20 17:50 ` hjl.tools at gmail dot com
2012-12-21  8:02 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-21  8:04 ` Joost.VandeVondele at mat dot ethz.ch [this message]
2012-12-21  8:11 ` kcc at gcc dot gnu.org
2012-12-21  8:19 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-21  8:23 ` kcc at gcc dot gnu.org
2012-12-22 20:54 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-23  7:44 ` kcc at gcc dot gnu.org
2012-12-23 19:45 ` Joost.VandeVondele at mat dot ethz.ch
2012-12-24 11:54 ` Joost.VandeVondele at mat dot ethz.ch
2013-01-08 17:02 ` jakub at gcc dot gnu.org
2013-01-08 17:17 ` jakub at gcc dot gnu.org
2013-01-08 17:26 ` Joost.VandeVondele at mat dot ethz.ch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-55341-4-QrQzokRGPe@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).