Date: Tue, 28 Jan 2020 18:53:14 +0000 From: bugzilla-noreply@freebsd.org To: gnome@FreeBSD.org Subject: [Bug 243677] www/webkit2-gtk3: disable WPE renderer, unbreak liferea build Message-ID: <bug-243677-6497@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D243677 Bug ID: 243677 Summary: www/webkit2-gtk3: disable WPE renderer, unbreak liferea build Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Keywords: easy, patch, patch-ready Severity: Affects Only Me Priority: --- Component: Individual Port(s) Assignee: gnome@FreeBSD.org Reporter: cmt@freebsd.org Created attachment 211139 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D211139&action= =3Dedit disable WPE renderer, unbreaks liferea since updating webkit2-gtk3 to 2.26.x (ports r516196) build of net/liferea fails during dumping of the introspection data (see BROKEN message in ports r516629). Testing shows that this problem only exists if webkit has option WAYLAND enabled (unfortunately, that's the default). Further digging revealed that that ABORT is raised in Source/WebKit/UIProcess/gtk/AcceleratedBackingStore.cpp AcceleratedBackingStore::checkRequirements() when the "display" is neither a "WAYLAND" or "X11" display. In fact, since (I think) https://bugs.webkit.org/show_bug.cgi?id=3D184406 creates "WPE" displays as = the fallback (if WPE support has been enabled) when no regular X11 display (via= GDK or similar) is available. That's exactly the situation with liferea: during build in poudriere, there's no $DISPLAY and no way to initialize a "real" display. That "WPE" fallback display later turns up in AcceleratedBackingStore::checkRequirements() where it is not handled and ca= uses a fallthrough to the Abort. If WPE support hadn't been disabled, webkit wou= ld create a X11 "dummy" display as before - and that would cause no problems, = if we got there. Experimentation (filling in a few gaps in the code starting in AcceleratedBackingStore::checkRequirements()) is a trip down the rabbit hole (there're multiple missing pieces, I think), and the best I got was segfaul= ts from some destructor. As an alternative, I found cmake switch "USE_WPE_RENDERER" (default on) - w= hen turned of, we get rid of the problematic code paths through WPE and liferea= can build again just fine and it's BROKEN flag could be reset. (I'm not sure wh= at use case WPE has in webkit-gtk on FreeBSD - surely we can use the GDK/GTK paths, as that's literally in the package name?) --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-243677-6497>