Age | Commit message (Collapse) | Author |
|
...as reported during CppunitTest_extensions_test_update (see below). I don't
see a reason why those pContext should be shared_ptr, so better make them
unique_ptr to guarantee that xmlFreeParserCtxt is called with c still in scope
(in CDocumentBuilder::parse).
> ==10883==ERROR: AddressSanitizer: stack-use-after-scope on address 0x2b111da94b68 at pc 0x2b116e55a200 bp 0x7fff7228b0f0 sp 0x7fff7228b0e8
> READ of size 8 at 0x2b111da94b68 thread T0
> #0 0x2b116e55a1ff in com::sun::star::uno::BaseReference::is() const include/com/sun/star/uno/Reference.h:94:27
> #1 0x2b116e699756 in DOM::xmlIO_close_func(void*) unoxml/source/dom/documentbuilder.cxx:214:33
> #2 0x2b11300cf646 in xmlFreeParserInputBuffer__internal_alias workdir/UnpackedTarball/xml2/xmlIO.c:2575:2
> #3 0x2b112fdd2706 in xmlFreeInputStream__internal_alias workdir/UnpackedTarball/xml2/parserInternals.c:1341:9
> #4 0x2b112fddebf3 in xmlFreeParserCtxt__internal_alias workdir/UnpackedTarball/xml2/parserInternals.c:1774:9
> #5 0x2b116e6aaddc in std::_Sp_counted_deleter<_xmlParserCtxt*, void (*)(_xmlParserCtxt*), std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose() /usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../include/c++/6.3.1/bits/shared_ptr_base.h:464:9
> #6 0x2b116e65370a in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../include/c++/6.3.1/bits/shared_ptr_base.h:150:6
> #7 0x2b116e653494 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count() /usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../include/c++/6.3.1/bits/shared_ptr_base.h:662:11
> #8 0x2b116e6a78b1 in std::__shared_ptr<_xmlParserCtxt, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() /usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../include/c++/6.3.1/bits/shared_ptr_base.h:928:31
> #9 0x2b116e69f01d in std::shared_ptr<_xmlParserCtxt>::~shared_ptr() /usr/lib/gcc/x86_64-redhat-linux/6.3.1/../../../../include/c++/6.3.1/bits/shared_ptr.h:93:11
> #10 0x2b116e696aca in DOM::CDocumentBuilder::parse(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&) unoxml/source/dom/documentbuilder.cxx:336:5
> #11 0x2b116e699fe2 in non-virtual thunk to DOM::CDocumentBuilder::parse(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&) unoxml/source/dom/documentbuilder.cxx
> #12 0x2b116df6449a in (anonymous namespace)::UpdateInformationProvider::getUpdateInformationEnumeration(com::sun::star::uno::Sequence<rtl::OUString> const&, rtl::OUString const&) extensions/source/update/feed/updatefeed.cxx:589:83
> #13 0x2b116df682ea in non-virtual thunk to (anonymous namespace)::UpdateInformationProvider::getUpdateInformationEnumeration(com::sun::star::uno::Sequence<rtl::OUString> const&, rtl::OUString const&) extensions/source/update/feed/updatefeed.cxx
> #14 0x2b115d9a73eb in testupdate::Test::testGetUpdateInformationEnumeration() extensions/qa/update/test_update.cxx:57:26
> #15 0x2b115d9baf1b in CppUnit::TestCaller<testupdate::Test>::runTest() workdir/UnpackedTarball/cppunit/include/cppunit/TestCaller.h:166:6
> #16 0x2b111904ad8b in CppUnit::TestCaseMethodFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:32:5
> #17 0x2b11322dab0f in (anonymous namespace)::Protector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) test/source/vclbootstrapprotector.cxx:39:14
> #18 0x2b11190093ce in CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25
> #19 0x2b1128c6214f in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) unotest/source/cpp/unobootstrapprotector/unobootstrapprotector.cxx:89:12
> #20 0x2b11190093ce in CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25
> #21 0x2b1124efc351 in (anonymous namespace)::Prot::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) unotest/source/cpp/unoexceptionprotector/unoexceptionprotector.cxx:63:16
> #22 0x2b11190093ce in CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25
> #23 0x2b1118f87350 in CppUnit::DefaultProtector::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/DefaultProtector.cpp:15:12
> #24 0x2b11190093ce in CppUnit::ProtectorChain::ProtectFunctor::operator()() const workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:20:25
> #25 0x2b1119005e70 in CppUnit::ProtectorChain::protect(CppUnit::Functor const&, CppUnit::ProtectorContext const&) workdir/UnpackedTarball/cppunit/src/cppunit/ProtectorChain.cpp:77:18
> #26 0x2b11190c50f5 in CppUnit::TestResult::protect(CppUnit::Functor const&, CppUnit::Test*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:181:28
> #27 0x2b1119048fa4 in CppUnit::TestCase::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestCase.cpp:91:13
> #28 0x2b111904d7a7 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30
> #29 0x2b111904c819 in CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3
> #30 0x2b111904d7a7 in CppUnit::TestComposite::doRunChildTests(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:64:30
> #31 0x2b111904c819 in CppUnit::TestComposite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestComposite.cpp:23:3
> #32 0x2b11191035c9 in CppUnit::TestRunner::WrappingSuite::run(CppUnit::TestResult*) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:47:27
> #33 0x2b11190c340d in CppUnit::TestResult::runTest(CppUnit::Test*) workdir/UnpackedTarball/cppunit/src/cppunit/TestResult.cpp:148:9
> #34 0x2b111910489b in CppUnit::TestRunner::run(CppUnit::TestResult&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) workdir/UnpackedTarball/cppunit/src/cppunit/TestRunner.cpp:96:14
> #35 0x532fb4 in (anonymous namespace)::ProtectedFixtureFunctor::run() const sal/cppunittester/cppunittester.cxx:306:20
> #36 0x52e7c3 in sal_main() sal/cppunittester/cppunittester.cxx:456:20
> #37 0x52cb6f in main sal/cppunittester/cppunittester.cxx:363:1
> #38 0x2b111acb5400 in __libc_start_main (/lib64/libc.so.6+0x20400)
> #39 0x438019 in _start (workdir/LinkTarget/Executable/cppunittester+0x438019)
>
> Address 0x2b111da94b68 is located in stack of thread T0 at offset 104 in frame
> #0 0x2b116e69553f in DOM::CDocumentBuilder::parse(com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&) unoxml/source/dom/documentbuilder.cxx:303
>
> This frame has 4 object(s):
> [32, 40) 'g' (line 308)
> [64, 80) 'pContext' (line 310)
> [96, 120) 'c' (line 321) <== Memory access at offset 104 is inside this variable
> [160, 168) 'ref.tmp' (line 333)
Change-Id: I3398d54776af4927417e392e55bbca740d4121af
|
|
Change-Id: Ieea40e1b7282267157810f9f58ca083e68ae6715
Reviewed-on: https://gerrit.libreoffice.org/35659
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Tested-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: I4e7f42d5d9d0056a59b8e6b67731628e1cc5cfa1
|
|
Change-Id: Iaf6bbe81f519d49b82f624282d786c8cc18d641c
Reviewed-on: https://gerrit.libreoffice.org/34199
Reviewed-by: Aleksandar Stefanović <theonewithideas@gmail.com>
Tested-by: Aleksandar Stefanović <theonewithideas@gmail.com>
|
|
...and remove some unncessary using directives/declarations, in preparation of
removing now-unnecessary #includes from cppumaker-generated files, post
e57ca02849c3d87142ff5ff9099a212e72b8139c "Remove dynamic exception
specifications".
Change-Id: Iaf1f268871e2ee1d1c76cf90f03557527ebc9067
|
|
..calls when creating exceptions
Change-Id: I3bc58a5aa4dc6f0508ecb88b3a843b96b8c7ebfe
Reviewed-on: https://gerrit.libreoffice.org/33617
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at
<https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html>
"Dynamic Exception Specifications" for details.
Most changes have been done automatically by the rewriting loplugin:dynexcspec
(after enabling the rewriting mode, to be committed shortly). The way it only
removes exception specs from declarations if it also sees a definition, it
identified some dead declarations-w/o-definitions (that have been removed
manually) and some cases where a definition appeared in multiple include files
(which have also been cleaned up manually). There's also been cases of macro
paramters (that were used to abstract over exception specs) that have become
unused now (and been removed).
Furthermore, some code needed to be cleaned up manually
(avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no
configurations available that would actually build that code. Missing @throws
documentation has not been applied in such manual clean-up.
Change-Id: I3408691256c9b0c12bc5332de976743626e13960
Reviewed-on: https://gerrit.libreoffice.org/33574
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
... and not the namespace token without any element token ORed in.
DONTKNOW is what the two callers look for.
Does not break any unit test. (Does not fix the bug I am investigating
either, though.)
Change-Id: Ibd75ee06797d7b62476d4bf2302338b2bb3266d4
|
|
Change-Id: I085b0c080acc38d1ec17bc96aac24d2b17e14b3b
|
|
Change-Id: If8b214482c96e6c302baa31efbdd2d3d0fd96fb7
|
|
Change-Id: I0927e51d0cdb53b5bd20d4f1cf567cbfb4b377da
|
|
Not sure why it crashed only on macOS?
Change-Id: I9578d7de39e22ba79950c6b47aad26944a5d0fa2
|
|
Change-Id: I7f391604401b8a10f5d451673ed6223c031c56ab
|
|
Change-Id: Ieca0d355031f25731a519be26145cda3b2172cb1
|
|
Change-Id: I3b97665908be0a44d24192433bdc9c2bd9008736
Reviewed-on: https://gerrit.libreoffice.org/30431
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I152df55f5a30e073c66cfd3a64d5090a20cb232d
Reviewed-on: https://gerrit.libreoffice.org/29471
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark
overriding destructors as 'virtual'" appears to no longer be a problem with
MSVC 2013.
(The little change in the rewriting code of compilerplugins/clang/override.cxx
was necessary to prevent an endless loop when adding "override" to
OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager();
in chart2/source/inc/LifeTime.hxx, getting stuck in the leading
OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that
isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.)
Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
|
|
Change-Id: I3f2aa0393876a146ed291ad9e10575312516527f
|
|
Change-Id: I75db798c0b7d6951fc278b91f4162fa7c7ffd79c
|
|
JunitTest_unoxml_complex crashed with an assertion:
error: attempt to increment a singular iterator.
This is because the CEventDispatcher::dispatchEvent() attempts to copy the
m_TargetListeners onto the stack, before dropping the mutex to call the,
listeners, but the copy is unintentionally shallow and the ListenerMap
that is the value of the outer type is not copied, so this member is
accessed in callListeners() without MutexGuard.
Fix this by replacing ListenerMap* with ListenerMap as the value,
which also allows getting rid of explicit delete calls.
15 0x00002b7793e5ace8 in abort () at /lib64/libc.so.6
16 0x00002b77948c1565 in __gnu_debug::_Error_formatter::_M_error() const () at /lib64/libstdc++.so.6
17 0x00002b77b802a7d8 in __gnu_debug::_Safe_iterator<std::_Rb_tree_const_iterator<std::pair<_xmlNode* const, com::sun::star::uno::Reference<com::sun::star::xml::dom::events::XEventListener> > >, std::__debug::multimap<_xmlNode*, com::sun::star::uno::Reference<com::sun::star::xml::dom::events::XEventListener>, std::less<_xmlNode*>, std::allocator<std::pair<_xmlNode* const, com::sun::star::uno::Reference<com::sun::star::xml::dom::events::XEventListener> > > > >::operator++() (this=0x2b77b7d99c90) at /usr/include/c++/4.8.2/debug/safe_iterator.h:291
18 0x00002b77b80275ae in DOM::events::CEventDispatcher::callListeners(std::__debug::map<rtl::OUString, std::__debug::multimap<_xmlNode*, com::sun::star::uno::Reference<com::sun::star::xml::dom::events::XEventListener>, std::less<_xmlNode*>, std::allocator<std::pair<_xmlNode* const, com::sun::star::uno::Reference<com::sun::star::xml::dom::events::XEventListener> > > >*, std::less<rtl::OUString>, std::allocator<std::pair<rtl::OUString const, std::__debug::multimap<_xmlNode*, com::sun::star::uno::Reference<com::sun::star::xml::dom::events::XEventListener>, std::less<_xmlNode*>, std::allocator<std::pair<_xmlNode* const, com::sun::star::uno::Reference<com::sun::star::xml::dom::events::XEventListener> > > >*> > > const&, _xmlNode*, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::xml::dom::events::XEvent> const&) (rTMap=std::__debug::map with 1 elements, pNode=0x21a9c10, aType=..., xEvent=...) at /unoxml/source/events/eventdispatcher.cxx:103
pMap = 0x2203b10
iter = {first = , second = {<com::sun::star::uno::BaseReference> = {_pInterface = }, <No data fields>}}
ibound = {first = , second = {<com::sun::star::uno::BaseReference> = {_pInterface = }, <No data fields>}}
tIter = {first = {pData = }, second = }
19 0x00002b77b80284e4 in DOM::events::CEventDispatcher::dispatchEvent(DOM::CDocument&, osl::Mutex&, _xmlNode*, com::sun::star::uno::Reference<com::sun::star::xml::dom::XNode> const&, com::sun::star::uno::Reference<com::sun::star::xml::dom::events::XEvent> const&) const (this=0x21fbee0, rDocument=..., rMutex=..., pNode=0x2200890, xNode=..., i_xEvent=...) at /unoxml/source/events/eventdispatcher.cxx:242
captureListeners = std::__debug::map with 0 elements
targetListeners = std::__debug::map with 1 elements = {[{pData = 0x2202a30}] = 0x2203b10}
Change-Id: I66fb7a461df0f8066383365850536f7b0394306d
|
|
Change-Id: If7b44c772744c63e603740be6267453118cfd01b
Signed-off-by: Burcin Akalin <brcnakalin@gmail.com>
Reviewed-on: https://gerrit.libreoffice.org/21937
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Michael Meeks <michael.meeks@collabora.com>
|
|
Change-Id: I6e91d22fc1826038c05ddb6fc065563c6a250752
Reviewed-on: https://gerrit.libreoffice.org/24459
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I97ad48b13fc5c134fea5a2a85001bbfefe6793f5
|
|
Including no keywords from extern "C" blocks
Change-Id: Ie3160af9decf04ceeda02dc20a6518afaa80f972
Reviewed-on: https://gerrit.libreoffice.org/23677
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
It was using a custom deleter anyway.
Change-Id: I700b7cf314b7f837a7143206ba42e412c5a1670d
|
|
Change-Id: I996ca0589db8b73db045c87bbecfab03be9dbaef
|
|
Change-Id: Icb2dc74263026d90b7998b3fd880fd5d2c67a3b7
|
|
A ridiculously fast way of doing this is:
for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \
--exclude-dir=workdir --exclude-dir=instdir '^
{3,}' .)
do
perl -0777 -i -pe 's/^
{3,}/
/gm' $i
done
Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c
Reviewed-on: https://gerrit.libreoffice.org/22224
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
|
|
Change-Id: Id8d73fa9a93cd793dbce0d3f84ddde86860f7308
|
|
Change-Id: I9a5940027423ff0791fa7da0b79b617412ce6b86
Reviewed-on: https://gerrit.libreoffice.org/21209
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
|
|
Change-Id: I824193a9f4b0196ce1127c5cbf16b0064dbb3446
|
|
Change-Id: I18f94269a1172cf195ee402384f7144610e1e82d
|
|
replaced using the script:
git grep -lP 'Sequence.*OUString.*\(1\)'
| xargs perl -0777 -pi
-e "s/Sequence< OUString > (\w+)\(1\);
.*\[0\] = (\S+);/Sequence< OUString > \1 { \2 };/g"
Change-Id: I23688a91562051a8eed11fc2a85599545c285c34
Reviewed-on: https://gerrit.libreoffice.org/19967
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I4f9d6c93a0bdbba290277a41537ba2728d1ee4f5
|
|
Change-Id: Id57ccff7ea6cf5c7053b51268b1190f5459bb357
|
|
Change-Id: Ia97d9a24ffd455a135c44bba250fd0c27df7f910
Reviewed-on: https://gerrit.libreoffice.org/19591
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: I2455476a876012051ca1651721915243503fbb22
Reviewed-on: https://gerrit.libreoffice.org/19308
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
|
|
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
|
|
Change-Id: Ia7394ab3c0aa28002a7022e73c2b7d9eb73dacb8
Reviewed-on: https://gerrit.libreoffice.org/18991
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Remove makeSequence.
Change-Id: If07dc8702d811111fc634c9c7eb4c9a331517ca5
Reviewed-on: https://gerrit.libreoffice.org/18647
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ifde84627578283bd057d7393eb7e5578ef5c029a
|
|
with the variadic variants.
Change-Id: Id753717b228061c810a0122e551326ab001949a9
Reviewed-on: https://gerrit.libreoffice.org/18460
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
|
|
Change-Id: I5497abb747dc12080f076aaf81b946710bcd5570
Reviewed-on: https://gerrit.libreoffice.org/18319
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
|
|
Change-Id: Iddea2a6462b52e39aab31e96fbc83836cf157e27
|
|
Change-Id: Ib4d77ee01e7362f5951f81fceeca3c489872d971
Reviewed-on: https://gerrit.libreoffice.org/17378
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: Ic38df50884b370417ed62b65ac7f90a13faea230
|
|
It just includes a bunch of other boost headers; mostly we need
boost/noncopyable.hpp so include that directly.
This eliminates 831 MB(!) of boost/preprocessor/seq/fold_left.hpp
completely, which is the 2nd biggest header after ustring.hxx.
Change-Id: I3df55770adcb46e56f389af828e8ba80da2dc1f2
|
|
Change-Id: I020c7ce4d9aa93cb0292378a410cdb9f7788e920
Signed-off-by: Michael Stahl <mstahl@redhat.com>
|
|
Change-Id: I9e89fea4e94a91edbbe355780c2a12d6e6cb6e4a
Reviewed-on: https://gerrit.libreoffice.org/16728
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
|
|
Change-Id: Id9296115f30858e7fd470a199e59343a96d7deec
Reviewed-on: https://gerrit.libreoffice.org/16712
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <s.mehrbrodt@gmail.com>
|