[
https://issues.apache.org/jira/browse/STDCXX-813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Sebor reassigned STDCXX-813:
-----------------------------------
Assignee: Martin Sebor
> runtime failure in 27.objects
> -----------------------------
>
> Key: STDCXX-813
> URL: https://issues.apache.org/jira/browse/STDCXX-813
> Project: C++ Standard Library
> Issue Type: Bug
> Components: Tests
> Affects Versions: trunk
> Environment: CC: Sun C++ 5.9 SunOS_sparc Patch 124863-01 2007/07/25
> Reporter: Martin Sebor
> Assignee: Martin Sebor
> Priority: Blocker
> Fix For: 4.2.1
>
>
> The
> [27.objects|http://svn.apache.org/repos/asf/stdcxx/trunk/tests/iostream/27.objects.cpp]
> test seems to get itself into an infinite recursion -- see below. This was
> observed with Sun C++ 5.9 but the test seems to be failing on other platforms
> (e.g., IBM XLC++ on AIX or HP aCC 6.16 on HP-UX/IPF ) as well.
> {noformat}
> $ nice gmake -r 27.objects && dbx -q -c"check -all;run;where" 27.objects
> CC -c -D_RWSTDDEBUG -mt -I/amd/devco/sebor/stdcxx/include
> -I/build/sebor/stdcxx-suncc-5.9_j1-15D/i
> nclude -I/amd/devco/sebor/stdcxx/tests/include -library=%none -g -m64 +w
> -errtags -erroff=hidef
> /amd/devco/sebor/stdcxx/tests/iostream/27.objects.cpp
> CC 27.objects.o -o 27.objects -L/build/sebor/stdcxx-suncc-5.9_j1-15D/rwtest
> -lrwtest15D -library=%no
> ne -mt -m64 -L/build/sebor/stdcxx-suncc-5.9_j1-15D/lib
> -R/build/sebor/stdcxx-suncc-5.9_j1-15D/lib
> :/build/sebor/stdcxx-suncc-5.9_j1-15D/rwtest -lstd15D -lm
> rm 27.objects.o
> access checking - ON
> memuse checking - ON
> Running: 27.objects
> (process id 6866)
> RTC: Enabling Error Checking...
> RTC: Running program...
> # INFO (S1) (10 lines):
> # TEXT:
> # COMPILER: SunPro, __SUNPRO_CC = 0x590
> # ENVIRONMENT: sparc-v9 running sunos-5.10
> # FILE: 27.objects.cpp
> # COMPILED: Mar 30 2008, 13:46:10
> # COMMENT:
> ############################################################
> # CLAUSE: lib.iostream.objects
> # INFO (S1) (3 lines):
> # TEXT: checking whether objects are initialized
> # CLAUSE: lib.iostream.objects
> # INFO (S1) (4 lines):
> # TEXT: checking tied stream objects
> # CLAUSE: lib.iostream.objects
> # LINE: 151
> # INFO (S1) (4 lines):
> # TEXT: checking for std::ios_base::unitbuf in flags
> # CLAUSE: lib.iostream.objects
> # LINE: 168
> 000000
> # INFO (S1) (4 lines):
> # TEXT: exercising the ability to tie each stream to itself without causing a
> deadlock
> # CLAUSE: lib.iostream.objects
> # LINE: 242
> [replacement operator new (72)]
> ffffffff6b7219d0 [replacement operator new (72)]
> ffffffff6b721d00 [replacement operator new (72)]
> ffffffff6b722030 [replacement operator new (72)]
> ffffffff6b722ca0 [replacement operator new (72)]
> ffffffff6b7235d0 [replacement operator new (72)]
> ffffffff6b723f00 # INFO (S1) (4 lines):
> # TEXT: exercising the ability to tie stream objects together without causing
> a deadlock
> # CLAUSE: lib.iostream.objects
> # LINE: 268
> ffffffff6b721d00 [EMAIL PROTECTED] ([EMAIL PROTECTED]) signal SEGV (no
> mapping at the fault address) in get_quick_stack_info at
> 0xffffffff71d255a0
> 0xffffffff71d255a0: get_quick_stack_info+0x0014: stx %o0, [%i0]
> Current function is __rw::__rw_mutex_base::_C_acquire
> 329 if (0 != _RWSTD_MUTEX_LOCK (_C_mutex))
> current thread: [EMAIL PROTECTED]
> =>[1] __rw::__rw_mutex_base::_C_acquire(this = 0x100011000), line 329 in
> "_mutex.h"
> [2] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f8004f8, __mutex =
> CLASS), line 560 in "_mutex.h"
> [3] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f8006b8), line 586 in "exception.cpp"
> [4] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [5] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [6] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f800908, __mutex =
> CLASS), line 560 in "_mutex.h"
> [7] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f800ac8), line 586 in "exception.cpp"
> [8] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [9] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [10] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f800d18, __mutex =
> CLASS), line 560 in "_mutex.h"
> [11] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f800ed8), line 586 in "exception.cpp"
> [12] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [13] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [14] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f801128, __mutex =
> CLASS), line 560 in "_mutex.h"
> [15] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f8012e8), line 586 in "exception.cpp"
> [16] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [17] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [18] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f801538, __mutex =
> CLASS), line 560 in "_mutex.h"
> [19] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f8016f8), line 586 in "exception.cpp"
> [20] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [21] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [22] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f801948, __mutex =
> CLASS), line 560 in "_mutex.h"
> [23] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f801b08), line 586 in "exception.cpp"
> [24] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [25] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [26] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f801d58, __mutex =
> CLASS), line 560 in "_mutex.h"
> [27] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f801f18), line 586 in "exception.cpp"
> [28] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [29] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [30] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f802168, __mutex =
> CLASS), line 560 in "_mutex.h"
> [31] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f802328), line 586 in "exception.cpp"
> [32] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [33] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [34] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f802578, __mutex =
> CLASS), line 560 in "_mutex.h"
> [35] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f802738), line 586 in "exception.cpp"
> [36] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [37] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [38] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f802988, __mutex =
> CLASS), line 560 in "_mutex.h"
> [39] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f802b48), line 586 in "exception.cpp"
> [40] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [41] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [42] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f802d98, __mutex =
> CLASS), line 560 in "_mutex.h"
> [43] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f802f58), line 586 in "exception.cpp"
> [44] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [45] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [46] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f8031a8, __mutex =
> CLASS), line 560 in "_mutex.h"
> [47] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f803368), line 586 in "exception.cpp"
> [48] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [49] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [50] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f8035b8, __mutex =
> CLASS), line 560 in "_mutex.h"
> [51] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f803778), line 586 in "exception.cpp"
> [52] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [53] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [54] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f8039c8, __mutex =
> CLASS), line 560 in "_mutex.h"
> [55] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f803b88), line 586 in "exception.cpp"
> [56] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [57] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [58] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f803dd8, __mutex =
> CLASS), line 560 in "_mutex.h"
> [59] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f803f98), line 586 in "exception.cpp"
> [60] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [61] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [62] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f8041e8, __mutex =
> CLASS), line 560 in "_mutex.h"
> [63] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f8043a8), line 586 in "exception.cpp"
> [64] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [65] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [66] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f8045f8, __mutex =
> CLASS), line 560 in "_mutex.h"
> [67] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f8047b8), line 586 in "exception.cpp"
> [68] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [69] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [70] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f804a08, __mutex =
> CLASS), line 560 in "_mutex.h"
> [71] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f804bc8), line 586 in "exception.cpp"
> [72] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [73] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [74] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f804e18, __mutex =
> CLASS), line 560 in "_mutex.h"
> [75] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f804fd8), line 586 in "exception.cpp"
> [76] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [77] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [78] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f805228, __mutex =
> CLASS), line 560 in "_mutex.h"
> [79] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f8053e8), line 586 in "exception.cpp"
> [80] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [81] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [82] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f805638, __mutex =
> CLASS), line 560 in "_mutex.h"
> [83] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f8057f8), line 586 in "exception.cpp"
> [84] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [85] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [86] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f805a48, __mutex =
> CLASS), line 560 in "_mutex.h"
> [87] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f805c08), line 586 in "exception.cpp"
> [88] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [89] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [90] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f805e58, __mutex =
> CLASS), line 560 in "_mutex.h"
> [91] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f806018), line 586 in "exception.cpp"
> [92] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [93] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [94] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f806268, __mutex =
> CLASS), line 560 in "_mutex.h"
> [95] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f806428), line 586 in "exception.cpp"
> [96] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> [97] __rw::__rw_mutex_base::_C_acquire(this = 0xffffffff6b719398), line 330
> in "_mutex.h"
> [98] __rw::__rw_guard::__rw_guard(this = 0xffffffff7f806678, __mutex =
> CLASS), line 560 in "_mutex.h"
> [99] __rw::__rw_vfmtwhat(buf = (nil), bufsize = 0, id = 10, va =
> 0xffffffff7f806838), line 586 in "exception.cpp"
> [100] __rw::__rw_throw(id = 10, ...), line 825 in "exception.cpp"
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.