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