You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@stdcxx.apache.org by "Liviu Nicoara (JIRA)" <ji...@apache.org> on 2012/09/23 17:35:07 UTC

[jira] [Commented] (STDCXX-853) [Sun C++ 5.9/Solaris 10/SPARC] assertions in atomic_xchg on __rw_atomic_exchange(short&, short)

    [ https://issues.apache.org/jira/browse/STDCXX-853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13461443#comment-13461443 ] 

Liviu Nicoara commented on STDCXX-853:
--------------------------------------

Narrowed it down to aggressive optimization, fixed in r1388733.
                
> [Sun C++ 5.9/Solaris 10/SPARC] assertions in atomic_xchg on __rw_atomic_exchange(short&, short)
> -----------------------------------------------------------------------------------------------
>
>                 Key: STDCXX-853
>                 URL: https://issues.apache.org/jira/browse/STDCXX-853
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Tests
>    Affects Versions: 4.2.1
>         Environment: Sun C++ 5.9/Solaris 10/SPARC
>            Reporter: Martin Sebor
>            Priority: Minor
>             Fix For: 4.2.2
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> When compiled with Sun C++ 5.9 (but not prior versions) in 12{d,D,s,S} mode on Solaris/SPARC (but not AMD64) the [{{atomic_xchg.cpp}}|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/support/atomic_xchg.cpp] test consistently fails the same two assertions while exercising the {{\_\_rw_atomic_exchange (short&, short)}} overload. The test passes all assertions when compiled with gcc 4.1 on the same system.
> {noformat}
> CC -c -mt -I$TOPDIR//include -I/build/sebor/stdcxx-suncc-5.9_j1-12d/include -I$TOPDIR//tests/include  -library=%none -O  -m32 +w -errtags -erroff=hidef   $TOPDIR//tests/support/atomic_xchg.cpp
> CC atomic_xchg.o -o atomic_xchg -L/build/sebor/stdcxx-suncc-5.9_j1-12d/rwtest -lrwtest12d -library=%none  -mt  -m32 -L/build/sebor/stdcxx-suncc-5.9_j1-12d/lib  -R/build/sebor/stdcxx-suncc-5.9_j1-12d/lib:/build/sebor/stdcxx-suncc-5.9_j1-12d/rwtest -lstd12d  -lm 
> tests$ 
> tests$ 
> tests$ ./atomic_xchg -q
> thread 0 starting
> thread 1 starting
> thread 2 starting
> thread 3 starting
> thread 0 performed 2173644 exchanges in 1125068 iterations (93% increments)
> thread 1 performed 3122578 exchanges in 2074002 iterations (50% increments)
> thread 2 performed 3722299 exchanges in 2673723 iterations (39% increments)
> thread 3 performed 2141239 exchanges in 1092663 iterations (95% increments)
> thread 0 starting
> thread 1 starting
> thread 2 starting
> thread 3 starting
> thread 0 performed 3107666 exchanges in 2059090 iterations (50% increments)
> thread 1 performed 2624636 exchanges in 1576060 iterations (66% increments)
> thread 2 performed 3256545 exchanges in 2207969 iterations (47% increments)
> thread 3 performed 2539901 exchanges in 1491325 iterations (70% increments)
> thread 0 starting
> thread 2 starting
> thread 1 starting
> thread 3 starting
> thread 0 performed 2235989 exchanges in 1187413 iterations (88% increments)
> thread 1 performed 2600206 exchanges in 1551630 iterations (67% increments)
> thread 2 performed 4103850 exchanges in 3055274 iterations (34% increments)
> thread 3 performed 4124742 exchanges in 3076166 iterations (34% increments)
> thread 0 starting
> thread 1 starting
> thread 3 starting
> thread 2 starting
> thread 0 performed 2554852 exchanges in 1506276 iterations (69% increments)
> thread 1 performed 2996243 exchanges in 1947667 iterations (53% increments)
> thread 2 performed 2289139 exchanges in 1240563 iterations (84% increments)
> thread 3 performed 2810976 exchanges in 1762400 iterations (59% increments)
> # ASSERTION (S7) (3 lines):
> # TEXT: 1. __rw_atomic_exchange (short&, short); 33 == 1 failed
> # LINE: 311
> # ASSERTION (S7) (3 lines):
> # TEXT: 2. __rw_atomic_exchange (short&, short); 33 == 1 failed
> # LINE: 315
> thread 0 starting
> thread 3 starting
> thread 1 starting
> thread 2 starting
> thread 0 performed 3487158 exchanges in 2438582 iterations (42% increments)
> thread 1 performed 2938034 exchanges in 1889458 iterations (55% increments)
> thread 2 performed 3610858 exchanges in 2562282 iterations (40% increments)
> thread 3 performed 2949089 exchanges in 1900513 iterations (55% increments)
> thread 0 starting
> thread 3 starting
> thread 2 starting
> thread 1 starting
> thread 0 performed 2453557 exchanges in 1404981 iterations (74% increments)
> thread 1 performed 2343445 exchanges in 1294869 iterations (80% increments)
> thread 2 performed 2304791 exchanges in 1256215 iterations (83% increments)
> thread 3 performed 2342867 exchanges in 1294291 iterations (81% increments)
> thread 0 starting
> thread 2 starting
> thread 1 starting
> thread 3 starting
> thread 0 performed 5889215 exchanges in 4840639 iterations (21% increments)
> thread 1 performed 2959813 exchanges in 1911237 iterations (54% increments)
> thread 2 performed 2786398 exchanges in 1737822 iterations (60% increments)
> thread 3 performed 3926325 exchanges in 2877749 iterations (36% increments)
> thread 0 starting
> thread 1 starting
> thread 2 starting
> thread 3 starting
> thread 0 performed 2257405 exchanges in 1208829 iterations (86% increments)
> thread 1 performed 2468463 exchanges in 1419887 iterations (73% increments)
> thread 2 performed 2284555 exchanges in 1235979 iterations (84% increments)
> thread 3 performed 3593976 exchanges in 2545400 iterations (41% increments)
> thread 0 starting
> thread 2 starting
> thread 1 starting
> thread 3 starting
> thread 0 performed 4060578 exchanges in 3012002 iterations (34% increments)
> thread 1 performed 2982578 exchanges in 1934002 iterations (54% increments)
> thread 2 performed 2921234 exchanges in 1872658 iterations (55% increments)
> thread 3 performed 3725651 exchanges in 2677075 iterations (39% increments)
> thread 0 starting
> thread 1 starting
> thread 2 starting
> thread 3 starting
> thread 0 performed 4039542 exchanges in 2990966 iterations (35% increments)
> thread 1 performed 2772242 exchanges in 1723666 iterations (60% increments)
> thread 2 performed 2465248 exchanges in 1416672 iterations (74% increments)
> thread 3 performed 3578795 exchanges in 2530219 iterations (41% increments)
> thread 0 starting
> thread 3 starting
> thread 2 starting
> thread 1 starting
> thread 0 performed 2835485 exchanges in 1786909 iterations (58% increments)
> thread 1 performed 3238388 exchanges in 2189812 iterations (47% increments)
> thread 2 performed 2558681 exchanges in 1510105 iterations (69% increments)
> thread 3 performed 2167577 exchanges in 1119001 iterations (93% increments)
> # +-----------------------+----------+----------+----------+
> # | DIAGNOSTIC            |  ACTIVE  |   TOTAL  | INACTIVE |
> # +-----------------------+----------+----------+----------+
> # | (S1) INFO             |       12 |       12 |       0% |
> # | (S7) ASSERTION        |        2 |       22 |      90% |
> # | (S8) ERROR            |        0 |       44 |     100% |
> # | (S9) FATAL            |        0 |       44 |     100% |
> # +-----------------------+----------+----------+----------+
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira