Issue 128535 - MacOS: Application crashes 30 seconds after opening if "check for automatic updates" is turned on
Summary: MacOS: Application crashes 30 seconds after opening if "check for automatic u...
Status: REOPENED
Alias: None
Product: Writer
Classification: Application
Component: programming (show other issues)
Version: 4.1.13
Hardware: Mac macOS 12.0
: P5 (lowest) Normal (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
URL:
Keywords: crash
Depends on:
Blocks:
 
Reported: 2022-08-22 20:00 UTC by sundialservices
Modified: 2024-02-12 16:23 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description sundialservices 2022-08-22 20:00:24 UTC
OpenOffice on MacOS was consistently crashing within 30 seconds after opening.

An entry in "~/Library/Logs/DiagnosticReports" provided the following clue that the "automatic check for updates" process was the cause of the crash.  Turning off this option made the problem go away.

Thread 5 Crashed:
0   libplds4.dylib                	       0x16859d0a5 PL_HashTableLookupConst + 16
1   libnssutil3.dylib             	       0x168a273da SECOID_FindOID_Util + 25
2   libsmime3.dylib               	       0x1688c95b0 CERT_DecodeCertPackage + 335
3   libnss3.dylib                 	       0x168ed7b40 0x168e14000 + 801600
4   libnss3.dylib                 	       0x168ed7de3 0x168e14000 + 802275
5   libnss3.dylib                 	       0x168ed3ed0 0x168e14000 + 786128
6   libnss3.dylib                 	       0x168ed4cca 0x168e14000 + 789706
7   libnss3.dylib                 	       0x168ea0ef0 0x168e14000 + 577264
8   libnss3.dylib                 	       0x168e9f631 0x168e14000 + 570929
9   libnss3.dylib                 	       0x168e9d9f4 0x168e14000 + 563700
10  libnss3.dylib                 	       0x168e24b8d CERT_PKIXVerifyCert + 1437
11  libxsec_xmlsec.dylib          	       0x1689ba337 SecurityEnvironment_NssImpl::verifyCertificate(com::sun::star::uno::Reference<com::sun::star::security::XCertificate> const&, com::sun::star::uno::Sequence<com::sun::star::uno::Reference<com::sun::star::security::XCertificate> > const&) + 1735
12  libucpdav1.dylib              	       0x1687bbece http_dav_ucp::SerfSession::verifySerfCertificateChain(int, serf_ssl_certificate_t const* const*, int) + 2398
13  libserf-1.dylib               	       0x168aabf2a 0x168aa4000 + 32554
14  libserf-1.dylib               	       0x168bcaed6 X509_verify_cert + 2262
15  libserf-1.dylib               	       0x168adf6dc ssl_verify_cert_chain + 444
16  libserf-1.dylib               	       0x168ab8f60 ssl3_get_server_certificate + 368
17  libserf-1.dylib               	       0x168ab7d9f ssl3_connect + 2319
18  libserf-1.dylib               	       0x168ac7f1c ssl23_connect + 3100
19  libserf-1.dylib               	       0x168ac826f ssl23_read + 79
20  libserf-1.dylib               	       0x168aac801 0x168aa4000 + 34817
21  libserf-1.dylib               	       0x168aa66ef serf_databuf_peek + 79
22  libserf-1.dylib               	       0x168aae885 serf__process_connection + 309
23  libserf-1.dylib               	       0x168aa5e24 serf_event_trigger + 180
24  libserf-1.dylib               	       0x168aa5f09 serf_context_run + 185
25  libucpdav1.dylib              	       0x1687b4110 http_dav_ucp::SerfRequestProcessor::runProcessor() + 112
26  libucpdav1.dylib              	       0x1687b4316 http_dav_ucp::SerfRequestProcessor::processGet(com::sun::star::uno::Reference<http_dav_ucp::SerfInputStream> const&, std::__1::vector<rtl::OUString, std::__1::allocator<rtl::OUString> > const&, http_dav_ucp::DAVResource&, int&) + 54
27  libucpdav1.dylib              	       0x1687befd7 http_dav_ucp::SerfSession::GET(rtl::OUString const&, std::__1::vector<rtl::OUString, std::__1::allocator<rtl::OUString> > const&, http_dav_ucp::DAVResource&, http_dav_ucp::DAVRequestEnvironment const&) + 263
28  libucpdav1.dylib              	       0x1687a288a http_dav_ucp::DAVResourceAccess::GET(std::__1::vector<rtl::OUString, std::__1::allocator<rtl::OUString> > const&, http_dav_ucp::DAVResource&, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) + 458
29  libucpdav1.dylib              	       0x168788933 http_dav_ucp::Content::open(com::sun::star::ucb::OpenCommandArgument2 const&, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) + 1763
30  libucpdav1.dylib              	       0x16877f6fa http_dav_ucp::Content::execute(com::sun::star::ucb::Command const&, int, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) + 2714
31  libucpdav1.dylib              	       0x16878e082 non-virtual thunk to http_dav_ucp::Content::execute(com::sun::star::ucb::Command const&, int, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) + 18
32  updatefeed.uno.dylib          	       0x1683ff667 0x1683fa000 + 22119
33  updatefeed.uno.dylib          	       0x1683fea4e 0x1683fa000 + 19022
34  updatefeed.uno.dylib          	       0x1683ff152 0x1683fa000 + 20818
35  updchk.uno.dylib              	       0x11a5a8b24 checkForUpdates(UpdateInfo&, com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const&, com::sun::star::uno::Reference<com::sun::star::task::XInteractionHandler> const&, com::sun::star::uno::Reference<com::sun::star::deployment::XUpdateInformationProvider> const&) + 1460
36  updchk.uno.dylib              	       0x11a59de00 0x11a595000 + 36352
37  updchk.uno.dylib              	       0x11a59db1f 0x11a595000 + 35615
38  libsofficeapp.dylib           	       0x10f46d5cf threadFunc + 15
39  libuno_sal.dylib.3            	       0x10f56e855 0x10f568000 + 26709
40  libsystem_pthread.dylib       	    0x7ff80c9064e1 _pthread_start + 125
41  libsystem_pthread.dylib       	    0x7ff80c901f6b thread_start + 15
Comment 1 oooforum (fr) 2022-10-22 09:13:38 UTC
Not reproduced.
Reset the user profile and try again

See https://forum.openoffice.org/en/forum/viewtopic.php?t=91965 and Q02
Comment 2 Matthias Seidel 2022-10-22 09:24:04 UTC
This is a problem reported by many Apple users on Intel platform.

This does NOT happen on Apple M1 when AOO is run via Rosetta 2.
Comment 3 Matthias Seidel 2024-02-11 13:12:08 UTC
See:
https://bz.apache.org/ooo/show_bug.cgi?id=128591

Maybe we have the same root problem here?
Comment 4 sundialservices 2024-02-12 15:44:41 UTC
Problem #128591 is probably a duplicate of this issue.

The real problem here is that OpenOffice allows an exception to percolate all the way to the top – to the operating system, which responds by killing the entire process.  No matter what actually happens during the "automatic update" process, OO should "try" it, and "catch" anything that goes wrong. Right now it doesn't.
Comment 5 damjan 2024-02-12 16:23:05 UTC
(In reply to Matthias Seidel from comment #3)
> See:
> https://bz.apache.org/ooo/show_bug.cgi?id=128591
> 
> Maybe we have the same root problem here?

No it's not. The port of WebDAV to Curl and OpenSSL was only done on trunk, and wasn't backported to AOO41X or AOO42X. This was reported with version 4.1.13, and even in the stack trace pasted here, you can see it's using Serf instead of Curl.

The crash here happens during the custom certificate verification process our WebDAV content provider uses, and happens within NSS. The Linux crash in bug 128591 happens earlier, while Curl calls into OpenSSL during the connection process, before reaching our custom certificate verification callback.

0   libplds4.dylib                	       0x16859d0a5 PL_HashTableLookupConst + 16
1   libnssutil3.dylib             	       0x168a273da SECOID_FindOID_Util + 25
2   libsmime3.dylib               	       0x1688c95b0 CERT_DecodeCertPackage + 335
3   libnss3.dylib                 	       0x168ed7b40 0x168e14000 + 801600
4   libnss3.dylib                 	       0x168ed7de3 0x168e14000 + 802275
5   libnss3.dylib                 	       0x168ed3ed0 0x168e14000 + 786128
6   libnss3.dylib                 	       0x168ed4cca 0x168e14000 + 789706
7   libnss3.dylib                 	       0x168ea0ef0 0x168e14000 + 577264
8   libnss3.dylib                 	       0x168e9f631 0x168e14000 + 570929
9   libnss3.dylib                 	       0x168e9d9f4 0x168e14000 + 563700
10  libnss3.dylib                 	       0x168e24b8d CERT_PKIXVerifyCert + 1437
11  libxsec_xmlsec.dylib          	       0x1689ba337 SecurityEnvironment_NssImpl::verifyCertificate(com::sun::star::uno::Reference<com::sun::star::security::XCertificate> const&, com::sun::star::uno::Sequence<com::sun::star::uno::Reference<com::sun::star::security::XCertificate> > const&) + 1735
12  libucpdav1.dylib              	       0x1687bbece http_dav_ucp::SerfSession::verifySerfCertificateChain(int, serf_ssl_certificate_t const* const*, int) + 2398