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 <sbergman@redhat.com>
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
Context
- mdds broken · Stephan Bergmann
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.