public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug sanitizer/55508] New: many test cases fail using -fsanitize=address with internal compiler error: in expand_call_tm
@ 2012-11-28  2:26 howarth at nitro dot med.uc.edu
  2012-11-28  2:35 ` [Bug sanitizer/55508] " howarth at nitro dot med.uc.edu
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: howarth at nitro dot med.uc.edu @ 2012-11-28  2:26 UTC (permalink / raw)
  To: gcc-bugs


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

             Bug #: 55508
           Summary: many test cases fail using -fsanitize=address with
                    internal compiler error: in expand_call_tm
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: sanitizer
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: howarth@nitro.med.uc.edu
                CC: dodji@gcc.gnu.org, dvyukov@gcc.gnu.org,
                    jakub@gcc.gnu.org, kcc@gcc.gnu.org


Using...

make -k check-gcc  RUNTESTFLAGS="--target_board=unix'{-sanitize=address}'"

on x86_64-apple-darwin12 reveals the following cc1 ICEs...

FAIL: c-c++-common/tm/20100127.c (internal compiler error)
FAIL: c-c++-common/tm/20100127.c (test for excess errors)
FAIL: c-c++-common/tm/20111206.c (internal compiler error)
FAIL: c-c++-common/tm/20111206.c (test for excess errors)
FAIL: gcc.dg/tm/20100519.c (internal compiler error)
FAIL: gcc.dg/tm/20100519.c (test for excess errors)
FAIL: gcc.dg/tm/20100610.c (internal compiler error)
FAIL: gcc.dg/tm/20100610.c (test for excess errors)
FAIL: gcc.dg/tm/20100615-2.c (internal compiler error)
FAIL: gcc.dg/tm/20100615-2.c (test for excess errors)
FAIL: gcc.dg/tm/memopt-10.c (internal compiler error)
FAIL: gcc.dg/tm/memopt-10.c (test for excess errors)
FAIL: gcc.dg/tm/memopt-10.c scan-tree-dump-times tmmark "int tm_save" 1
FAIL: gcc.dg/tm/memopt-11.c (internal compiler error)
FAIL: gcc.dg/tm/memopt-11.c (test for excess errors)
FAIL: gcc.dg/tm/memopt-11.c scan-tree-dump-times tmmark "int tm_save" 1
FAIL: gcc.dg/tm/memopt-12.c (internal compiler error)
FAIL: gcc.dg/tm/memopt-12.c (test for excess errors)
FAIL: gcc.dg/tm/memopt-16.c (internal compiler error)
FAIL: gcc.dg/tm/memopt-16.c (test for excess errors)
FAIL: gcc.dg/tm/memopt-3.c (internal compiler error)
FAIL: gcc.dg/tm/memopt-3.c (test for excess errors)
FAIL: gcc.dg/tm/memopt-3.c scan-tree-dump-times tmmark "logging:
lala.x\\[i_4\\]" 1
FAIL: gcc.dg/tm/memopt-4.c (internal compiler error)
FAIL: gcc.dg/tm/memopt-4.c (test for excess errors)
FAIL: gcc.dg/tm/memopt-5.c (internal compiler error)
FAIL: gcc.dg/tm/memopt-5.c (test for excess errors)
FAIL: gcc.dg/tm/memopt-7.c scan-tree-dump-times tmedge "tm_save.[0-9_]+ = lala"
1
FAIL: gcc.dg/tm/memopt-7.c scan-tree-dump-times tmedge "lala = tm_save" 1
FAIL: gcc.dg/tm/memopt-8.c (internal compiler error)
FAIL: gcc.dg/tm/memopt-8.c (test for excess errors)
FAIL: gcc.dg/tm/memopt-8.c scan-tree-dump-times tmmark "ITM_WU" 1
FAIL: gcc.dg/tm/memopt-9.c (internal compiler error)
FAIL: gcc.dg/tm/memopt-9.c (test for excess errors)
FAIL: gcc.dg/tm/opt-2.c (internal compiler error)
FAIL: gcc.dg/tm/opt-2.c (test for excess errors)
FAIL: gcc.dg/tm/pr47520.c (internal compiler error)
FAIL: gcc.dg/tm/pr47520.c (test for excess errors)
FAIL: gcc.dg/tm/pr51472.c (internal compiler error)
FAIL: gcc.dg/tm/pr51472.c (test for excess errors)
FAIL: gcc.dg/tm/pr52173-1.c (internal compiler error)
FAIL: gcc.dg/tm/pr52173-1.c (test for excess errors)
FAIL: gcc.dg/tm/pr53850.c (internal compiler error)
FAIL: gcc.dg/tm/pr53850.c (test for excess errors)
FAIL: gcc.dg/tm/pub-safety-1.c (internal compiler error)
FAIL: gcc.dg/tm/pub-safety-1.c (test for excess errors)
FAIL: gcc.dg/tm/reg-promotion.c (internal compiler error)
FAIL: gcc.dg/tm/reg-promotion.c (test for excess errors)
FAIL: gcc.dg/tm/vector-1.c (internal compiler error)
FAIL: gcc.dg/tm/vector-1.c (test for excess errors)

These are of the form...

Executing on host: /sw/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/gcc/xgcc
-B/sw/src/fink.build/gcc48-4.8.0-1000/darwin_objdir/gcc/
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121127/gcc/testsuite/c-c++-common/tm/20100127.c
 -fno-diagnostics-show-caret   -fgnu-tm -O -fdump-tree-tmmark -S 
-fsanitize=address -o 20100127.s    (timeout = 300)
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121127/gcc/testsuite/c-c++-common/tm/20100127.c:
In function 'test':^M
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121127/gcc/testsuite/c-c++-common/tm/20100127.c:27:6:
internal compiler error: in expand_call_tm, at trans-mem.c:2273^M
^M
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121127/gcc/testsuite/c-c++-common/tm/20100127.c:27:6:
internal compiler error: Abort trap: 6^M
xgcc: internal compiler error: Abort trap: 6 (program cc1)^M
compiler exited with status 1
output is:
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121127/gcc/testsuite/c-c++-common/tm/20100127.c:
In function 'test':^M
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121127/gcc/testsuite/c-c++-common/tm/20100127.c:27:6:
internal compiler error: in expand_call_tm, at trans-mem.c:2273^M
^M
/sw/src/fink.build/gcc48-4.8.0-1000/gcc-4.8-20121127/gcc/testsuite/c-c++-common/tm/20100127.c:27:6:
internal compiler error: Abort trap: 6^M
xgcc: internal compiler error: Abort trap: 6 (program cc1)^M

FAIL: c-c++-common/tm/20100127.c (internal compiler error)
FAIL: c-c++-common/tm/20100127.c (test for excess errors)

which backtraces as...

(gdb) bt
#0  0x00007fff90230d46 in __kill ()
#1  0x00007fff94c67df0 in abort ()
#2  0x0000000100ada524 in uw_init_context_1 (context=0x7fff5fbfed80,
outer_cfa=0x7fff5fbff030, outer_ra=0x100a63465) at
../../../gcc-4.8-20121127/libgcc/unwind-dw2.c:1502


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

* [Bug sanitizer/55508] many test cases fail using -fsanitize=address with internal compiler error: in expand_call_tm
  2012-11-28  2:26 [Bug sanitizer/55508] New: many test cases fail using -fsanitize=address with internal compiler error: in expand_call_tm howarth at nitro dot med.uc.edu
@ 2012-11-28  2:35 ` howarth at nitro dot med.uc.edu
  2012-11-28  8:45 ` jakub at gcc dot gnu.org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: howarth at nitro dot med.uc.edu @ 2012-11-28  2:35 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #1 from Jack Howarth <howarth at nitro dot med.uc.edu> 2012-11-28 02:34:47 UTC ---
Also seen on x86_64 Fedora 15 where it appears in gdb as...

/home/howarth/gcc/gcc/testsuite/c-c++-common/tm/20100127.c: In function ‘test’:
/home/howarth/gcc/gcc/testsuite/c-c++-common/tm/20100127.c:27:6: internal
compiler error: in expand_call_tm, at trans-mem.c:2273
0x8e9ce9 expand_call_tm
    ../../gcc/gcc/trans-mem.c:2273
0x8e9ef4 expand_block_tm
    ../../gcc/gcc/trans-mem.c:2379
0x8e9ef4 execute_tm_mark
    ../../gcc/gcc/trans-mem.c:2841


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

* [Bug sanitizer/55508] many test cases fail using -fsanitize=address with internal compiler error: in expand_call_tm
  2012-11-28  2:26 [Bug sanitizer/55508] New: many test cases fail using -fsanitize=address with internal compiler error: in expand_call_tm howarth at nitro dot med.uc.edu
  2012-11-28  2:35 ` [Bug sanitizer/55508] " howarth at nitro dot med.uc.edu
