Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

liferea: fails to build with >=webkit-gtk-2.25.3 in headless environment #767

Closed
nE0sIghT opened this issue Jan 5, 2020 · 4 comments
Closed

Comments

@nE0sIghT
Copy link
Contributor

nE0sIghT commented Jan 5, 2020

This was originally reported at https://bugs.gentoo.org/704594.

Compilation of liferea fails with modern webkit-gtk in headless environment (without X or Wayland) since changeset 247563:

CPPFLAGS="" CFLAGS="-march=x86-64 -mtune=k8 -mcx16 -msahf -msse3 --param l1-cache-size=64 --param l1-cache-line-size=64 --param l2-cache-size=512 -O2 -pipe -frecord-gcc-switches" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0" CC="x86_64-pc-linux-gnu-gcc-9.2.0" PKG_CONFIG="/usr/bin/x86_64-pc-linux-gnu-pkg-config" GI_HOST_OS="" DLLTOOL="x86_64-pc-linux-gnu-dlltool"  /usr/bin/g-ir-scanner  -I../src --warn-all --accept-unprefixed --identifier-prefix=Liferea --verbose --namespace=Liferea --nsversion=3.0 --libtool="/bin/sh ../libtool"  --include=Gtk-3.0 --include=libxml2-2.0   --program=./liferea   --cflags-begin  --cflags-end  auth.c auth.h auth_activatable.c auth_activatable.h enclosure.h feedlist.c feedlist.h item.h itemlist.c itemlist.h itemset.c itemset.h node.h node.c node_view.h social.c social.h subscription_type.h ui/browser_tabs.c ui/browser_tabs.h ui/icons.c ui/icons.h ui/itemview.c ui/itemview.h ui/item_list_view.c ui/item_list_view.h ui/liferea_htmlview.c ui/liferea_htmlview.h ui/liferea_shell.c ui/liferea_shell.h ui/liferea_shell_activatable.c ui/liferea_shell_activatable.h ui/media_player.c ui/media_player.h ui/media_player_activatable.c ui/media_player_activatable.h fl_sources/node_source.c fl_sources/node_source.h fl_sources/node_source_activatable.c fl_sources/node_source_activatable.h liferea --output Liferea-3.0.gir
x86_64-pc-linux-gnu-gcc-9.2.0 -E -I. -I/tmp/portage/net-news/liferea-1.12.7/work/liferea-1.12.7/src -I/usr/include/libxml2 -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/fribidi -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/atk-1.0 -I/usr/lib64/libffi/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -o g-ir-cpp-anj1rbn1.i -C /tmp/portage/net-news/liferea-1.12.7/work/liferea-1.12.7/src/g-ir-cpp-anj1rbn1.c
No protocol specified
Command '['./liferea', '--introspect-dump=/tmp/portage/net-news/liferea-1.12.7/temp/tmp-introspect5p2qmfrs/functions.txt,/tmp/portage/net-news/liferea-1.12.7/temp/tmp-introspect5p2qmfrs/dump.xml']' died with <Signals.SIGABRT: 6>.
make[3]: *** [/usr/share/gobject-introspection-1.0/Makefile.introspection:156: Liferea-3.0.gir] Error 1

Actual backtrace:

