From owner-svn-ports-all@freebsd.org Tue Jan 28 00:10:27 2020 Return-Path: Delivered-To: svn-ports-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 93C2D23352A; Tue, 28 Jan 2020 00:10:27 +0000 (UTC) (envelope-from cmt@burggraben.net) Received: from smtp.burggraben.net (smtp.burggraben.net [IPv6:2a01:4f8:140:510a::3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "smtp.burggraben.net", Issuer "Christoph Moench-Tegeder" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4866Sy46Vpz4NxL; Tue, 28 Jan 2020 00:10:26 +0000 (UTC) (envelope-from cmt@burggraben.net) Received: from elch.exwg.net (elch.exwg.net [IPv6:2001:470:7120:1:127b:44ff:fe4f:148d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "elch.exwg.net", Issuer "Christoph Moench-Tegeder" (not verified)) by smtp.burggraben.net (Postfix) with ESMTPS id C0FAFC00308; Tue, 28 Jan 2020 01:10:23 +0100 (CET) Received: by elch.exwg.net (Postfix, from userid 1000) id 797CB139892; Tue, 28 Jan 2020 01:10:23 +0100 (CET) Date: Tue, 28 Jan 2020 01:10:23 +0100 From: Christoph Moench-Tegeder To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: Re: svn commit: r516629 - head/net/liferea Message-ID: <20200128001023.GA62291@elch.exwg.net> References: <201911041019.xA4AJYqc047310@repo.freebsd.org> <20191104103901.GA2476@elch.exwg.net> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20191104103901.GA2476@elch.exwg.net> User-Agent: Mutt/1.13.3 (2020-01-12) X-Rspamd-Queue-Id: 4866Sy46Vpz4NxL X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of cmt@burggraben.net designates 2a01:4f8:140:510a::3 as permitted sender) smtp.mailfrom=cmt@burggraben.net X-Spamd-Result: default: False [-5.19 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; R_SPF_ALLOW(-0.20)[+ip6:2a01:4f8:140:510a::3]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; DMARC_NA(0.00)[burggraben.net]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; IP_SCORE(-2.69)[ip: (-9.36), ipnet: 2a01:4f8::/29(-2.53), asn: 24940(-1.56), country: DE(-0.02)]; RCVD_IN_DNSWL_MED(-0.20)[3.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.a.0.1.5.0.4.1.0.8.f.4.0.1.0.a.2.list.dnswl.org : 127.0.6.2]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/29, country:DE]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jan 2020 00:10:27 -0000 ## Christoph Moench-Tegeder (cmt@burggraben.net): > > Log: > > Mark BROKEN > > Only if www/webkit2-gtk3 has been built with WAYLAND enabled (which, > unfortunately, is the default). OK, I can narrow this down (finally - behold the depth of my backlog): The problem is not WAYLAND per se, but the "WPE" parts which came with that (WPE: "for embedded and low-consumption computer devices", WTF, etc.). The way it does not work is: during initialization, webkit tries to initialize a display in PlatformDisplay.cpp (PlatformDisplay::createPlatformDisplay()) - first trying GTK via gtk_init_check() and gdk_display_manager_get_default_display(), but that fails, as there is no $DISPLAY in poudriere. Next step is WPE, which happily returns a display handle even without $DISPLAY. If we hadn't WPE support, this step would've been omitted (ifdef'ed out), and next options would be Wayland, X11 (both of which won't work, no $DISPLAY), Wayland dummy and X11 dummy - depending on driver availabillity. Later on, webkit runs across AcceleratedBackingStore::checkRequirements() (I can guess what it does from the name and code, but comments are real thin in here, I can tell you) - and that piece of code just has no support for WPE displays - if it's not WAYLAND or X11, it falls through to a RELEASE_ASSERT_NOT_REACHED(), abort(), boom, coredump. Preventing the creation of WPE displays in createPlatformDisplay() with an "#ifdef 0" fixes the issue - we get our dummy display, no fallthrough in checkRequirements() and liferea can run it's introspection. If I wasn't aware that the late hour was far too late for me to do productive things, I'd just rip out that WPE stuff from webkit under the guise of "just fix it and unbreak things" - removing code to fix stuff is always a good reason, IMO. So, opinions against doing just that? I've no idea if it would even make sense to try to support WPE on FreeBSD or if it's just something we inherited "because it's there" as someone upstream had declared underpowered mobile devices to be the future. Regards, Christoph -- Spare Space