Building recent master, at least on Fedora 18 with --enable-dbgutil,
fails in various tests due to problems in mdds headers, likely since
<http://cgit.freedesktop.org/libreoffice/core/commit/?id=9785579ed0ec8e2e3e826c7e4cbbcaf51f8cb0d4>
"Update mdds to 0.8.1."
I came up with the attached quick-hack workaround for the first problem
encountered, but only to run into the next problem below in
JunitTest_sc_unoapi soon after, so gave up.
Kohei, please fix these problems.
Stephan
/usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../include/c++/4.7.2/debug/safe_iterator.h:493:
error: attempt to compare iterators from different sequences.
Objects involved in the operation:
iterator "lhs" @ 0x0x2aaad88af368 {
type =
N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPPN4mdds17multi_type_vectorINS3_3mtv18custom_block_func1ILi51ENS5_21default_element_blockILi51EN2sc12CellTextAttrEEEEEE5blockENSt9__cxx19986vectorISE_SaISE_EEEEENSt7__debug6vectorISE_SI_EEEE
(mutable iterator);
state = past-the-end;
references sequence with type
`NSt7__debug6vectorIPN4mdds17multi_type_vectorINS1_3mtv18custom_block_func1ILi51ENS3_21default_element_blockILi51EN2sc12CellTextAttrEEEEEE5blockESaISC_EEE'
@ 0x0x2aaad88af368
}
iterator "rhs" @ 0x0x2aaacca5b3b0 {
type =
N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPKPN4mdds17multi_type_vectorINS3_3mtv18custom_block_func1ILi51ENS5_21default_element_blockILi51EN2sc12CellTextAttrEEEEEE5blockENSt9__cxx19986vectorISE_SaISE_EEEEENSt7__debug6vectorISE_SJ_EEEE
(constant iterator);
state = past-the-end;
references sequence with type
`NSt7__debug6vectorIPN4mdds17multi_type_vectorINS1_3mtv18custom_block_func1ILi51ENS3_21default_element_blockILi51EN2sc12CellTextAttrEEEEEE5blockESaISC_EEE'
@ 0x0x2aaacca5b3b0
}
#13 <signal handler called>
#14 0x0000003c80635ba5 in __GI_raise (sig=sig@entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:63
#15 0x0000003c80637358 in __GI_abort () at abort.c:90
#16 0x0000003c82eb193d in __gnu_debug::_Error_formatter::_M_error
(this=0x2aaacca5b120) at ../../../../../libstdc++-v3/src/c++11/debug.cc:777
#17 0x00002aaacd327a87 in __gnu_debug::operator==<__gnu_cxx::__normal_iterator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<51, mdds::mtv::default_element_block<51, sc::CellTextAttr> > >::block**,
std::__cxx1998::vector<mdds::multi_type_vector<mdds::mtv::custom_block_func1<51, mdds::mtv::default_element_block<51, sc::CellTextAttr> > >::block*,
std::allocator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<51, mdds::mtv::default_element_block<51, sc::CellTextAttr> > >::block*> > >,
__gnu_cxx::__normal_iterator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<51, mdds::mtv::default_element_block<51, sc::CellTextAttr> > >::block* const*,
std::__cxx1998::vector<mdds::multi_type_vector<mdds::mtv::custom_block_func1<51, mdds::mtv::default_element_block<51, sc::CellTextAttr> > >::block*,
std::allocator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<51, mdds::mtv::default_element_block<51, sc::CellTextAttr> > >::block*> > >, std::__debug::vector<mdds::mu!
lti_type_v
ector<mdds::mtv::custom_block_func1<51, mdds::mtv::default_element_block<51, sc::CellTextAttr> > >::block*,
std::allocator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<51, mdds::mtv::default_element_block<51,
sc::CellTextAttr> > >::block*> > > (__lhs=, __rhs=) at
/usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../include/c++/4.7.2/debug/safe_iterator.h:490
#18 0x00002aaacd322697 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<51,
mdds::mtv::default_element_block<51, sc::CellTextAttr> > >::get_block_position
(this=0x2aaad87abbb0, pos_hint=..., pos=0, start_row=@0x2aaacca5b448: 0,
block_index=@0x2aaacca5b440: 0) at
workdir/unxlngx6/UnpackedTarball/mdds/include/mdds/multi_type_vector_def.inl:507
#19 0x00002aaacd31da97 in mdds::multi_type_vector<mdds::mtv::custom_block_func1<51,
mdds::mtv::default_element_block<51, sc::CellTextAttr> > >::set<sc::CellTextAttr>
(this=0x2aaad87abbb0, pos_hint=..., pos=0, value=...) at
workdir/unxlngx6/UnpackedTarball/mdds/include/mdds/multi_type_vector_def.inl:209
#20 0x00002aaacd317da7 in ScColumn::SetCell (this=0x2aaad87abbb0,
rBlockPos=..., nRow=0, pNewCell=0x2aaafa5c91d0) at
sc/source/core/data/column2.cxx:1508
#21 0x00002aaacd333aa0 in ScColumn::Insert (this=0x2aaad87abbb0, rBlockPos=...,
nRow=0, pNewCell=0x2aaafa5c91d0) at sc/source/core/data/column3.cxx:83
#22 0x00002aaacd29bc02 in ScColumn::CopyToColumn (this=0x2aab64078cf0,
rCxt=..., nRow1=0, nRow2=3, nFlags=255, bMarked=false, rColumn=...,
pMarkData=0x2aaacca5c010, bAsLink=false) at sc/source/core/data/column.cxx:1466
#23 0x00002aaacd29b6db in ScColumn::CopyToColumn (this=0x2aab64078cf0,
rCxt=..., nRow1=0, nRow2=1048575, nFlags=255, bMarked=true, rColumn=...,
pMarkData=0x2aaacca5c010, bAsLink=false) at sc/source/core/data/column.cxx:1386
#24 0x00002aaacd5a8ec8 in ScTable::CopyToTable (this=0x2aab64078a60, rCxt=...,
nCol1=0, nRow1=0, nCol2=1023, nRow2=1048575, nFlags=255, bMarked=true,
pDestTab=0x2aaad87ab920, pMarkData=0x2aaacca5c010, bAsLink=false,
bColRowFlags=true) at sc/source/core/data/table2.cxx:1035
#25 0x00002aaacd38df9e in ScDocument::CopyTab (this=0x2aab6404a098, nOldPos=0,
nNewPos=1, pOnlyMarked=0x2aaacca5c010) at sc/source/core/data/documen2.cxx:862
#26 0x00002aaacda5c4a4 in ScDocShell::MakeScenario (this=0x2aab64049fa0, nTab=0,
rName="ScScenarios", rComment="Range", rColor=rgb(192, 192, 192), nFlags=78,
rMark=..., bRecord=1 '\001') at sc/source/ui/docshell/docsh5.cxx:768
#27 0x00002aaacdc9b003 in ScScenariosObj::addNewByName (this=0x2aab13185a98,
aName="ScScenarios", aRanges=uno::Sequence of length 1 = {...},
aComment="Range") at sc/source/ui/unoobj/docuno.cxx:3627
#28 0x00002aaabca937e6 in gcc3::callVirtualMethod(void*, unsigned int, void*,
_typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int,
unsigned long*, unsigned int, double*, unsigned int) () from
solver/unxlngx6/installation/opt/ure/lib/libgcc3_uno.so
#29 0x00002aaabca926c0 in cpp_call (pThis=0x2aab640fc740, aVtableSlot=...,
pReturnTypeRef=0x2521330, nParams=3, pParams=0x2aaad4018e50, pUnoReturn=0x0,
pUnoArgs=0x2aaad8848da0, ppUnoExc=0x2aaacca5c6a8) at
bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:237
#30 0x00002aaabca93203 in bridges::cpp_uno::shared::unoInterfaceProxyDispatch
(pUnoI=0x2aab640fc740, pMemberDescr=0x2aaad400e410, pReturn=0x0,
pArgs=0x2aaad8848da0, ppException=0x2aaacca5c6a8) at
bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:430
#31 0x00002aaabe17215f in binaryurp::IncomingRequest::execute_throw
(this=0x2aaad4019680, returnValue=0x2aaacca5cb10, outArguments=0x2aaacca5ca80)
at binaryurp/source/incomingrequest.cxx:245
#32 0x00002aaabe17102f in binaryurp::IncomingRequest::execute
(this=0x2aaad4019680) at binaryurp/source/incomingrequest.cxx:74
#33 0x00002aaabe18c3f1 in binaryurp::(anonymous namespace)::request
(pThreadSpecificData=0x2aaad4019680) at binaryurp/source/reader.cxx:87
#34 0x00002aaaab53e286 in cppu_threadpool::JobQueue::enter
(this=0x2aaad4017c80, nDisposeId=46913189681136, bReturnWhenNoJob=1 '\001') at
cppu/source/threadpool/jobqueue.cxx:115
#35 0x00002aaaab541b7d in cppu_threadpool::ORequestThread::run
(this=0x2aaad40197f0) at cppu/source/threadpool/thread.cxx:172
#36 0x00002aaaab542363 in osl::threadFunc (param=0x2aaad4019800) at
include/osl/thread.hxx:187
#37 0x00002aaaaaac85fb in osl_thread_start_Impl (pData=0x2aaad40055e0) at
sal/osl/unx/thread.c:251
#38 0x0000003c80a07d15 in start_thread (arg=0x2aaacca5d700) at
pthread_create.c:308
#39 0x0000003c806f246d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:114
From ed608ac5e434d017340adbda6aab5d13b1ae3615 Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <[email protected]>
Date: Tue, 21 May 2013 10:46:36 +0200
Subject: [PATCH] Work around mdds singular iterator problem
At least --enable-dbgutil "make make CppunitTest_sc_filters_test" fails as
below, for which this commit is a workaround for now (TODO: but not a proper
fix).
/usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../include/c++/4.7.2/debug/safe_iterator.h:187:
error: attempt to copy-construct an iterator from a singular iterator.
Objects involved in the operation:
iterator "this" @ 0x0x7fff5a724400 {
type = N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPPN4mdds17multi_type_vectorINS3_3mtv18custom_block_func1ILi50ENS5_33noncopyable_managed_element_blockILi50E14SvtBroadcasterEEEEE5blockENSt9__cxx19986vectorISD_SaISD_EEEEENSt7__debug6vectorISD_SH_EEEE (mutable iterator);
state = singular;
}
iterator "other" @ 0x0x7fff5a724668 {
type = N11__gnu_debug14_Safe_iteratorIN9__gnu_cxx17__normal_iteratorIPPN4mdds17multi_type_vectorINS3_3mtv18custom_block_func1ILi50ENS5_33noncopyable_managed_element_blockILi50E14SvtBroadcasterEEEEE5blockENSt9__cxx19986vectorISD_SaISD_EEEEENSt7__debug6vectorISD_SH_EEEE (mutable iterator);
state = singular;
references sequence with type `NSt7__debug6vectorIPN4mdds17multi_type_vectorINS1_3mtv18custom_block_func1ILi50ENS3_33noncopyable_managed_element_blockILi50E14SvtBroadcasterEEEEE5blockESaISB_EEE' @ 0x0x7fff5a724668
}
4 <signal handler called>
5 0x0000003c80635ba5 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:63
6 0x0000003c80637358 in __GI_abort () at abort.c:90
7 0x0000003c82eb193d in __gnu_debug::_Error_formatter::_M_error (this=0x7fff5a7241a0) at ../../../../../libstdc++-v3/src/c++11/debug.cc:777
8 0x00002aaab8ccc5c9 in __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block**, std::__cxx1998::vector<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block*, std::allocator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block*> > >, std::__debug::vector<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block*, std::allocator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block*> > >::_Safe_iterator(__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block**, std::__cxx1998::vector<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block*, std::allocator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block*> > >, std::__debug::vector<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block*, std::allocator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block*> > >&&) (this=0x7fff5a724400, __x=<unknown type in solver/unxlngx6/lib/libsclo.so, CU 0x34850b, DIE 0x40fd17>) at /usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../include/c++/4.7.2/debug/safe_iterator.h:183
9 0x00002aaab8d1d7e5 in std::swap<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block**, std::__cxx1998::vector<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block*, std::allocator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block*> > >, std::__debug::vector<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block*, std::allocator<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::block*> > > > (__a=, __b=) at /usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../include/c++/4.7.2/bits/move.h:176
10 0x00002aaab8d17ad2 in mdds::__mtv::iterator_common_base<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::iterator_trait>::swap (this=0x7fff5a724640, other=...) at workdir/unxlngx6/UnpackedTarball/mdds/include/mdds/multi_type_vector_itr.hpp:227
11 0x00002aaab8d0bb7e in mdds::__mtv::iterator_common_base<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::iterator_trait>::operator= (this=0x7fff5a724640, other=...) at workdir/unxlngx6/UnpackedTarball/mdds/include/mdds/multi_type_vector_itr.hpp:220
12 0x00002aaab8cf8e47 in mdds::__mtv::iterator_base<mdds::multi_type_vector<mdds::mtv::custom_block_func1<50, mdds::mtv::noncopyable_managed_element_block<50, SvtBroadcaster> > >::iterator_trait, mdds::__mtv::private_data_forward_update<mdds::__mtv::iterator_value_node<unsigned long, mdds::mtv::base_element_block> > >::operator= (this=0x7fff5a724640) at workdir/unxlngx6/UnpackedTarball/mdds/include/mdds/multi_type_vector_itr.hpp:233
13 0x00002aaab8d2e2a2 in (anonymous namespace)::startListening (rStore=..., itBlockPos=..., nElemPos=1, nRow=1, rLst=...) at sc/source/core/data/column2.cxx:2049
14 0x00002aaab8d2e362 in ScColumn::StartListening (this=0x1d24290, rLst=..., nRow=1) at sc/source/core/data/column2.cxx:2068
15 0x00002aaab8fe4c4c in ScTable::StartListening (this=0x1d24000, rAddress=..., pListener=0x22c0700) at sc/source/core/data/table5.cxx:1089
16 0x00002aaab8de4fc9 in ScDocument::StartListeningCell (this=0x1bc05b8, rAddress=..., pListener=0x22c0700) at sc/source/core/data/documen7.cxx:192
17 0x00002aaab90337d8 in (anonymous namespace)::StartEndListening::startListening (this=0x7fff5a724a30, rRange=...) at sc/source/core/tool/chartlis.cxx:303
18 0x00002aaab9033769 in (anonymous namespace)::StartEndListening::operator() (this=0x7fff5a724a30, pToken=...) at sc/source/core/tool/chartlis.cxx:294
19 0x00002aaab903645c in std::for_each<__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<boost::intrusive_ptr<ScToken>*, std::__cxx1998::vector<boost::intrusive_ptr<ScToken>, std::allocator<boost::intrusive_ptr<ScToken> > > >, std::__debug::vector<boost::intrusive_ptr<ScToken> > >, {anonymous}::StartEndListening>(__gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<boost::intrusive_ptr<ScToken>*, std::__cxx1998::vector<boost::intrusive_ptr<ScToken>, std::allocator<boost::intrusive_ptr<ScToken> > > >, std::__debug::vector<boost::intrusive_ptr<ScToken>, std::allocator<boost::intrusive_ptr<ScToken> > > >, __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<boost::intrusive_ptr<ScToken>*, std::__cxx1998::vector<boost::intrusive_ptr<ScToken>, std::allocator<boost::intrusive_ptr<ScToken> > > >, std::__debug::vector<boost::intrusive_ptr<ScToken>, std::allocator<boost::intrusive_ptr<ScToken> > > >, (anonymous namespace)::StartEndListening) (__first=..., __last=..., __f=...) at /usr/lib/gcc/x86_64-redhat-linux/4.7.2/../../../../include/c++/4.7.2/bits/stl_algo.h:4442
20 0x00002aaab9033978 in ScChartListener::StartListeningTo (this=0x22c0700) at sc/source/core/tool/chartlis.cxx:329
21 0x00002aaac6c8fd90 in XclImpChChart::Convert (this=0x21082b0, xChartDoc=uno::Reference to (chart::ChartModel *) 0x2aaac80d3a90, rDffConv=..., rObjName="Object 1", rChartRect=Rectangle = {...}) at sc/source/filter/excel/xichart.cxx:4018
22 0x00002aaac6c91b1a in XclImpChart::Convert (this=0x20e4a50, xModel=uno::Reference to (chart::ChartModel *) 0x2aaac80d3a90, rDffConv=..., rObjName="Object 1", rChartRect=Rectangle = {...}) at sc/source/filter/excel/xichart.cxx:4352
23 0x00002aaac6cd7f0d in XclImpChartObj::DoPostProcessSdrObj (this=0x2108210, rDffConv=..., rSdrObj=...) at sc/source/filter/excel/xiescher.cxx:1679
24 0x00002aaac6cd1e09 in XclImpDrawObjBase::PostProcessSdrObject (this=0x2108210, rDffConv=..., rSdrObj=...) at sc/source/filter/excel/xiescher.cxx:499
25 0x00002aaac6ce1d0d in XclImpDffConverter::InsertSdrObject (this=0x7fff5a725240, rObjList=..., rDrawObj=..., pSdrObj=0x218b530) at sc/source/filter/excel/xiescher.cxx:3703
26 0x00002aaac6ce1bf0 in XclImpDffConverter::ProcessShContainer (this=0x7fff5a725240, rDffStrm=..., rShHeader=...) at sc/source/filter/excel/xiescher.cxx:3687
27 0x00002aaac6ce1a6b in XclImpDffConverter::ProcessShGrContainer (this=0x7fff5a725240, rDffStrm=..., rShGrHeader=...) at sc/source/filter/excel/xiescher.cxx:3654
28 0x00002aaac6ce1970 in XclImpDffConverter::ProcessDgContainer (this=0x7fff5a725240, rDffStrm=..., rDgHeader=...) at sc/source/filter/excel/xiescher.cxx:3627
29 0x00002aaac6cdfce7 in XclImpDffConverter::ProcessDrawing (this=0x7fff5a725240, rDffStrm=...) at sc/source/filter/excel/xiescher.cxx:3281
30 0x00002aaac6ce2f90 in XclImpDrawing::ImplConvertObjects (this=0x20e4410, rDffConv=..., rSdrModel=..., rSdrPage=...) at sc/source/filter/excel/xiescher.cxx:3901
31 0x00002aaac6ce3b97 in XclImpSheetDrawing::ConvertObjects (this=0x20e4410, rDffConv=...) at sc/source/filter/excel/xiescher.cxx:4051
32 0x00002aaac6ce4cb8 in XclImpObjectManager::ConvertObjects (this=0x1d20cd0) at sc/source/filter/excel/xiescher.cxx:4184
33 0x00002aaac6aeb04c in ImportExcel::PostDocLoad (this=0x1ba80e0) at sc/source/filter/excel/impop.cxx:1226
34 0x00002aaac6ac0569 in ImportExcel8::PostDocLoad (this=0x1ba80e0) at sc/source/filter/excel/excimp8.cxx:387
35 0x00002aaac6afe8ca in ImportExcel8::Read (this=0x1ba80e0) at sc/source/filter/excel/read.cxx:1296
36 0x00002aaac6aaf5de in ScFormatFilterPluginImpl::ScImportExcel (this=0x1bf79e0, rMedium=..., pDocument=0x1bc05b8, eFormat=EIF_BIFF8) at sc/source/filter/excel/excel.cxx:139
37 0x00002aaab94490cd in ScDocShell::ConvertFrom (this=0x1bc04c0, rMedium=...) at sc/source/ui/docshell/docsh.cxx:1119
38 0x00002aaaba6d627a in SfxObjectShell::DoLoad (this=0x1bc04c0, pMed=0x1c76900) at sfx2/source/doc/objstor.cxx:769
39 0x00002aaab580e466 in ScBootstrapFixture::load (this=0x134c958, bReadWrite=false, rURL="file:///tmp/lLYlTt", rFilter="MS Excel 97", rUserData="", rTypeName="", nFilterFlags=1, nClipboardID=0, nFilterVersion=0, pPassword=0x0) at sc/qa/unit/helper/qahelper.hxx:140
40 0x00002aaab580e5f6 in ScBootstrapFixture::load (this=0x134c958, rURL="file:///tmp/lLYlTt", rFilter="MS Excel 97", rUserData="", rTypeName="", nFilterFlags=1, nClipboardID=0, nFilterVersion=0, pPassword=0x0) at sc/qa/unit/helper/qahelper.hxx:154
41 0x00002aaab58042bc in ScFiltersTest::load (this=0x134c950, rFilter="MS Excel 97", rURL="file:///tmp/lLYlTt", rUserData="", nFilterFlags=1, nClipboardID=0, nFilterVersion=0) at sc/qa/unit/filters-test.cxx:102
42 0x00002aaabe3c1d5f in test::FiltersTest::recursiveScan (this=0x134c950, nExpected=test::pass, rFilter="MS Excel 97", rURL="file://sc/qa/unit/data/xls/pass", rUserData="", nFilterFlags=1, nClipboardID=0, nFilterVersion=0) at unotest/source/cpp/filters-test.cxx:113
43 0x00002aaabe3c27b5 in test::FiltersTest::testDir (this=0x134c950, rFilter="MS Excel 97", rURL="file://sc/qa/unit/data/xls/", rUserData="", nFilterFlags=1, nClipboardID=0, nFilterVersion=0) at unotest/source/cpp/filters-test.cxx:137
44 0x00002aaab580451b in ScFiltersTest::testCVEs (this=0x134c950) at sc/qa/unit/filters-test.cxx:123
45 0x00002aaab5815a70 in CppUnit::TestCaller<ScFiltersTest>::runTest (this=0x134c8d0) at workdir/unxlngx6/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:166
46 0x00002aaaaade44e8 in CppUnit::TestCaseMethodFunctor::operator() (this=0x7fff5a72afe0) at TestCase.cpp:32
47 0x00002aaab2a0ba87 in (anonymous namespace)::Prot::protect (this=0x12c3740, functor=...) at unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:88
48 0x00002aaaaaddc587 in CppUnit::ProtectorChain::ProtectFunctor::operator() (this=0x12c36e0) at ProtectorChain.cpp:20
49 0x00002aaab16ab51c in (anonymous namespace)::Prot::protect (this=0x12c3760, functor=..., context=...) at unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:64
50 0x00002aaaaaddc587 in CppUnit::ProtectorChain::ProtectFunctor::operator() (this=0x134c9d0) at ProtectorChain.cpp:20
51 0x00002aaaaadcde08 in CppUnit::DefaultProtector::protect (this=0x12bf5b0, functor=..., context=...) at DefaultProtector.cpp:15
52 0x00002aaaaaddc587 in CppUnit::ProtectorChain::ProtectFunctor::operator() (this=0x134d300) at ProtectorChain.cpp:20
53 0x00002aaaaaddc41c in CppUnit::ProtectorChain::protect (this=0x12bf2d0, functor=..., context=...) at ProtectorChain.cpp:77
54 0x00002aaaaadf375a in CppUnit::TestResult::protect (this=0x7fff5a72b500, functor=..., test=0x134c8d0, shortDescription="") at TestResult.cpp:181
55 0x00002aaaaade3fae in CppUnit::TestCase::run (this=0x134c8d0, result=0x7fff5a72b500) at TestCase.cpp:92
56 0x00002aaaaade4d60 in CppUnit::TestComposite::doRunChildTests (this=0x134c880, controller=0x7fff5a72b500) at TestComposite.cpp:64
57 0x00002aaaaade4be8 in CppUnit::TestComposite::run (this=0x134c880, result=0x7fff5a72b500) at TestComposite.cpp:23
58 0x00002aaaaade4d60 in CppUnit::TestComposite::doRunChildTests (this=0x134c800, controller=0x7fff5a72b500) at TestComposite.cpp:64
59 0x00002aaaaade4be8 in CppUnit::TestComposite::run (this=0x134c800, result=0x7fff5a72b500) at TestComposite.cpp:23
60 0x00002aaaaadfa9f2 in CppUnit::TestRunner::WrappingSuite::run (this=0x12c3690, result=0x7fff5a72b500) at TestRunner.cpp:47
61 0x00002aaaaadf3464 in CppUnit::TestResult::runTest (this=0x7fff5a72b500, test=0x12c3690) at TestResult.cpp:148
62 0x00002aaaaadfac52 in CppUnit::TestRunner::run (this=0x7fff5a72b390, controller=..., testPath="") at TestRunner.cpp:96
63 0x0000000000403f9b in (anonymous namespace)::ProtectedFixtureFunctor::run (this=0x7fff5a72b450) at sal/cppunittester/cppunittester.cxx:151
64 0x0000000000404620 in sal_main () at sal/cppunittester/cppunittester.cxx:243
65 0x000000000040426b in main (argc=15, argv=0x7fff5a72b758) at sal/cppunittester/cppunittester.cxx:167
Change-Id: Ie76a107c313b65136b040b8a6232ab0dc94f72d3
---
mdds/UnpackedTarball_mdds.mk | 1 +
mdds/singularity.patch.0 | 104 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 105 insertions(+)
create mode 100644 mdds/singularity.patch.0
diff --git a/mdds/UnpackedTarball_mdds.mk b/mdds/UnpackedTarball_mdds.mk
index b33bc1b..0058be6 100644
--- a/mdds/UnpackedTarball_mdds.mk
+++ b/mdds/UnpackedTarball_mdds.mk
@@ -17,6 +17,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,mdds,\
mdds/mdds_0.6.0.patch \
mdds/0001-Workaround-for-gcc-bug.patch \
mdds/mdds_0.7.0_unreachable_warning.patch.1 \
+ mdds/singularity.patch.0 \
))
# vim: set noet sw=4 ts=4:
diff --git a/mdds/singularity.patch.0 b/mdds/singularity.patch.0
new file mode 100644
index 0000000..c2e35e3
--- /dev/null
+++ b/mdds/singularity.patch.0
@@ -0,0 +1,104 @@
+--- include/mdds/multi_type_vector_itr.hpp 2013-05-21 01:11:00.957981420 +0200
++++ include/mdds/multi_type_vector_itr.hpp 2013-05-21 10:38:52.283753158 +0200
+@@ -30,6 +30,8 @@
+
+ #include "multi_type_vector_types.hpp"
+
++#include <cstdlib>
++
+ namespace mdds { namespace __mtv {
+
+ /**
+@@ -138,11 +140,12 @@
+ typedef typename parent_type::size_type size_type;
+ typedef iterator_value_node<size_type, typename parent_type::element_block_type> node;
+
+- iterator_common_base() : m_cur_node(0, 0) {}
++ iterator_common_base() : m_singular(true), m_cur_node(0, 0) {}
+
+ iterator_common_base(
+ const base_iterator_type& pos, const base_iterator_type& end,
+ size_type start_pos, size_type block_index) :
++ m_singular(false),
+ m_cur_node(start_pos, block_index),
+ m_pos(pos),
+ m_end(end)
+@@ -152,14 +155,20 @@
+ }
+
+ iterator_common_base(const iterator_common_base& other) :
+- m_cur_node(other.m_cur_node),
+- m_pos(other.m_pos),
+- m_end(other.m_end)
++ m_singular(other.m_singular),
++ m_cur_node(other.m_cur_node)
+ {
++ if (!m_singular)
++ {
++ m_pos = other.m_pos;
++ m_end = other.m_end;
++ }
+ }
+
+ void update_node()
+ {
++ if (m_singular)
++ std::abort();
+ #ifdef MDDS_MULTI_TYPE_VECTOR_DEBUG
+ if (m_pos == m_end)
+ throw general_error("Current node position should never equal the end position during node update.");
+@@ -177,6 +186,8 @@
+
+ node* inc()
+ {
++ if (m_singular)
++ std::abort();
+ ++m_pos;
+ if (m_pos == m_end)
+ return NULL;
+@@ -187,11 +198,14 @@
+
+ node* dec()
+ {
++ if (m_singular)
++ std::abort();
+ --m_pos;
+ update_node();
+ return &m_cur_node;
+ }
+
++ bool m_singular;
+ node m_cur_node;
+ base_iterator_type m_pos;
+ base_iterator_type m_end;
+@@ -199,6 +213,8 @@
+ public:
+ bool operator== (const iterator_common_base& other) const
+ {
++ if (m_singular || other.m_singular)
++ std::abort();
+ if (m_pos != m_end && other.m_pos != other.m_end)
+ {
+ // TODO: Set hard-coded values to the current node for the end
+@@ -216,13 +232,19 @@
+
+ iterator_common_base& operator= (const iterator_common_base& other)
+ {
+- iterator_common_base assigned(other);
+- swap(assigned);
++ if (other.m_singular)
++ std::abort();
++ m_cur_node = other.m_cur_node;
++ m_pos = other.m_pos;
++ m_end = other.m_end;
++ m_singular = false;
+ return *this;
+ }
+
+ void swap(iterator_common_base& other)
+ {
++ if (m_singular || other.m_singular)
++ std::abort();
+ m_cur_node.swap(other.m_cur_node);
+ std::swap(m_pos, other.m_pos);
+ std::swap(m_end, other.m_end);
--
1.8.1.4
_______________________________________________
LibreOffice mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice