You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@stdcxx.apache.org by "Martin Sebor (JIRA)" <ji...@apache.org> on 2008/03/20 23:35:26 UTC

[jira] Commented: (STDCXX-87) [Sun C++ 5.9] RUI in std::set::insert()

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

Martin Sebor commented on STDCXX-87:
------------------------------------

Here's a reduced test case to narrow it down:
{noformat}
#include <cassert>
#include <set>

int main ()
{
    typedef __rw::__ident<int, int> Ident;
    typedef std::less<int>          Less;
    typedef std::allocator<int>     Allocator;

    typedef __rw::__rb_tree<int, int, Ident, Less, Allocator> Tree;

    Tree x;

    std::pair<Tree::iterator, bool> ret;

    x._C_insert (0, ret, false);

    assert (1 == x.size ());
}
{noformat}

Reduced dbx output for this test case (with uninteresting detail removed):
{noformat}
Read from uninitialized (rui) on thread 1:
Attempting to read 7 bytes at address 0xfffffd7fffdff719
    which is 153 bytes above the current stack pointer
t@1 (l@1) stopped in pair<__rw_tree_iter<...>,bool>::operator= at 0x0000000000404910
0x0000000000404910: operator=+0x0020:   hlt      
(dbx) where
current thread: t@1
=>[1] pair<__rw_tree_iter<...>,bool>::operator=(0xfffffd7fffdff7e8, 0xfffffd7fffdff710, 0xfffffd7fffdff707, 0x419e48, 0x419e70, 0xfffffd7fffdff710), at 0x404910 
  [2] __rb_tree<int,int,...>::_C_insert(this = 0xfffffd7fffdff7e8, __v = 4300400, __ret = STRUCT, __dup = false), line 318 in "_tree.cc"
  [3] __rb_tree<int,int,...>::_C_insert(this = 0xfffffd7fffdff800, __v = 0, __ret = STRUCT, __dup = false), line 318 in "_tree.cc"
  [4] main(), line 14 in "t.cpp"
{noformat}


> [Sun C++ 5.9] RUI in std::set::insert()
> ---------------------------------------
>
>                 Key: STDCXX-87
>                 URL: https://issues.apache.org/jira/browse/STDCXX-87
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: 23. Containers
>    Affects Versions: 4.1.2, 4.1.3, 4.1.4
>         Environment: SunPro 5.7, 5.9/Solaris 10
>            Reporter: Martin Sebor
>            Assignee: Martin Sebor
>             Fix For: 4.2.1
>
>   Original Estimate: 4h
>  Remaining Estimate: 4h
>
> This test case was distilled from the one posted in this thread:
> http://mail-archives.apache.org/mod_mbox/incubator-stdcxx-dev/200512.mbox/%3c4FA4B7B3231C5D459E7BAD020213A94201F5F481@bco-exchange.bco.roguewave.com%3e
> $ cat t.cpp && nice gmake t && dbx -q t
> #include <set>
> int main()
> {
>     std::set<int>().insert (0);
> }
> generating dependencies for t.cpp
> CC -c -D_RWSTDDEBUG    -D_RWSTD_USE_CONFIG -I/build/sebor/sunpro-5.7.j4-11s/include -I/build/sebor/dev/stdlib/include -I/build/sebor/dev/stdlib/examples/include  -library=%none -g  +w  t.cpp
> CC t.o -o t -library=%none -L/build/sebor/sunpro-5.7.j4-11s/lib   -L/build/sebor/sunpro-5.7.j4-11s/lib -lstd11s   -lm
> ^C^Chave seen 2 interrupts
> dbx: warning: wait for process 24188 failed -- Interrupted system call
> dbx: dbx interrupted!
> (dbx) check -all
> access checking - ON
> memuse checking - ON
> (dbx) run
> Running: t 
> (process id 24234)
> RTC: Enabling Error Checking...
> RTC: Running program...
> Read from uninitialized (rui):
> Attempting to read 3 bytes at address 0xffbff821
>     which is 265 bytes above the current stack pointer
> stopped in std::pair<__rw::__rw_debug_iter<__rw::__rb_tree<int,int,__rw::__ident<int,int>,std::less<int>,std::allocator<int> >,__rw::__rw_tree_iter<int,int,int*,int&,__rw::__rw_rb_tree_node<std::allocator<int>,int,int,__rw::__ident<int,int> > >,__rw::__rw_tree_iter<int,int,int*,int&,__rw::__rw_rb_tree_node<std::allocator<int>,int,int,__rw::__ident<int,int> > > >,bool>::operator= at 0x0001cd3c
> 0x0001cd3c: operator=+0x0024:   ba,a     0x00049b3c     ! 0x49b3c

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.