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?

Reply via email to