Bug#927731: epiphany-browser/i386: private libdazzle not loaded

2019-08-28 Thread Carlos Alberto Lopez Perez
On 28/08/2019 11:44, Simon McVittie wrote:
> On Wed, 28 Aug 2019 at 08:29:20 +0100, Simon McVittie wrote:
>> I'm not sure why the RPATH/RUNPATH isn't being set, because ephymain
>> and ephywebprocessextension both have "install_rpath: pkglibdir" in
>> their respective meson.build files, but for some reason only the one
>> for ephymain seems to "stick"?
> 
> ephywebprocessextension does seem to get a correct RUNPATH, so it
> isn't that.
> 
> The only binary that links to libdazzle but doesn't have a RUNPATH seems
> to be libephymisc.so (libephysync.so also doesn't have a RUNPATH, but
> it doesn't link directly to libdazzle either). I wonder whether one of
> those could be the problem? If you can reproduce this but you can't tell
> me how I can, please try an epiphany-browser built with this patch:
> 

To reproduce it, first remove the Debian package libdazzle-1.0-0 if
you have it installed

And then you can use any of this two options
1) Checking that the ugly warning about missing libdazzle doesn't appear when
starting epiphany from a shell 
2) Try to use Epiphany password manager to log into a previous site with saved
credentials (like bugzilla). If epiphany is able to automatically fill the saved
password then its working.


I tested the first patch (the one quoted below) and it fixed the issue for me.

