Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 761238 - net-libs/webkit-gtk: Consider re-enabling NDEBUG
Summary: net-libs/webkit-gtk: Consider re-enabling NDEBUG
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL: https://gitlab.gnome.org/GNOME/evolut...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-22 11:07 UTC by Bernd Feige
Modified: 2021-08-11 07:26 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
webkit-gtk-2.30.4 moved back to cmake-utils to test (webkit-gtk-2.30.4.ebuild,8.93 KB, text/plain)
2020-12-23 22:42 UTC, Mart Raudsepp
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Bernd Feige 2020-12-22 11:07:31 UTC
On three different up-to-date ~amd64 systems now, evolution crashes in webkit-gtk when trying to switch panels - either "component" or even trying to open the "settings" window. This only happens with version 2.30.4 but not with 2.30.3.
Also recompiled evolution, recompiled webkit-gtk without ccache/distcc, the problem remains.

Note that already the very first assertion failure does not occur with net-libs/webkit-gtk-2.30.3.

Program output when running with gdb:

ASSERTION FAILED: schemeResult.isNewEntry
/var/tmp/portage/net-libs/webkit-gtk-2.30.4/work/webkitgtk-2.30.4/Source/WebKit/UIProcess/WebPageProxy.cpp(9431) : void WebKit::WebPageProxy::setURLSchemeHandlerForScheme(WTF::Ref<WebKit::WebURLSchemeHandler>&&, const WTF::String&)
Thread 1 "evolution" received signal SIGABRT, Aborted.
0x00007ffff12f0c31 in raise () from /lib64/libc.so.6
(gdb) where
#0  0x00007ffff12f0c31 in raise () at /lib64/libc.so.6
#1  0x00007ffff12da536 in abort () at /lib64/libc.so.6
#2  0x00007ffff1d8fad2 in  () at /usr/lib64/libwebkit2gtk-4.0.so.37
#3  0x00007ffff26abebc in webkit_web_context_register_uri_scheme ()
    at /usr/lib64/libwebkit2gtk-4.0.so.37
#4  0x00007ffff1661028 in e_web_view_register_content_request_for_scheme ()
    at /usr/lib64/evolution/libevolution-util.so
#5  0x00007ffff16644a0 in  () at /usr/lib64/evolution/libevolution-util.so
#6  0x00007ffff730975d in  () at /usr/lib64/libgobject-2.0.so.0
#7  0x00007ffff730a9f5 in g_object_new_with_properties () at /usr/lib64/libgobject-2.0.so.0
#8  0x00007ffff730b4a9 in g_object_new () at /usr/lib64/libgobject-2.0.so.0
#9  0x00007fffdaf80d84 in  () at /usr/lib64/evolution/modules/module-addressbook.so
#10 0x00007ffff73095d7 in  () at /usr/lib64/libgobject-2.0.so.0
#11 0x00007ffff730b10e in g_object_new_valist () at /usr/lib64/libgobject-2.0.so.0
#12 0x00007ffff730b481 in g_object_new () at /usr/lib64/libgobject-2.0.so.0
#13 0x00007ffff7fafcdc in  () at /usr/lib64/evolution/libevolution-shell.so
#14 0x00007fffdaf8354b in  () at /usr/lib64/evolution/modules/module-addressbook.so
#15 0x00007ffff73095d7 in  () at /usr/lib64/libgobject-2.0.so.0
#16 0x00007ffff730b10e in g_object_new_valist () at /usr/lib64/libgobject-2.0.so.0
#17 0x00007ffff730b481 in g_object_new () at /usr/lib64/libgobject-2.0.so.0
#18 0x00007ffff7fb2470 in  () at /usr/lib64/evolution/libevolution-shell.so
#19 0x00007ffff7fb1dd5 in e_shell_window_get_shell_view ()
    at /usr/lib64/evolution/libevolution-shell.so
#20 0x00007ffff7fb5b96 in e_shell_window_switch_to_view ()
    at /usr/lib64/evolution/libevolution-shell.so


Reproducible: Always
Comment 1 Mart Raudsepp gentoo-dev 2020-12-23 22:40:06 UTC
It appears that my port from cmake-utils.eclass to cmake.eclass is building something a bit different. At least a quick late night test seems to suggest that, as I could reproduce it on component switch, but after rebuilding webkit-gtk with cmake-utils again, the crash goes away.
Now need to figure out next what is different in the build options passed, etc. But that's not for today anymore.
Comment 2 Mart Raudsepp gentoo-dev 2020-12-23 22:42:30 UTC
Created attachment 679344 [details]
webkit-gtk-2.30.4 moved back to cmake-utils to test

Here's the ebuild changed back to cmake-utils, if you'd like to help test: if it crashes evo-3.38 with webkit-gtk-2.30.4 as found in tree, and then when rebuilding webkit-gtk with this cmake-utils one, does the crashing go away.

Also of course full investigation help welcome. I would start comparing the configure command called between cmake.eclass and cmake-utils.eclass for webkit-gtk
Comment 3 Mart Raudsepp gentoo-dev 2020-12-24 11:43:26 UTC
cmake.utils dropped passing of -NDEBUG compared to cmake-utils.eclass (as a separate change to cmake.utils after it's introduction, but for us it's the difference here).
Then now we get this:

ASSERTION FAILED: schemeResult.isNewEntry
/tmp/portage/net-libs/webkit-gtk-2.30.4/work/webkitgtk-2.30.4/Source/WebKit/UIProcess/WebPageProxy.cpp(9431) : void WebKit::WebPageProxy::setURLSchemeHandlerForScheme(WTF::Ref<WebKit::WebURLSchemeHandler>&&, const WTF::String&)

Thread 1 "evolution" received signal SIGABRT, Aborted.



while with -NDEBUG it was compiling out the assertion and hiding the problem enough to not crash.


I don't think we should just go and pass -NDEBUG again, it was indeed questionable to have done so before by cmake-utils. Also the build type setting to Release instead of Gentoo in src_configure is not effective anymore, as Gentoo build type is still passed to configure with the current setup. We need to compare what Release build type does for webkit-gtk and clean that up appropriately as well.

Additionally then there's investigation needed why with evolution-3.38 it's hitting this assert now, and fixing that separately.
Comment 4 Mart Raudsepp gentoo-dev 2020-12-24 11:46:35 UTC
I think it asserts due to evolution registering `evo-file` scheme multiple times
Comment 5 Larry the Git Cow gentoo-dev 2020-12-24 16:05:24 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f261968c53e914d3e339e57c7d157b72bf32f81

commit 0f261968c53e914d3e339e57c7d157b72bf32f81
Author:     Mart Raudsepp <leio@gentoo.org>
AuthorDate: 2020-12-24 15:54:17 +0000
Commit:     Mart Raudsepp <leio@gentoo.org>
CommitDate: 2020-12-24 16:03:07 +0000

    net-libs/webkit-gtk-2.30.4: workaround evolution bug, other improvements
    
    * Porting from cmake-utils.eclass to cmake.eclass made -DNDEBUG not be passed
      anymore, converting some mail-client/evolution issues into aborts. Keep
      passing -DNDEBUG for the time being again.
    * Improve cross-compilation by not requiring sys-apps/xdg-dbus-proxy on CBUILD
    * Build the MiniBrowser with USE=examples
    
    Bug: https://bugs.gentoo.org/761238
    Closes: https://bugs.gentoo.org/760902
    Closes: https://bugs.gentoo.org/758299
    Package-Manager: Portage-3.0.12, Repoman-3.0.2
    Signed-off-by: Mart Raudsepp <leio@gentoo.org>

 net-libs/webkit-gtk/metadata.xml                |   1 +
 net-libs/webkit-gtk/webkit-gtk-2.30.4-r1.ebuild | 300 ++++++++++++++++++++++++
 2 files changed, 301 insertions(+)
Comment 6 Mart Raudsepp gentoo-dev 2020-12-24 16:07:29 UTC
Actually I suspect we'll need to keep the -NDEBUG for quite a bit, so lets close this as fixed, as for evolution it's fixed.
Comment 7 Bernd Feige 2020-12-24 20:53:03 UTC
Kudos, Mart, for the great work, and merry Christmas!
-Bernd
Comment 8 Larry the Git Cow gentoo-dev 2021-01-09 10:37:35 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=54450b263436736cada0610161f8a251925c47aa

commit 54450b263436736cada0610161f8a251925c47aa
Author:     Mart Raudsepp <leio@gentoo.org>
AuthorDate: 2021-01-09 10:29:27 +0000
Commit:     Mart Raudsepp <leio@gentoo.org>
CommitDate: 2021-01-09 10:37:18 +0000

    mail-client/evolution: bump to 3.38.3
    
    Includes upstream fix for webkit-gtk built without -NDEBUG.
    Require USE=spell on webkit-gtk if enabled on evolution, to ensure
    visual highlighting of spelling errors works.
    
    Bug: https://bugs.gentoo.org/761238
    Closes: https://bugs.gentoo.org/751217
    Package-Manager: Portage-3.0.12, Repoman-3.0.2
    Signed-off-by: Mart Raudsepp <leio@gentoo.org>

 mail-client/evolution/Manifest                |   1 +
 mail-client/evolution/evolution-3.38.3.ebuild | 152 ++++++++++++++++++++++++++
 2 files changed, 153 insertions(+)
Comment 9 Mart Raudsepp gentoo-dev 2021-08-11 07:26:56 UTC
evolution-40 should be fine with NDEBUG, reopening to consider it at some point again now