@ 2012-11-28  8:45 ` jakub at gcc dot gnu.org
  2012-11-28 18:57 ` howarth at nitro dot med.uc.edu
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-11-28  8:45 UTC (permalink / raw)
  To: gcc-bugs


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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |aldyh at gcc dot gnu.org,
                   |                            |torvald at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-11-28 08:44:46 UTC ---
This is because the calls (with my pending patch builtins, but that hasn't been
reviewed yet) are added in between lower_tm? pass and the final tm
transformation pass, and there is
      /* We can have a nodeless call here if some pass after IPA-tm
         added uninstrumented calls.  For example, loop distribution
         can transform certain loop constructs into __builtin_mem*
         calls.  In this case, see if we have a suitable TM
         replacement and fill in the gaps.  */
      gcc_assert (DECL_BUILT_IN_CLASS (fn_decl) == BUILT_IN_NORMAL);
      enum built_in_function code = DECL_FUNCTION_CODE (fn_decl);
      gcc_assert (code == BUILT_IN_MEMCPY
                  || code == BUILT_IN_MEMMOVE
                  || code == BUILT_IN_MEMSET);
The question is what to do with the asan/tsan library calls in transactions. 
The asan report calls are just verification functions, which for normal
programs shouldn't have any visible effect, so perhaps we could lie about them
and say that they are transaction_safe (or transaction_callable?, dunno which)
and create cgraph nodes for them and clear node->local.tm_may_enter_irr,
basically pretend they aren't there.
For tsan the question is whether even that is useful at all when tsan doesn't
wrap begin/end/abort transaction library calls and doesn't take transactions
into account at all.


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

