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 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 ?? () (gdb) bt #0 0x0000000000000001 in ?? () #1 0x00007fffd6d52a76 in ?? () from /lib/x86_64-linux-gnu/libssl.so.1.1 #2 0x00007fffd6d52f75 in ?? () from /lib/x86_64-linux-gnu/libssl.so.1.1 #3 0x00007fffd6d8505d in ?? () from /lib/x86_64-linux-gnu/libssl.so.1.1 #4 0x00007fffd6d7c37e in ?? () from /lib/x86_64-linux-gnu/libssl.so.1.1 #5 0x00007fffd6d67d98 in SSL_do_handshake () from /lib/x86_64-linux-gnu/libssl.so.1.1 #6 0x00007fffe4154e40 in ?? () from /lib/x86_64-linux-gnu/libcurl.so.4 #7 0x00007fffe41571a2 in ?? () from /lib/x86_64-linux-gnu/libcurl.so.4 #8 0x00007fffe415814f in ?? () from /lib/x86_64-linux-gnu/libcurl.so.4 #9 0x00007fffe4103296 in ?? () from /lib/x86_64-linux-gnu/libcurl.so.4 #10 0x00007fffe4104d13 in ?? () from /lib/x86_64-linux-gnu/libcurl.so.4 #11 0x00007fffe412597d in ?? () from /lib/x86_64-linux-gnu/libcurl.so.4 #12 0x00007fffe4126a11 in curl_multi_perform () from /lib/x86_64-linux-gnu/libcurl.so.4 #13 0x00007fffe411ce8b in curl_easy_perform () from /lib/x86_64-linux-gnu/libcurl.so.4 #14 0x00007fffc3c1c972 in ?? () from /home/user/openoffice4/program/../program/libucpdav1.so #15 0x00007fffc3c1d02a in ?? () from /home/user/openoffice4/program/../program/libucpdav1.so #16 0x00007fffc3c13e37 in ?? () from /home/user/openoffice4/program/../program/libucpdav1.so #17 0x00007fffc3c18c70 in ?? () from /home/user/openoffice4/program/../program/libucpdav1.so #18 0x00007fffc3c08586 in ?? () from /home/user/openoffice4/program/../program/libucpdav1.so #19 0x00007fffc3bf25c2 in ?? () from /home/user/openoffice4/program/../program/libucpdav1.so #20 0x00007fffc3bf2b34 in ?? () from /home/user/openoffice4/program/../program/libucpdav1.so #21 0x00007fffc3bf7681 in ?? () from /home/user/openoffice4/program/../program/libucpdav1.so #22 0x00007ffff48380e0 in ?? () from /home/user/openoffice4/program/libucbhelpergcc3.so #23 0x00007ffff483835a in ucbhelper::Content::getPropertyValuesInterface(com::sun::star::uno::Sequence<rtl::OUString> const&) () from /home/user/openoffice4/program/libucbhelpergcc3.so #24 0x00007ffff48383db in ucbhelper::Content::getPropertyValues(com::sun::star::uno::Sequence<rtl::OUString> const&) () from /home/user/openoffice4/program/libucbhelpergcc3.so #25 0x00007ffff483851b in ucbhelper::Content::getPropertyValue(rtl::OUString const&) () from /home/user/openoffice4/program/libucbhelpergcc3.so #26 0x00007ffff48386bd in ucbhelper::Content::isFolder() () from /home/user/openoffice4/program/libucbhelpergcc3.so 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?