Age | Commit message (Collapse) | Author | Files | Lines |
|
On a particular system, I see unit tests reliably hung at the exit time
(at a DLL unload), when it waits indefinitely in notify_all. It is the
only thread in the process left; TimerManager thread was likely killed
by that time.
This is the call stack of the hung state:
ntdll.dll!ZwReleaseKeyedEvent()
ntdll.dll!string "Enabling heap debug options\n"()
msvcp140d.dll!Concurrency::details::stl_condition_variable_win7::notify_all() Line 178
msvcp140d.dll!_Cnd_broadcast(_Cnd_internal_imp_t * cond) Line 93
salhelper3MSC.dll!std::condition_variable::notify_all() Line 590
salhelper3MSC.dll!salhelper::TimerManager::~TimerManager() Line 221
salhelper3MSC.dll!``anonymous namespace'::getTimerManager'::`2'::`dynamic atexit destructor for 'aManager''()
ucrtbased.dll!_execute_onexit_table::__l2::<lambda>() Line 206
ucrtbased.dll!__crt_seh_guarded_call<int>::operator()<void <lambda>(void),int <lambda>(void) &,void <lambda>(void)>(__acrt_lock_and_call::__l2::void <lambda>(void) && setup, _execute_onexit_table::__l2::int <lambda>(void) & action, __acrt_lock_and_call::__l2::void <lambda>(void) && cleanup) Line 204
ucrtbased.dll!__acrt_lock_and_call<int <lambda>(void)>(const __acrt_lock_id lock_id, _execute_onexit_table::__l2::int <lambda>(void) && action) Line 974
ucrtbased.dll!_execute_onexit_table(_onexit_table_t * table) Line 231
salhelper3MSC.dll!__scrt_dllmain_uninitialize_c() Line 399
salhelper3MSC.dll!dllmain_crt_process_detach(const bool is_terminating) Line 182
salhelper3MSC.dll!dllmain_crt_dispatch(HINSTANCE__ * const instance, const unsigned long reason, void * const reserved) Line 220
salhelper3MSC.dll!dllmain_dispatch(HINSTANCE__ * const instance, const unsigned long reason, void * const reserved) Line 293
salhelper3MSC.dll!_DllMainCRTStartup(HINSTANCE__ * const instance, const unsigned long reason, void * const reserved) Line 335
ntdll.dll!LdrShutdownProcess()
ntdll.dll!RtlExitUserProcess()
ucrtbased.dll!exit_or_terminate_process(const unsigned int return_code) Line 144
ucrtbased.dll!common_exit(const int return_code, const _crt_exit_cleanup_mode cleanup_mode, const _crt_exit_return_mode return_mode) Line 280
ucrtbased.dll!exit(int return_code) Line 294
cppunittester.exe!__scrt_common_main_seh() Line 297
cppunittester.exe!__scrt_common_main() Line 331
cppunittester.exe!mainCRTStartup(void * __formal) Line 17
kernel32.dll!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()
This check prevents that hang.
The behavior is *possibly* related to my commit
8a0c43fa86bd32b4d47fd7e46d3ed414c9282ffa (Use _beginthreadex instead of
CreateThread, 2023-08-09), which put the threads under control of CRT;
and also to the specific version of CRT on the affected system, which
might affect the order of statics destruction and thread termination.
Change-Id: I6da95ea369ac9433a426a12d62cbd2a09cb4ce4a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172093
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
|
|
Most of these don't use boost themselves, nor do they need
it transitively since the use of boost::optional was removed
Change-Id: Ic9dee1c4e160b313ec5b91677b02ffdea6c5779d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164440
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
...in case client code would release all its references to such an element while
it is still enqueued in the list
Change-Id: I680aa0af878a0193a388dfe7307007f4c35a1634
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161377
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
Using it was prone to cause deadlocks on shutdown, when the main thread during
exit destroys the static salhelper::TimerManager instance, which blocks
destroying its m_notEmpty member because the salhelper::TimerManager::run thread
is blocking at
> m_notEmpty.wait(pDelay);
Change-Id: If72700cb622e945f5f314a00ded57538961ab8d7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160788
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
|
|
Change-Id: Ia8b406b6a59086160a5167480c6d3bde6574ffbe
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155029
Tested-by: Jenkins
Tested-by: Gabor Kelemen <kelemeng@ubuntu.com>
Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com>
|
|
See tdf#42949 for motivation
Change-Id: I867e1f7a2c44210de3281b36e22708a5d32ddb7f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129476
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
...to cover just those four classes for which type_info is actually exported
from Library_salhelper (at least under the rules of the Itanium ABI). (All
these checks had been introduced with c62a55b37f5d8918aa25e2f6876a016b0da13ebc
"INTEGRATION: CWS sb22: #109743# Test that the API exports the necessary
symbols.")
Change-Id: I71e86ed19f4ee63ffb2519aca37c6757169d2a6b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129863
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...than 6bc5d6cac2fd9e029357c618510a3b5f3aa7c085 "remove counter-productive
catch-all blocks"
Change-Id: I07fe5821ef5bf60f74f5ceb5feedd7dc79e73dfa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126275
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
|
|
That flag is only supported by clang-cl, not by MSVC, and
c7c9f3f57a2feae5d3bc3c47104786883ed09e44 "use clang-cl's -Zc:dllexportInlines-
for clang-cl builds" apparently naively assumed that it would work to build LO
with clang-cl and that flag without actually trying it out, and
1040228c356d75c5228cde4d6103f9b446848e4b "My clang-cl build does not work with
-Zc:dllexportInlines-" effectively disabled it completely.
The way to avoid unresolved external symbols during linking of URE libraries
(see the 1040228c356d75c5228cde4d6103f9b446848e4b commit message) is apparently
to also build libraries that the URE libraries depend on with the flag, hence
the change from gb_Library_set_is_ure_library to
gb_Library_set_is_ure_library_or_dependency. For now, I only marked those
additional libraries (unoil and xmlreader) that actually caused issues when
linking the URE libraries.
Change-Id: I3a85c73246250981cd86b7ee41f87b41f393a4b1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126012
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Tested-by: Jenkins
|
|
as sberg points out, this rethrow will not necessarily crash
the process
Change-Id: I0ced6c102d1c0c1bf680b0903fcb232cc891bf92
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126167
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
There is no point in these - the rethrow will crash the process
anyway, so trying to recover anything is a waste of time.
And they very unhelpfully obscure the stacktrace of the actual
underlying problem.
Change-Id: I8e4439e5e2c517aa80a1750a05c207d274c73012
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125980
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I0f39dea1392eb2ba11881615aedbe386870282ee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125324
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I3b4226a9d089ec9aedab95d96e50a068f57a76c7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123991
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I48c59e267683e081ef45049b280eb38ce231a39c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123723
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This is clang-cl's equivalent of -fvisibility-inlines-hidden,
and it seems to be also sort of the equivalent of MSVC's
-Zc:inline. So it saves build time and disk space.
Clang docs say that this is binary compatible in only one
direction, so our public C++ code shouldn't be using this,
as external C++ code could try to use exported inlines
that are no longer there.
Change-Id: Ie6217808f8ee4a15344183abfc65038e1558d1b0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122352
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: Ic5abfe2d047750d8dfd3ae8cc733fa15d34ea505
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121432
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Previously, all of the README files have been renamed to README.md
and now, the contents of these files were changed to use Markdown
format. Other than format inconsistency, some README.md files lacked
information about modules, or were out of date. By using LibreOffice
/ OpenOffice wiki and other documentation websites, these files were
updated. Now every README.md file has a title, and some description.
The top-level README.md file is changed to add links to the modules.
The result of processing the Markdown format README.md files can be
seen at: https://docs.libreoffice.org/
Change-Id: Ic3b0c3c064a2498d6a435253b041df010cd7797a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113424
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
|
|
Renaming all README files for all top level modules to README.md,
applying no content change at this stage to be able to track history
of the files. These files should be edited to use correct Markdown
syntax later.
Change-Id: I542fa3f3d32072156f16eaad2211a397cc212665
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112977
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
Change-Id: I2c1337f54934222580a95ac90c162d880e923110
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105700
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
Change-Id: If95f1ea5a81de62eb4f725e5fcb30ccb8530062a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87372
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here
and only for files that are actually compiling
Change-Id: I70357eade9552984fdb3b7590f1e8237a02a7d1d
Reviewed-on: https://gerrit.libreoffice.org/65650
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
|
|
Change-Id: I651b7f202fa52ff5f5357a11aa72c43eb7dc7f95
Reviewed-on: https://gerrit.libreoffice.org/64102
Tested-by: Jenkins
Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
|
|
This gets rid of the horrible hack in gbuild.mk to accomodate the
case-incorrect iOS platform makefiles that cannot be renamed without
upsetting git on file systems that sadly lack the case sensitivity
feature.
Keep the macro defined to IOS though.
Change-Id: I1022bfef4900da00e75fc1ccce786b20f8673234
Reviewed-on: https://gerrit.libreoffice.org/62705
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
|
|
which seem to have snuck back in since the great rounds of removals.
Change-Id: I85f7f5f4801c0b48dae8b50f51f83595b286d6a1
Reviewed-on: https://gerrit.libreoffice.org/62229
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ia25ac2e40f29e5b766a4c5c013fb53274196f656
Reviewed-on: https://gerrit.libreoffice.org/61934
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
redundant get() call on smart pointer
Change-Id: Icb5a03bbc15e79a30d3d135a507d22914d15c2bd
Reviewed-on: https://gerrit.libreoffice.org/61837
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The comments talk about unspecific "compilation and/or linking errors" with MSVC
2008 and 2013, but building with latest MSVC 2017 at least works fine now, so
assume the workaround is no longer needed. (Theoretically, external code being
compiled with older MSVC could run into problems now, but lets take that risk of
becoming slightly build-time incompatible here.)
Change-Id: I9e20be355c765c3a881502773963a61305eb00f3
Reviewed-on: https://gerrit.libreoffice.org/60135
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Also remove SlideSorter::CreateController which only calls new;
fix a memory leak in osl_Security's MyTestPlugInImpl::initialize
Change-Id: I70b6e888984f8543adbf879162e752556d2b3f0e
Reviewed-on: https://gerrit.libreoffice.org/59805
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.
Change-Id: Iaef3e980a96e8a831458e42540795b922bec5ab4
Reviewed-on: https://gerrit.libreoffice.org/58810
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
Change-Id: I05f1706931612d4d8804cecd860b7195861b1149
Reviewed-on: https://gerrit.libreoffice.org/49043
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
since cdecl is the default calling convention on Windows for
such functions, the annotation is redundant.
Change-Id: I1a85fa27e5ac65ce0e04a19bde74c90800ffaa2d
Reviewed-on: https://gerrit.libreoffice.org/46164
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Id6820abec4b8ca8bee26d62b333fd30b42a14aec
Reviewed-on: https://gerrit.libreoffice.org/46007
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
first, since those are safer to change than virtual methods
Change-Id: Ie3b624019d75ee2b793cee33b3c5f64e994e8bfe
Reviewed-on: https://gerrit.libreoffice.org/45798
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I88c8822356298ba1a0ff60dc53a5c4ae32d7eb1b
|
|
Change-Id: I899a8126c9d971601fea6c77eca165718aea0ac5
Reviewed-on: https://gerrit.libreoffice.org/41237
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I5e8e4a9a31aa7c3ff54cc7ce137d08770ea297e1
Reviewed-on: https://gerrit.libreoffice.org/40279
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Low level functions will not be tested
Change-Id: I72fa44ea713639db97e39801a3975d6731a684c2
|
|
There are a number of instances where OSL_ASSERT are just not
necessary. Also, we need to change from testing if something
is/is not equal to nullptr and just use the simpler form.
Change-Id: I7e0b7deb12f0189030f66dd14ab23287341c82b7
Reviewed-on: https://gerrit.libreoffice.org/38507
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
|
|
The following changes made:
- Unnecessary line breaks makes reading the file difficult
- Convert to doxygen comments
- Move comment at end of file to more appropriate position,
convert to doxygen style commenting, and remove sig
- Remove unnecessary comments
Change-Id: I0c2c40de953cd9ad90133ca2d96ae742594f4ec6
Reviewed-on: https://gerrit.libreoffice.org/38505
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
|
|
Change-Id: I8691a627bbf78ce83db595053d6e254557641408
Reviewed-on: https://gerrit.libreoffice.org/38506
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
|
|
Change-Id: I832f7ef0f1bd55e365db7e49823fe8bc30390c04
Reviewed-on: https://gerrit.libreoffice.org/38215
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
This reverts commit 26a67002fcb9381b54de6cae1aaa37120d49066a. "Iff" is not a
typo, see 2a65bf32ec270484dcea4d22d3c93552dc0c24dd "Revert 'Typo: iff->if'".
|
|
Only replaced "iff" with "if"
Change-Id: Ib9dfa5c12b05500043147fe3b65f923b1b12a581
Reviewed-on: https://gerrit.libreoffice.org/37782
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Eike Rathke <erack@redhat.com>
|
|
Change-Id: I365d140446bd2a62cf8256acbfdd53fe72987380
|
|
Change-Id: Ibbb8cf124b79626e89938a79f40f8ee714af8e86
|
|
Uwinapi is discontinued.
Change-Id: I063b4d0d8fab2d60de168e960a63b8181158ac01
Reviewed-on: https://gerrit.libreoffice.org/23198
Reviewed-by: David Ostrovsky <david@ostrovsky.org>
Tested-by: David Ostrovsky <david@ostrovsky.org>
|
|
Condition is deprecated already, but there is no need for the
us to use the low-level C-API, when in fact there is a C++ fascade
that calls on this via the C++ abstraction, osl::Condition.
This will make it much easier to switch to using std::condition_variable
Change-Id: Ia362666ff241293e143de0fa1dc0bc3a990bef82
Reviewed-on: https://gerrit.libreoffice.org/35388
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
Tested-by: Chris Sherlock <chris.sherlock79@gmail.com>
|
|
...(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>
|
|
not randomly scattered through the code
found with something like:
git ls-files *.cpp | xargs grep -Pzl "(?s){.*#include"
Change-Id: I9c242fa4ef99e8677f2800d7ec9f16d16e488351
Reviewed-on: https://gerrit.libreoffice.org/30952
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
And also address a few new warnings in sal, plus silence such warnings
in salhelper till we can't print typeids out of the box.
Change-Id: I38049146710b6885f6a874bf74eedbc38b4d4651
Reviewed-on: https://gerrit.libreoffice.org/29809
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
|