> =
> diff --git a/lib/meson.build b/lib/meson.build
> index be5af33ef..0eb47570e 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -87,7 +87,8 @@ libephymisc = shared_library('ephymisc',
>dependencies: libephymisc_deps,
>include_directories: libephymisc_includes,
>install: true,
> -  install_dir: pkglibdir
> +  install_dir: pkglibdir,
> +  install_rpath: pkglibdir
>  )
>  
>  ephymisc_dep = declare_dependency(
> =
> 


After the above patch it seems to be working as expected (without having to 
install
Debian package libdazzle-1.0-0) and I can see how now it links with the right
library.

$ ldd 
/usr/lib/x86_64-linux-gnu/epiphany-browser/web-extensions/libephywebextension.so|grep
 -i dazz
libdazzle-1.0.so.0 => 
/usr/lib/x86_64-linux-gnu/epiphany-browser/libdazzle-1.0.so.0 
(0x7fd0f99d4000)



Thanks!



signature.asc
Description: OpenPGP digital signature


Bug#927731: epiphany-browser/i386: private libdazzle not loaded

2019-08-28 Thread Simon McVittie
On Wed, 28 Aug 2019 at 08:29:20 +0100, Simon McVittie wrote:
> I'm not sure why the RPATH/RUNPATH isn't being set, because ephymain
> and ephywebprocessextension both have "install_rpath: pkglibdir" in
> their respective meson.build files, but for some reason only the one
> for ephymain seems to "stick"?

ephywebprocessextension does seem to get a correct RUNPATH, so it
isn't that.

The only binary that links to libdazzle but doesn't have a RUNPATH seems
to be libephymisc.so (libephysync.so also doesn't have a RUNPATH, but
it doesn't link directly to libdazzle either). I wonder whether one of
those could be the problem? If you can reproduce this but you can't tell
me how I can, please try an epiphany-browser built with this patch:

=
diff --git a/lib/meson.build b/lib/meson.build
index be5af33ef..0eb47570e 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -87,7 +87,8 @@ libephymisc = shared_library('ephymisc',
   dependencies: libephymisc_deps,
   include_directories: libephymisc_includes,
   install: true,
-  install_dir: pkglibdir
+  install_dir: pkglibdir,
+  install_rpath: pkglibdir
 )
 
 ephymisc_dep = declare_dependency(
=

Or if that isn't sufficient, try adding this as well:

=
diff --git a/lib/sync/meson.build b/lib/sync/meson.build
index 5a5b066e8..73a0bfa1d 100644
--- a/lib/sync/meson.build
+++ b/lib/sync/meson.build
@@ -39,7 +39,8 @@ libephysync = shared_library('ephysync',
   dependencies: libephysync_deps,
   include_directories: libephysync_includes,
   install: true,
-  install_dir: pkglibdir
+  install_dir: pkglibdir,
+  install_rpath: pkglibdir
 )
 
 ephysync_dep = declare_dependency(
=

Thanks,
smcv



Bug#927731: epiphany-browser/i386: private libdazzle not loaded

2019-08-28 Thread Simon McVittie
On Wed, 28 Aug 2019 at 03:38:13 +0200, Carlos Alberto Lopez Perez wrote:
> What is broke is not the new search bar, but the libephywebextension.so
> which is unrelated with the search bar.
> 
> This extension is injected into the WebProcess and is used for things
> like remembering passwords on sites (the typical login form)

How can I make Epiphany try to load this extension? How can I tell
whether this feature is working?

(Please note that I am not an epiphany maintainer, only a GNOME team
member trying to help - so please do not assume that I know anything
about Epiphany beyond "it's a web browser and it uses GNOME libraries".)

> It seems that in the linking process this .so library got linked with
> the system libdazzle by mistake.

There is no system libdazzle during compilation of epiphany: linking with
a bundled library leaves the same DT_NEEDED reference to the SONAME of the
bundled library as linking with a system library of the same name. What
needs to happen is for the extension to also get a RPATH or RUNPATH
pointing to the bundled library - which seems to have worked as intended
for libephymain.so, at least on amd64, but not for libephywebextension.so.

I'm not sure why the RPATH/RUNPATH isn't being set, because ephymain
and ephywebprocessextension both have "install_rpath: pkglibdir" in
their respective meson.build files, but for some reason only the one
for ephymain seems to "stick"?

The fact that installing the system version of libdazzle makes it work
is somewhat unexpected, because the system version in buster is older
than the version required by Epiphany, which is why we're trying to use
the bundled copy in the first place. If the system copy was sufficient
then we would have preferred to use that one, which would have generated
a dpkg/apt-level dependency.

> rebuild this library declaring a build-conflicts with the system
> libdazzle

That wouldn't have any effect, because the system libdazzle was not
installed during compilation of epiphany-browser anyway. In the buildd
log, for example
https://buildd.debian.org/status/fetch.php?pkg=epiphany-browser=i386=3.32.1.2-2=1556409731=0
for i386:

Package versions: adduser_3.118 ... zlib1g-dev_1:1.2.11.dfsg-1
...
Dependency libdazzle-1.0 found: NO (tried pkgconfig and cmake)

the "Package versions" line (which lists every package installed in the
chroot) does not mention libdazzle.

smcv



Bug#927731: epiphany-browser/i386: private libdazzle not loaded

2019-08-27 Thread Carlos Alberto Lopez Perez
On 28/08/2019 03:07, Carlos Alberto Lopez Perez wrote:
> I can confirm this bug in last Debian sid (also in stable) and on AMD64.
> 
> if you simply do "apt install epiphany-browser" libdazzle-1.0-0 is not
> installed.
> 
> The problem is not only the ugly warning on stderr, but that you miss
> the new nice search bar at all. You can read about this here:
> 
> https://blogs.gnome.org/mcatanzaro/2019/03/27/epiphany-3-32-and-webkitgtk-2-24/
> 
> Installing libdazzle-1.0-0 fixes the problem and makes the new nice
> address bar work.
> 
> You can check this yourself by installing/removing libdazzle-1.0-0 and
> reopening epiphany and seeing the different address bar.
> 
> Please, declare a dependency on libdazzle for the epiphany-browser.

Sorry, seem i tested too fast here.

What is broke is not the new search bar, but the libephywebextension.so
which is unrelated with the search bar.

This extension is injected into the WebProcess and is used for things
like remembering passwords on sites (the typical login form)


Also you can check how libephywebextension.so only loads into the
WebKitWebProcess pid map if it can resolve the linker reference to
libdazzle.

It seems that in the linking process this .so library got linked with
the system libdazzle by mistake.


So the fix is either to declare a dependecy on the system libdazzle or
rebuild this library declaring a build-conflicts with the system
libdazzle to avoid this .so linking with it (instead the package embeded
copy of libdazzle)

$ ldd 
/usr/lib/x86_64-linux-gnu/epiphany-browser/web-extensions/libephywebextension.so|grep
 -i dazz
libdazzle-1.0.so.0 => not found


$ apt-cache policy epiphany-browser
epiphany-browser:
  Installed: 3.32.1.2-2
  Candidate: 3.32.1.2-2
  Version table:
 *** 3.32.1.2-2 990
990 http://httpredir.debian.org/debian buster/main amd64 Packages
100 /var/lib/dpkg/status




signature.asc
Description: OpenPGP digital signature


Bug#927731: epiphany-browser/i386: private libdazzle not loaded

2019-08-27 Thread Carlos Alberto Lopez Perez
On 28/04/2019 01:01, Simon McVittie wrote:
> Control: tags -1 + moreinfo
> 
> On Tue, 23 Apr 2019 at 02:46:53 +0800, 積丹尼 Dan Jacobson wrote:
>> SM> Does this perhaps depend on settings or something? If you create a new
>> SM> temporary user account, log in as the new user and run epiphany-browser,
>> SM> do you get the same warnings?
>>
>> Same on AMD64:
>>
>> $ su - some_vanilla_acct
>> $ DISPLAY=:0 epiphany
> ...
>> Error loading module 
>> '/usr/lib/x86_64-linux-gnu/epiphany-browser/web-extensions/libephywebextension.so':
>>  libdazzle-1.0.so.0: cannot open shared object file: No such file or 
>> directory
> 
> I haven't been able to reproduce this, but libephywebextension.so also
> doesn't appear in epiphany's /proc/$pid/maps for me.
> 


It doesn't appear inside the epiphany's pid map because
libephywebextension.so is a WebKitGTK WebProcess extension and not an
epiphany/UIProcess plugin.

It get's loaded in the WebKitWebProcess pid that epiphany executes.

And it only gets loaded if the linker is able to resolve all the symbols
(including libdazzle-1.0.so.0), otherwise the WebProcess skips loading it.

> Was some_vanilla_acct an entirely new user account with no prior
> configuration?
> 
> Do you have some sort of configuration, perhaps system-wide, that might
> cause epiphany-browser to load web extensions, where it doesn't for me?
> 
> Is there any feature that is observably not working as a result of
> libephywebextension.so not loading, or is the warning message the only
> symptom that you see?
> 

I can confirm this bug in last Debian sid (also in stable) and on AMD64.

if you simply do "apt install epiphany-browser" libdazzle-1.0-0 is not
installed.

The problem is not only the ugly warning on stderr, but that you miss
the new nice search bar at all. You can read about this here:

https://blogs.gnome.org/mcatanzaro/2019/03/27/epiphany-3-32-and-webkitgtk-2-24/

Installing libdazzle-1.0-0 fixes the problem and makes the new nice
address bar work.

You can check this yourself by installing/removing libdazzle-1.0-0 and
reopening epiphany and seeing the different address bar.

Please, declare a dependency on libdazzle for the epiphany-browser.

Thanks



signature.asc
Description: OpenPGP digital signature


Bug#927731: epiphany-browser/i386: private libdazzle not loaded

2019-07-27 Thread 積丹尼 Dan Jacobson
Why don't you guys use a different name for your special load.

I don't think there is any other example on Debian where this kind of
thing you are doing has been used.

And has been used successfully.

Just don't use the same name...

go into the sources, change whatever your using's name. Call it a
different name... problem solved.

$ epiphany $@
Error loading module 
'/usr/lib/x86_64-linux-gnu/epiphany-browser/web-extensions/libephywebextension.so':
 libdazzle-1.0.so.0: cannot open shared object file: No such file or directory



Bug#927731: epiphany-browser/i386: private libdazzle not loaded

2019-04-28 Thread 積丹尼 Dan Jacobson
# adduser dyy
$ su - dyy
dyy@jidanni8:~$ DISPLAY=:0 epiphany

(epiphany:12024): dbind-WARNING **: 06:20:42.763: Couldn't register with 
accessibility bus: Did not receive a reply. Possible causes include: the remote 
application did not send a reply, the message bus security policy blocked the 
reply, the reply timeout expired, or the network connection was broken.

(WebKitWebProcess:12047): dbind-WARNING **: 06:20:43.004: Couldn't register 
with accessibility bus: Did not receive a reply. Possible causes include: the 
remote application did not send a reply, the message bus security policy 
blocked the reply, the reply timeout expired, or the network connection was 
broken.
Error loading module 
'/usr/lib/x86_64-linux-gnu/epiphany-browser/web-extensions/libephywebextension.so':
 libdazzle-1.0.so.0: cannot open shared object file: No such file or directory

All I know is the second part of

$ strace 2> /tmp/q epiphany
$ grep -C 1 -n dazz /tmp/q
141-close(3)= 0
142:openat(AT_FDCWD, 
"/usr/lib/x86_64-linux-gnu/epiphany-browser/libdazzle-1.0.so.0", 
O_RDONLY|O_CLOEXEC) = 3
143-read(3, 
"\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\254\2\0\0\0\0\0"..., 832) = 
832
--
18599-futex(0x7fdcbef93f68, FUTEX_WAKE_PRIVATE, 2147483647) = 0
18600:Error loading module 
'/usr/lib/x86_64-linux-gnu/epiphany-browser/web-extensions/libephywebextension.so':
 libdazzle-1.0.so.0: cannot open shared object file: No such file or directory
18601-poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, 
revents=POLLOUT}])

goes away if I do aptitude install libdazzle-1.0-0.

SM> Do you have some sort of configuration, perhaps system-wide, that might
SM> cause epiphany-browser to load web extensions, where it doesn't for me?

I don't know. The reportbug script should be made to detect any...

SM> Is there any feature that is observably not working as a result of
SM> libephywebextension.so not loading, or is the warning message the only
SM> symptom that you see?

I usually a different browser on AMD64 so didn't browse all day with it.

Anyways in the strace early on you do indeed load your private
libdazzle. But much later you try to load it again but already forgot
your private path.



Bug#927731: epiphany-browser/i386: private libdazzle not loaded

2019-04-27 Thread Simon McVittie
Control: tags -1 + moreinfo

On Tue, 23 Apr 2019 at 02:46:53 +0800, 積丹尼 Dan Jacobson wrote:
> SM> Does this perhaps depend on settings or something? If you create a new
> SM> temporary user account, log in as the new user and run epiphany-browser,
> SM> do you get the same warnings?
> 
> Same on AMD64:
> 
> $ su - some_vanilla_acct
> $ DISPLAY=:0 epiphany
...
> Error loading module 
> '/usr/lib/x86_64-linux-gnu/epiphany-browser/web-extensions/libephywebextension.so':
>  libdazzle-1.0.so.0: cannot open shared object file: No such file or directory

I haven't been able to reproduce this, but libephywebextension.so also
doesn't appear in epiphany's /proc/$pid/maps for me.

Was some_vanilla_acct an entirely new user account with no prior
configuration?

Do you have some sort of configuration, perhaps system-wide, that might
cause epiphany-browser to load web extensions, where it doesn't for me?

Is there any feature that is observably not working as a result of
libephywebextension.so not loading, or is the warning message the only
symptom that you see?

smcv



Bug#927731: epiphany-browser/i386: private libdazzle not loaded

2019-04-22 Thread 積丹尼 Dan Jacobson
SM> Does this perhaps depend on settings or something? If you create a new
SM> temporary user account, log in as the new user and run epiphany-browser,
SM> do you get the same warnings?

Same on AMD64:

$ su - some_vanilla_acct
$ DISPLAY=:0 epiphany

(epiphany:8477): dbind-WARNING **: 02:40:20.380: Couldn't register with 
accessibility bus: Did not receive a reply. Possible causes include: the remote 
application did not send a reply, the message bus security policy blocked the 
reply, the reply timeout expired, or the network connection was broken.

(WebKitWebProcess:8500): dbind-WARNING **: 02:40:21.817: Couldn't register with 
accessibility bus: Did not receive a reply. Possible causes include: the remote 
application did not send a reply, the message bus security policy blocked the 
reply, the reply timeout expired, or the network connection was broken.
Error loading module 
'/usr/lib/x86_64-linux-gnu/epiphany-browser/web-extensions/libephywebextension.so':
 libdazzle-1.0.so.0: cannot open shared object file: No such file or directory

Package: epiphany-browser
Version: 3.32.1.2-1

-- System Information:
Debian Release: 10.0
  APT prefers experimental
  APT policy: (990, 'experimental'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=zh_TW.UTF-8, LC_CTYPE=zh_TW.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)

Versions of packages epiphany-browser depends on:
ii  dbus-x11 [dbus-session-bus]  1.13.8-1
ii  epiphany-browser-data3.32.1.2-1
ii  gsettings-desktop-schemas3.32.0-1
ii  iso-codes4.2-1
ii  libc62.28-8
ii  libcairo21.16.0-4
ii  libgcr-base-3-1  3.28.1-2
ii  libgcr-ui-3-13.28.1-2
ii  libgdk-pixbuf2.0-0   2.38.1+dfsg-1
ii  libglib2.0-0 2.60.0-1
ii  libgmp10 2:6.1.2+dfsg-4
ii  libgtk-3-0   3.24.8-1
ii  libhogweed4  3.4.1-1
ii  libicu63 63.1-6
ii  libjavascriptcoregtk-4.0-18  2.24.1-1
ii  libjson-glib-1.0-0   1.4.4-2
ii  libnettle6   3.4.1-1
ii  libnotify4   0.7.7-4
ii  libpango-1.0-0   1.42.4-6
ii  libsecret-1-00.18.8-1
ii  libsoup2.4-1 2.66.1-1
ii  libsqlite3-0 3.27.2-2
ii  libwebkit2gtk-4.0-37 2.24.1-1
ii  libxml2  2.9.8+dfsg-1+b1

Versions of packages epiphany-browser recommends:
ii  ca-certificates  20190110
pn  evince   
pn  yelp 

epiphany-browser suggests no packages.

-- no debconf information



Bug#927731: epiphany-browser/i386: private libdazzle not loaded

2019-04-22 Thread Simon McVittie
Control: retitle -1 epiphany-browser/i386: private libdazzle not loaded

On Mon, 22 Apr 2019 at 10:29:15 +0800, 積丹尼 Dan Jacobson wrote:
> Users will get the message
> 
> Error loading module
> 
> '/usr/lib/i386-linux-gnu/epiphany-browser/web-extensions/libephywebextension.so':
> libdazzle-1.0.so.0: cannot open shared object file: No such file or
> directory

It's meant to load a private copy from
/usr/lib/i386-linux-gnu/epiphany-browser (the version of libdazzle in
buster is too old for epiphany-browser).

I'm not sure why that isn't working for you: the amd64 version seems to
work without warnings. libephywebextension.so has:

Dynamic Section:
  NEEDED   libephymisc.so
  NEEDED   libgobject-2.0.so.0
  NEEDED   libglib-2.0.so.0
  NEEDED   libgio-2.0.so.0
  NEEDED   libsoup-2.4.so.1
  NEEDED   libwebkit2gtk-4.0.so.37
  NEEDED   libjavascriptcoregtk-4.0.so.18
  NEEDED   libc.so.6
  SONAME   libephywebextension.so
  RUNPATH  /usr/lib/i386-linux-gnu/epiphany-browser

so the runtime linker should automatically be loading all libraries it
depends on from its RUNPATH, /usr/lib/i386-linux-gnu/epiphany-browser.

Does this perhaps depend on settings or something? If you create a new
temporary user account, log in as the new user and run epiphany-browser,
do you get the same warnings?

smcv