summaryrefslogtreecommitdiff
path: root/unotools
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2021-03-01 12:11:19 +0100
committerStephan Bergmann <sbergman@redhat.com>2021-03-01 15:45:12 +0100
commit2977dc5846b557bb9c7dc33ac92921f7b4096763 (patch)
tree368e76e1bc4e95c869ab28896f671d1c5ae752c1 /unotools
parent027cc8c90badd4dd8a3436d859587c1b8732459f (diff)
At least warn about the missing osl::Thread::join with a TODO comment
(as is already done in other such cases, too). This apparently randomly hit e.g. <https://ci.libreoffice.org/job/gerrit_linux_clang_dbgutil/81371/> now, > Program terminated with signal 11, Segmentation fault. > > Thread 2 (Thread 0x2b2d9ec16600 (LWP 23008)): [...] > #72 0x00002b2d9edff4d2 in configmgr::Components::~Components() (this=0x2b2d9ef26e58 <configmgr::Components::getSingleton(com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&)::singleton>) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/configmgr/source/components.cxx:641 > #73 0x00002b2d854cdce9 in __run_exit_handlers () at /lib64/libc.so.6 > #74 0x00002b2d854cdd37 in () at /lib64/libc.so.6 > #75 0x00002b2d854b655c in __libc_start_main () at /lib64/libc.so.6 > #76 0x00000000004007a9 in _start () > > Thread 1 (Thread 0x2b2db04a5700 (LWP 24092)): > #0 0x00002b2d8672a36b in pthread_rwlock_wrlock () at /lib64/libpthread.so.0 > #1 0x00002b2db00d97d5 in CRYPTO_THREAD_write_lock (lock=0x0) at crypto/threads_pthread.c:78 > #2 0x00002b2db00a9b69 in RAND_get_rand_method () at crypto/rand/rand_lib.c:847 > #3 0x00002b2db00aa30d in RAND_status () at crypto/rand/rand_lib.c:956 > #4 0x00002b2daff92b9d in seed_ssl_prng () at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/workdir/UnpackedTarball/neon/src/ne_socket.c:265 > #5 0x00002b2daff929c9 in ne_sock_connect_ssl (sock=0x29845a0, ctx=0x34e6150, userdata=0x1e224e0) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/workdir/UnpackedTarball/neon/src/ne_socket.c:1800 > #6 0x00002b2daff9ac02 in ne__negotiate_ssl (sess=0x1e224e0) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/workdir/UnpackedTarball/neon/src/ne_openssl.c:717 > #7 0x00002b2daff8de68 in open_connection (sess=0x1e224e0) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/workdir/UnpackedTarball/neon/src/ne_request.c:1716 > #8 0x00002b2daff8cfd6 in send_request (req=0x351d930, request=0x2ea4460) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/workdir/UnpackedTarball/neon/src/ne_request.c:1021 > #9 0x00002b2daff8c698 in ne_begin_request (req=0x351d930) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/workdir/UnpackedTarball/neon/src/ne_request.c:1255 > #10 0x00002b2daff8db25 in ne_request_dispatch (req=0x351d930) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/workdir/UnpackedTarball/neon/src/ne_request.c:1466 > #11 0x00002b2dafe4921b in webdav_ucp::NeonSession::OPTIONS(rtl::OUString const&, webdav_ucp::DAVOptions&, webdav_ucp::DAVRequestEnvironment const&) (this=0x34e6390, inPath="/api/Icons.json", rOptions=..., rEnv=...) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/ucb/source/ucp/webdav-neon/NeonSession.cxx:879 > #12 0x00002b2dafe11bbc in webdav_ucp::DAVResourceAccess::OPTIONS(webdav_ucp::DAVOptions&, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) (this=0x34e7880, rOptions=..., xEnv=uno::Reference to (utl::(anonymous namespace)::UcbTaskEnvironment *) 0x34e8908) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/ucb/source/ucp/webdav-neon/DAVResourceAccess.cxx:187 > #13 0x00002b2dafe9fc28 in webdav_ucp::Content::getResourceOptions(com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&, webdav_ucp::DAVOptions&, std::unique_ptr<webdav_ucp::DAVResourceAccess, std::default_delete<webdav_ucp::DAVResourceAccess> > const&, bool*) (this=0x34e8970, xEnv=uno::Reference to (utl::(anonymous namespace)::UcbTaskEnvironment *) 0x34e8908, rDAVOptions=..., rResAccess=..., networkAccessAllowed=0x0) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/ucb/source/ucp/webdav-neon/webdavcontent.cxx:3928 > #14 0x00002b2dafe90664 in webdav_ucp::Content::open(com::sun::star::ucb::OpenCommandArgument3 const&, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) (this=0x34e8970, rArg=..., xEnv=uno::Reference to (utl::(anonymous namespace)::UcbTaskEnvironment *) 0x34e8908) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/ucb/source/ucp/webdav-neon/webdavcontent.cxx:2225 > #15 0x00002b2dafe87e0d in webdav_ucp::Content::execute(com::sun::star::ucb::Command const&, int, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) (this=0x34e8970, aCommand=..., Environment=uno::Reference to (utl::(anonymous namespace)::UcbTaskEnvironment *) 0x34e8908) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/ucb/source/ucp/webdav-neon/webdavcontent.cxx:553 > #16 0x00002b2dafe997c1 in non-virtual thunk to webdav_ucp::Content::execute(com::sun::star::ucb::Command const&, int, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) () at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/instdir/program/../program/libucpdav1.so > #17 0x00002b2d8d5436aa in ucbhelper::Content_Impl::executeCommand(com::sun::star::ucb::Command const&) (this=0x34cbbd0, rCommand=...) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/ucbhelper/source/client/content.cxx:1255 > #18 0x00002b2d8d5447b6 in ucbhelper::Content::executeCommand(rtl::OUString const&, com::sun::star::uno::Any const&) (this=0x34e8858, rCommandName="open", rCommandArgument=uno::Any("com.sun.star.ucb.OpenCommandArgument2": {<com::sun::star::ucb::OpenCommandArgument> = {Mode = 2, Priority = 0, Sink = uno::Reference to (utl::(anonymous namespace)::ModeratorsActiveDataSink *) 0x34e7100, Properties = empty uno::Sequence}, SortingInfo = empty uno::Sequence})) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/ucbhelper/source/client/content.cxx:558 > #19 0x00002b2d8d8257a6 in utl::(anonymous namespace)::Moderator::run() (this=0x34e87b0) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/unotools/source/ucbhelper/ucblockbytes.cxx:580 > #20 0x00002b2d8d82cd9e in threadFunc(void*) (param=0x34e87b0) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/include/osl/thread.hxx:189 > #21 0x00002b2d850b3f3a in osl_thread_start_Impl(void*) (pData=0x34e7200) at /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/sal/osl/unx/thread.cxx:264 > #22 0x00002b2d86726ea5 in start_thread () at /lib64/libpthread.so.0 > #23 0x00002b2d8559296d in clone () at /lib64/libc.so.6 during UITest_sw_options Change-Id: I739bca5c27fba12efb9ed0e902e8d9d1a06c49af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111742 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'unotools')
-rw-r--r--unotools/source/ucbhelper/ucblockbytes.cxx3
1 files changed, 3 insertions, 0 deletions
diff --git a/unotools/source/ucbhelper/ucblockbytes.cxx b/unotools/source/ucbhelper/ucblockbytes.cxx
index 1eeb47b229d4..a02652290b6a 100644
--- a/unotools/source/ucbhelper/ucblockbytes.cxx
+++ b/unotools/source/ucbhelper/ucblockbytes.cxx
@@ -680,6 +680,9 @@ static bool UCBOpenContentSync(
{
pMod = new Moderator(xContent,xInteract,rArg);
pMod->create();
+ //TODO: a protocol is missing how to join with the launched thread before exit(3), to
+ // ensure the thread is no longer relying on any infrastructure while that
+ // infrastructure is being shut down in atexit handlers
}
catch (const ContentCreationException&)
{