Hello Damjan, On Fri, Apr 29, 2022 at 04:53:59AM +0200, Damjan Jovanovic wrote:
> On Thu, Apr 28, 2022 at 8:46 PM Arrigo Marchiori <ard...@yahoo.it.invalid> > wrote: > > > Hello Damjan, > > > > On Thu, Apr 28, 2022 at 06:53:43PM +0200, Damjan Jovanovic wrote: > > > > > On Thu, Apr 28, 2022 at 6:12 PM Arrigo Marchiori <ard...@yahoo.it.invalid > > > > > > wrote: > > > > > > > Dear Damjan, All, > > > > > > > > On Tue, Apr 26, 2022 at 07:56:22PM +0200, Damjan Jovanovic wrote: > > > > > > > > > On Mon, Nov 15, 2021 at 9:57 PM Jim Jagielski <j...@jagunet.com> > > wrote: > > > > > > > > > > > I'm gonna look into the serf->(lib)curl option... Since we don't > > use > > > > any > > > > > > of the fancy features of serf, I'm thinking that the easy option > > might > > > > be > > > > > > best > > > > > > > > > > > > > > > > > > > > Hi > > > > > > > > > > I've ported our WebDAV content provider module from Serf to Curl. > > > > > > > > Binary for Linux available here for download: > > > > > > > > > > https://home.apache.org/~ardovm/openoffice/linux/openoffice4-serf2curl-2022-04-28-installed.tar.bz2 > > > > > > > > I understand from your previous message that you don't really like > > > > GitHub, so I am writing here. > > > > > > > > [...] > > > > > STATUS > > > > > > > > > > It builds and works well on FreeBSD and Windows. > > > > > > > > > > Most of the code was reused, and all the operations and semantics > > > > > previously present with Serf, should have been preserved. > > > > > > > > > > Browsing WebDAV files and directories, loading files, overwriting > > them > > > > > ("Save"), creating them ("Save As"), renaming and deleting them, all > > > > works. > > > > > > > > I am testing the binary for Linux linked above. > > > > > > > > I tried "Open" and entered a https address, that I know is password > > > > protected. > > > > > > > > The current trunk would ask for the password. I got an error message > > > > instead: > > > > > > > > > > Nonexistent object. > > > > > > Nonexistent file. > > > > > > > > The address I tried to open is in the form https://host.domain:port/ > > > > > > > > I tried to substitute "https" with "davs" and I got the same error. > > > > > > > > Maybe something is going wrong in the Linux build? > > > > > > > > I will now begin recompiling with debugging symbols enabled. Please > > > > let me know how I can help. > > > > > > > > > > That's not good :(. > > > > > > Set your macro security to "Medium", open the spreadsheet I've attached, > > > and run the "RunMe" Basic macro. That should enable logging to the > > console > > > at the finest level of detail. Then exit and re-run AOO like this: > > > soffice 2>&1 | tee /tmp/log.txt > > > and examine the console output interactively as you use AOO, and/or check > > > the log file afterwards. It should have everything, our logging, HTTP > > > request and response headers and bodies, Curl's internal logging. > > > > I can't get to that point. > > > > I fired gdb and it seems that I end up into the blind > > catch (Exception const &) > > block in file ucb/source/core/provprox.cxx:361 > > > > Method UcbContentProviderProxy::getContentProvider() in fact is called > > many times, but it only fails when I enter the https url in the "Open" > > dialog box and press ENTER. > > > > Sorry this is all the debugging I can do for today. I hope it helps. > > > > > When I run your Linux binaries, I also get that error. > > One problem is libcurl -> openssl. > > "ldd ./libcurl.so" shows: > libssl.so.10 => not found > libcrypto.so.10 => not found This probably means that we have to ship our own binaries of openssl on Linux. > When I rename AOO's libcurl.so so that it's forced to use my system libcurl > instead, it proceeds further, but runs into another problem: > > Thread 1 "soffice.bin" received signal SIGSEGV, Segmentation fault. > 0x0000000000000001 in ?? () [...snip of stack trace with no debugging symbols...] > > It gets far enough to log and produces some output before the crash: > > 1 1 2022-04-29 02:24:24.03 CurlSession::CurlSession with > URL https://10.0.2.2:82/files/ > 2 1 2022-04-29 02:24:24.03 Not using a proxy server > 3 1 2022-04-29 02:24:24.03 PROPFIND line 914 > 4 1 2022-04-29 02:24:24.03 [CurlINFO ] Trying 10.0.2.2:82 > ... > 5 1 2022-04-29 02:24:24.03 [CurlINFO ] TCP_NODELAY set > 6 1 2022-04-29 02:24:24.03 [CurlINFO ] Connected to > 10.0.2.2 (10.0.2.2) port 82 (#0) > 7 1 2022-04-29 02:24:24.03 [CurlINFO ] ALPN, offering h2 > 8 1 2022-04-29 02:24:24.03 [CurlINFO ] ALPN, offering > http/1.1 > 9 1 2022-04-29 02:24:24.04 [CurlINFO ] successfully set > certificate verify locations: > 10 1 2022-04-29 02:24:24.04 [CurlINFO ] CAfile: > /etc/ssl/certs/ca-certificates.crt > CApath: /etc/ssl/certs > > It connects and seems to begin the SSL negotiations, and then probably > crashes while doing the verify_callback we set with SSL_CTX_set_verify(). > > I suspect the Curl and/or OpenSSL headers used to build AOO, and their > libraries available at runtime, are incompatible. > > What happens if you run AOO on the same machine it was built on? I get more or less the same outcome as you. To be clear: I rebuilt on ``bare metal'' (no Docker) and ran the binary straight away. The fastest way to crash is to check for updates. Stack trace: [with debugging symbols only for AOO-provided libraries] #0 0x00007fff00000001 in () #1 0x00007fffc3d96172 in () at /usr/lib64/libssl.so.1.1 #2 0x00007fffc3d96772 in () at /usr/lib64/libssl.so.1.1 #3 0x00007fffc3dc7ac4 in () at /usr/lib64/libssl.so.1.1 #4 0x00007fffc3dbed06 in () at /usr/lib64/libssl.so.1.1 #5 0x00007fffc3daaf44 in SSL_do_handshake () at /usr/lib64/libssl.so.1.1 #6 0x00007fffcc199eec in ossl_connect_step2 () at /workspace/AOO/main/instsetoo_native/unxlngx6.pro/Apache_OpenOffice/installed/install/en-US/openoffice4/program/../program/libcurl.so.4 #7 0x00007fffcc19c411 in ossl_connect_common () at /workspace/AOO/main/instsetoo_native/unxlngx6.pro/Apache_OpenOffice/installed/install/en-US/openoffice4/program/../program/libcurl.so.4 #8 0x00007fffcc19d2b7 in Curl_ssl_connect_nonblocking () at /workspace/AOO/main/instsetoo_native/unxlngx6.pro/Apache_OpenOffice/installed/install/en-US/openoffice4/program/../program/libcurl.so.4 #9 0x00007fffcc169302 in https_connecting () at /workspace/AOO/main/instsetoo_native/unxlngx6.pro/Apache_OpenOffice/installed/install/en-US/openoffice4/program/../program/libcurl.so.4 #10 0x00007fffcc16a7ab in Curl_http_connect () at /workspace/AOO/main/instsetoo_native/unxlngx6.pro/Apache_OpenOffice/installed/install/en-US/openoffice4/program/../program/libcurl.so.4 #11 0x00007fffcc1796f2 in multi_runsingle () at /workspace/AOO/main/instsetoo_native/unxlngx6.pro/Apache_OpenOffice/installed/install/en-US/openoffice4/program/../program/libcurl.so.4 #12 0x00007fffcc17a7db in curl_multi_perform () at /workspace/AOO/main/instsetoo_native/unxlngx6.pro/Apache_OpenOffice/installed/install/en-US/openoffice4/program/../program/libcurl.so.4 #13 0x00007fffcc159833 in curl_easy_perform () at /workspace/AOO/main/instsetoo_native/unxlngx6.pro/Apache_OpenOffice/installed/install/en-US/openoffice4/program/../program/libcurl.so.4 #14 0x00007fff9aff4d38 in http_dav_ucp::CurlRequest::perform() (this=this@entry=0x7fff9bdee500) at /workspace/AOO/main/ucb/source/ucp/webdav/CurlRequest.cxx:266 #15 0x00007fff9aff4fc6 in http_dav_ucp::CurlRequest::get(http_dav_ucp::CurlUri, rtl::OUString) (this=this@entry=0x7fff9bdee500, uri=..., path=...) at /workspace/AOO/main/ucb/source/ucp/webdav/CurlRequest.cxx:189 #16 0x00007fff9aff0d57 in http_dav_ucp::CurlSession::GET(rtl::OUString const&, std::vector<rtl::OUString, std::allocator<rtl::OUString> > const&, http_dav_ucp::DAVResource&, http_dav_ucp::DAVRequestEnvironment const&) (this=this@entry=0x7fffa066b8b0, inPath=..., inHeaderNames=..., ioResource=..., rEnv=...) at /workspace/AOO/main/ucb/source/ucp/webdav/CurlSession.cxx:1098 #17 0x00007fff9afe1229 in http_dav_ucp::DAVResourceAccess::GET(std::vector<rtl::OUString, std::allocator<rtl::OUString> > const&, http_dav_ucp::DAVResource&, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) (this=0x7fffa0677b50, rHeaderNames=..., rResource=..., xEnv=...) at /workspace/AOO/main/ucb/source/ucp/webdav/DAVResourceAccess.cxx:443 #18 0x00007fff9afcd03b in http_dav_ucp::Content::open(com::sun::star::ucb::OpenCommandArgument2 const&, com::sun::star::uno::Reference<com::sun::star::ucb::XCommandEnvironment> const&) (this=this@entry=0x7fffa066b7b0, rArg=..., xEnv=...) at /workspace/AOO/main/ucb/source/ucp/webdav/webdavcontent.cxx:2282 As I wrote above, according to your suspects, it may be worthwile to bundle curl and openssl binaries. I will try to follow this path. It should be a matter of parameters to the configure script. Best regards, -- Arrigo --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org For additional commands, e-mail: dev-h...@openoffice.apache.org