* [Bug sanitizer/55508] many test cases fail using -fsanitize=address with internal compiler error: in expand_call_tm
  2012-11-28  2:26 [Bug sanitizer/55508] New: many test cases fail using -fsanitize=address with internal compiler error: in expand_call_tm howarth at nitro dot med.uc.edu
  2012-11-28  2:35 ` [Bug sanitizer/55508] " howarth at nitro dot med.uc.edu
  2012-11-28  8:45 ` jakub at gcc dot gnu.org
@ 2012-11-28 18:57 ` howarth at nitro dot med.uc.edu
  2012-12-12 23:05 ` jakub at gcc dot gnu.org
  2012-12-13 15:46 ` howarth at nitro dot med.uc.edu
  4 siblings, 0 replies; 6+ messages in thread
From: howarth at nitro dot med.uc.edu @ 2012-11-28 18:57 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #3 from Jack Howarth <howarth at nitro dot med.uc.edu> 2012-11-28 18:57:10 UTC ---
This failure in expand_call_tm, at trans-mem.c:2273 is also seen in the libitm
testsuite for...

FAIL: libitm.c/dropref-2.c (internal compiler error)
FAIL: libitm.c/dropref-2.c (test for excess errors)
FAIL: libitm.c/stackundo.c (internal compiler error)
FAIL: libitm.c/stackundo.c (test for excess errors)


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

* [Bug sanitizer/55508] many test cases fail using -fsanitize=address with internal compiler error: in expand_call_tm
  2012-11-28  2:26 [Bug sanitizer/55508] New: many test cases fail using -fsanitize=address with internal compiler error: in expand_call_tm howarth at nitro dot med.uc.edu
                   ` (2 preceding siblings ...)
  2012-11-28 18:57 ` howarth at nitro dot med.uc.edu
@ 2012-12-12 23:05 ` jakub at gcc dot gnu.org
  2012-12-13 15:46 ` howarth at nitro dot med.uc.edu
  4 siblings, 0 replies; 6+ messages in thread
From: jakub at gcc dot gnu.org @ 2012-12-12 23:05 UTC (permalink / raw)
  To: gcc-bugs


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

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-12-12 23:05:27 UTC ---
Author: jakub
Date: Wed Dec 12 23:05:23 2012
New Revision: 194459

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194459
Log:
    PR sanitizer/55508
    * builtin-attrs.def (ATTR_TMPURE_NOTHROW_LEAF_LIST,
    ATTR_TMPURE_NORETURN_NOTHROW_LEAF_LIST): New.
    * asan.c (ATTR_TMPURE_NOTHROW_LEAF_LIST,
    ATTR_TMPURE_NORETURN_NOTHROW_LEAF_LIST): Define.
    * sanitizer.def: Make __asan_report_* and __asan_handle_no_return
    builtins tm pure.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/asan.c
    trunk/gcc/builtin-attrs.def
    trunk/gcc/sanitizer.def


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

* [Bug sanitizer/55508] many test cases fail using -fsanitize=address with internal compiler error: in expand_call_tm
  2012-11-28  2:26 [Bug sanitizer/55508] New: many test cases fail using -fsanitize=address with internal compiler error: in expand_call_tm howarth at nitro dot med.uc.edu
                   ` (3 preceding siblings ...)
  2012-12-12 23:05 ` jakub at gcc dot gnu.org
@ 2012-12-13 15:46 ` howarth at nitro dot med.uc.edu
  4 siblings, 0 replies; 6+ messages in thread
From: howarth at nitro dot med.uc.edu @ 2012-12-13 15:46 UTC (permalink / raw)
  To: gcc-bugs


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

Jack Howarth <howarth at nitro dot med.uc.edu> changed:

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

--- Comment #5 from Jack Howarth <howarth at nitro dot med.uc.edu> 2012-12-13 15:46:22 UTC ---
Confirmed fixed at r194459 on x86_64-apple-darwin12.


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

end of thread, other threads:[~2012-12-13 15:46 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-28  2:26 [Bug sanitizer/55508] New: many test cases fail using -fsanitize=address with internal compiler error: in expand_call_tm howarth at nitro dot med.uc.edu
2012-11-28  2:35 ` [Bug sanitizer/55508] " howarth at nitro dot med.uc.edu
2012-11-28  8:45 ` jakub at gcc dot gnu.org
2012-11-28 18:57 ` howarth at nitro dot med.uc.edu
2012-12-12 23:05 ` jakub at gcc dot gnu.org
2012-12-13 15:46 ` howarth at nitro dot med.uc.edu

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).