stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: regression in set::insert() (was: Re: __rw::__string_ref::size sigsegv)
Date Fri, 21 Mar 2008 01:28:27 GMT
I guess never mind the UMR/RUI question. The dbx RUI is probably
caused by a compiler (or dbx) bug. It would be interesting to do
a comparison with gcc to see if dbx also complains about an RUI.

Here's my test case for the bug:
http://issues.apache.org/jira/browse/STDCXX-87?focusedCommentId=12580978#action_12580978

Martin Sebor wrote:
> Travis Vitek wrote:
>>
>>
>> Martin Sebor wrote:
>>> Travis Vitek wrote:
>>>>
>>>> Martin Sebor wrote:
>>>>> I suspect the SEGV discussed in the thread below is due to the patch
>>>>> for STDCXX-216: http://svn.apache.org/viewcvs?view=rev&rev=616673
>>>>>
>>>>> Reverting the patch makes the error go away. Travis, can you look
>>>>> into it when you have a moment please?
>>>>>
>>>>> Thanks
>>>>> Martin
>>>>>
>>>> Yes, I see the error. I'm creating a patch and a regression test right
>>>> now. 
>>> Thanks!
>>>
>>> We'll need to take some time to write robust tests for the associative
>>> containers, just like Farid did for sequences last year. Otherwise it's
>>> far to easy to inadvertently introduce regressions. The tests we have
>>> are probably completely inadequate.
>>>
>>> We also need to put together some sort of a regression hunter. With all
>>> the failures we still have in our test suite it's impossible to tell if
>>> one or more of them is a regression.
>>>
>>> Martin
>>>
>>
>> Committed to trunk in 
>> http://svn.apache.org/viewvc?view=rev&revision=639495.
> 
> Great, many thanks! Btw., in your ChangeLog you mention avoiding UMR.
> I applied your patch but still get the dbx RUI that STDCXX-87 talks
> about (see below). Was the UMR something different?
> 
> 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 
> std::pair<__rw::__rw_tree_iter<int,long,int*,int&,__rw::__rw_rb_tree_node<std::allocator<int>,int,int,__rw::__ident<int,int>

>  > >,bool>::operator= at 0x0000000000404910
> 0x0000000000404910: operator=+0x0020:   hlt
> 
> Martin
> 


Mime
View raw message