Core was generated by `./liferea --introspect-dump=/tmp/tmp-introspect8dt117na/functions.txt,/tmp/tmp-'.
Program terminated with signal SIGABRT, Aborted.
#0  0x00007f520aba0ae0 in raise () from /lib64/libc.so.6
[Current thread is 1 (Thread 0x7f52060b3a00 (LWP 53958))]
(gdb) bt full
#0  0x00007f520aba0ae0 in raise () from /lib64/libc.so.6
No symbol table info available.
#1  0x00007f520ab8c2c4 in abort () from /lib64/libc.so.6
No symbol table info available.
#2  0x00007f520d7f2f77 in CRASH_WITH_INFO(...) ()
    at DerivedSources/ForwardingHeaders/wtf/Assertions.h:658
No locals.
#3  WebKit::AcceleratedBackingStore::checkRequirements ()
    at  webkit-gtk-2.26.2/work/webkitgtk-2.26.2/Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp:56
No locals.
#4  0x00007f520dc3b27b in WebKit::HardwareAccelerationManager::HardwareAccelerationManager (
    this=0x7f5210209530 <WebKit::HardwareAccelerationManager::singleton()::manager>)
    at  webkit-gtk-2.26.2/work/webkitgtk-2.26.2/Source/WebKit/UIProcess/gtk/HardwareAccelerationManager.cpp:55
        disableCompositing = <optimized out>
        forceCompositing = <optimized out>
        disableCompositing = <optimized out>
        forceCompositing = <optimized out>
#5  0x00007f520dc3b2fc in WTF::NeverDestroyed<WebKit::HardwareAccelerationManager>::NeverDestroyed<>() (this=0x7f5210209530 <WebKit::HardwareAccelerationManager::singleton()::manager>)
    at /usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/g++-v9/new:174
No locals.
#6  WebKit::HardwareAccelerationManager::singleton ()
    at  webkit-gtk-2.26.2/work/webkitgtk-2.26.2/Source/WebKit/UIProcess/gtk/HardwareAccelerationManager.cpp:36
        manager = {m_storage = {__data = "\001", __align = {<No data fields>}}}
#7  0x00007f520dc441ad in WebKit::WebPreferences::platformInitializeStore (this=0x7f52046fe000)
    at  webkit-gtk-2.26.2/work/webkitgtk-2.26.2/Source/WebKit/UIProcess/gtk/WebPreferencesGtk.cpp:37
No locals.
#8  0x00007f520daf3e72 in WebKit::WebPreferences::create (identifier=..., keyPrefix=..., globalDebugKeyPrefix=...) at DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h:37
No locals.
#9  0x00007f520db96d04 in _WebKitSettingsPrivate::_WebKitSettingsPrivate (this=0x55acc9cd2b80) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:56
No locals.
#10 0x00007f520af2b129 in g_type_create_instance () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#11 0x00007f520af0d1ed in ?? () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#12 0x00007f520af0ed5d in g_object_new_with_properties () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#13 0x00007f520af0f779 in g_object_new () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#14 0x00007f520db914ba in webkit_settings_new () at  webkit-gtk-2.26.2/work/webkitgtk-2.26.2/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp:1535
No locals.
#15 0x000055acc93b249f in liferea_webkit_impl_init (self=0x7f51f800dd00) at webkit.c:380
        disable_javascript = 21932
        enable_plugins = 48
        font = <optimized out>
        fontSize = <optimized out>
        security_manager = <optimized out>
#16 0x00007f520af2b129 in g_type_create_instance () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#17 0x00007f520af0d1ed in ?? () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#18 0x00007f520af0ed5d in g_object_new_with_properties () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#19 0x00007f520af0f779 in g_object_new () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#20 0x000055acc93b2bc1 in liferea_webkit_impl_new () at webkit.c:459
No locals.
#21 liferea_webkit_init () at webkit.c:459
        __func__ = "liferea_webkit_init"
#22 0x000055acc93a2309 in liferea_htmlview_class_init (klass=<optimized out>) at liferea_htmlview.c:236
        object_class = 0x55acc9cd00d0
        object_class = <optimized out>
#23 liferea_htmlview_class_intern_init (klass=<optimized out>) at liferea_htmlview.c:149
No locals.
#24 0x00007f520af29111 in g_type_class_ref () from /usr/lib64/libgobject-2.0.so.0
No symbol table info available.
#25 0x00007f520af57dbd in ?? () from /usr/lib64/libgirepository-1.0.so.1
No symbol table info available.
#26 0x00007f520af588df in g_irepository_dump () from /usr/lib64/libgirepository-1.0.so.1
No symbol table info available.
#27 0x00007f520af5ed3a in ?? () from /usr/lib64/libgirepository-1.0.so.1
No symbol table info available.
#28 0x00007f520ae206d7 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#29 0x00007f520ae20c60 in ?? () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#30 0x00007f520ae22c8e in g_option_context_parse () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#31 0x00007f520ae23865 in g_option_context_parse_strv () from /usr/lib64/libglib-2.0.so.0
No symbol table info available.
#32 0x00007f520b058a55 in ?? () from /usr/lib64/libgio-2.0.so.0
No symbol table info available.
#33 0x00007f520b05986d in ?? () from /usr/lib64/libgio-2.0.so.0
No symbol table info available.
#34 0x00007f520b059bfa in g_application_run () from /usr/lib64/libgio-2.0.so.0
No symbol table info available.
#35 0x000055acc937634b in main (argc=2, argv=0x7ffe2402bc58) at main.c:77
        status = <optimized out>

I asked if it is desired behavior in related Webkit bug report 199402.

Maybe we can avoid webkit initialization when --introspect-dump argument is passed to liferea binary?

@nE0sIghT
Copy link
Contributor Author

nE0sIghT commented Jan 6, 2020

As a workaround it's possible to export WEBKIT_DISABLE_COMPOSITING_MODE=1 environment variable.

@v1ne
Copy link

v1ne commented Jan 28, 2020

A similar bug affects liferea on FreeBSD: It's build without access to an X server, which causes a deadlock in Webkit. Skipping liferea_htmlview.c:236 (htmlview_get_impl ()->init ()) helps.

@paulgevers
Copy link
Contributor

Debian's build is affected as well. I'll use WEBKIT_DISABLE_COMPOSITING_MODE=1 for now.

bob-beck pushed a commit to openbsd/ports that referenced this issue Apr 2, 2022
lwindolf/liferea#767
liferea: fails to build with >=webkit-gtk-2.25.3 in headless environment

Add missing BDEP on devel/gobject-introspection while here.
@lwindolf
Copy link
Owner

Closing this. Should not be important anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants