From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.3 (2019-12-06) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-1.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.3 Received: by atuin.qyliss.net (Postfix, from userid 496) id 1C2298819; Sun, 14 Jun 2020 23:42:57 +0000 (UTC) Received: from [127.0.0.1] (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id A65AA87E6; Sun, 14 Jun 2020 23:42:39 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 496) id 9F46B87AD; Sun, 14 Jun 2020 23:42:37 +0000 (UTC) Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by atuin.qyliss.net (Postfix) with ESMTPS id 25EC587AB; Sun, 14 Jun 2020 23:42:34 +0000 (UTC) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.nyi.internal (Postfix) with ESMTP id 071405C005F; Sun, 14 Jun 2020 19:42:33 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Sun, 14 Jun 2020 19:42:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h= from:to:cc:subject:date:message-id:mime-version:content-type; s= fm3; bh=1oylMuwrcRGyDDohh5zYtomsZOlxI95QOGZYozMZBJE=; b=GBdG3/Bx ytdbriokvmwrRx3fWDTJkIpvHO2UyYBqCnn2GDtb5l46d+jW5YPe4sd3dKlx+/hs E0W9DHD2AzqURNKN39D4AYu2tLpbXWPQVI4opwoFt8T3t35KreDxvuLVECYlss0R IJ7G75GHObZ1Ip89hojUVJA5MonPYzcib5/6c9Icyc6ZDrxwkhvupwt3m14PogoE D+yAVZAB7Lqy+WNRdRqISRwjiArPfIjINZqAb+cUl2NNrpu5Rt3+fNztsTi6JUxt 3l5MI9+POmAmAfFN8HU0434cajtqxcAu8763A0O9PhtlCWcjNHMcspUkgvUTsdW1 WujdXn2t2MGYiw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=1oylMuwrcRGyDDohh5zYtomsZOlxI 95QOGZYozMZBJE=; b=fPyfdW66UfACmCMjEdzPaxrjurRpydS/AvYKHh7h703nj UATVwgf6GPhb+hzI1/8WJVQqUyKR6CYh0G57F6xt+qWI4g1jNz5x19h7MSycGF7y PyKEyAXUCkut063MaGgoNBx6vx//FI2orY+lle3kRKVizUd6iZRvijNb1vF4Uwi8 WGCnvpJhr2+E7ImZ6h6TI3aq28z1iL0jc3vu8sOOtt7XTB+SOpah74BABaRx3nYm cJestUoOd35pTkcMeMIlZOVW0d71SS/LQrPhNH0ftWHd3YqP4Y3bzAEBUqE3yRgd 2cnxDhGS63Dcrxi8M694tzNErGylPPjc/xwekWw0A== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrudeijedgvdeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkfggtgesghdtreertddttdenucfhrhhomheptehlhihsshgrucft ohhsshcuoehhihesrghlhihsshgrrdhisheqnecuggftrfgrthhtvghrnhepleeuhfeitd eujeffuefgieekteeihedthedvteefffehffefveduleejieeigefgnecuffhomhgrihhn pehsphgvtghtrhhumhdqohhsrdhorhhgnecukfhppeegiedrkedtrdduvdekrdduhedvne cuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhephhhisegr lhihshhsrgdrihhs X-ME-Proxy: Received: from x220.qyliss.net (p2e508098.dip0.t-ipconnect.de [46.80.128.152]) by mail.messagingengine.com (Postfix) with ESMTPA id 424FE30614FA; Sun, 14 Jun 2020 19:42:32 -0400 (EDT) Received: by x220.qyliss.net (Postfix, from userid 1000) id 4B517C62; Sun, 14 Jun 2020 23:42:31 +0000 (UTC) From: Alyssa Ross To: discuss@spectrum-os.org, devel@spectrum-os.org Subject: This Week in Spectrum, 2020-W24 Date: Sun, 14 Jun 2020 23:42:28 +0000 Message-ID: <87eeqhqknv.fsf@alyssa.is> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Message-ID-Hash: ULI262K7UUZZT7T6D4IEOI3PCD3WZWQY X-Message-ID-Hash: ULI262K7UUZZT7T6D4IEOI3PCD3WZWQY X-MailFrom: hi@alyssa.is X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Cole Helbling , Puck Meerburg X-Mailman-Version: 3.3.1 Precedence: list List-Id: General high-level discussion about Spectrum Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: --=-=-= Content-Type: text/plain An interesting week. Didn't go quite in the direction I expected it to. Documentation ------------- Cole kindly provided[1] some documentation[2] for spectrum-vm for the developer manual. This was especially nice, because it marked the first time I was able to remove[3] an item from the Contribution Ideas page[4] because somebody had done the contribution! Thanks Cole! [1]: https://spectrum-os.org/lists/archives/spectrum-devel/87zh97coks.fsf@alyssa.is/T/#t [2]: https://spectrum-os.org/doc/developer-manual.html#_spectrum_vm [3]: https://spectrum-os.org/git/www/commit/?id=bf7cde0ddd06455f212fb39092b87313cee8a7c1 [4]: https://spectrum-os.org/todo.html crosvm ------ My main goal for this week was to start modifying libwayland-server to use a virtio_wl socket as the display socket, as described last week[5]. So, in pursuit of this goal, I started the week by trying to write a test program that would start a VM running a compositor, create a socket, attach one end to that VM, and then start another VM running a Wayland client, and attach the other end of the socket to that VM. Then, in theory, all I had to do was the libwayland-server modifications, and then the compositor and client would be able to talk to each other. Unfortunately, I didn't get that far. The program froze after starting the first VM. I assumed I must have done something wrong, so I rewrote it, and had the same problem. I did it again, and same problem. Some further debugging revealed that the command to add the socket to the first VM was hanging. And also, crosvm was hanging. Running the command outside this program worked fine, though. It returned immediately, and crosvm kept running with the new socket added. What I eventually realised was that the crosvm hang only happened if the command was sent to it early enough. After some intense staring at the crosvm code, I realised that there was a deadlock resulting from trying to wait for a response from a virtual device before the device had been initialized. Despite this issue manifesting with adding Wayland sockets, which is a feature unique to crosvm, a lot of the code for that is adapted from the code for resizing virtual block devices, which is an upstream feature. And that had the same issue, so this is actually an upstream bug. The fix was not easy, and required some fairly substantial refactoring. It's described in detail in the patch message[6]. I think it's probably a pretty interesting read. I also merged in the latest upstream crosvm changes. [5]: https://spectrum-os.org/lists/archives/spectrum-discuss/87tuzm287b.fsf@alyssa.is/ [6]: https://spectrum-os.org/lists/archives/spectrum-devel/20200614114344.22642-3-hi@alyssa.is/ Nixpkgs ------- I spent a few more hours trying to get libvda (an optional dependency of crosvm; required for virtio-video) to build, and I got it to work, thanks to some help from Puck. There's still a hack in there I'll tidy up before I push it, but it's cool to have this packaged for future experimentation with this crosvm feature. With the crosvm issue out of the way, which ended up taking most of the week to identify and fix, hopefully next week I'll be able to actually get going on those libwayland-server changes. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEH9wgcxqlHM/ARR3h+dvtSFmyccAFAl7mteUACgkQ+dvtSFmy ccB5pBAAjpu16F0ag2YCngNLfpXg5JZrX283m0ORrt9ihQyp9YIqW0hjiTNwAfO+ wlRzrZtYgjhHua5PQ6T73Rx4YAwbJm7nNmhc/52/r15zR+7fe66M7Bsbxc8jmNQx if/8EkrVaBxn0Tz9rpM47j7ktWvfvxUbn3krmWrraJ9ZgZOpShm4YPVz8u+BlXaB Z7Kziu4oyVMSJCHz010FRi5K4+217TOjPS1MiJ/eEdtAEj4Gs3dDtRSxTHm6T5Pl NC7BXD8bN5lQYZQi5sqCE7awWcY5HnDSLglf8lK8X9SVB67q2WQ0+mWgdoz4iy5g FRzIeezE/Y0mXDDucJzt/w5ttspvsf92wNFn2v6+6Z7gBEuSKhwNOA7MF0Bosj1q Drgt38z0S0EbxhPoFfxnlAsGWWekWolW8L1A2U8gH5cREP7nXEkipfsCEw5bp844 UdS4Qpykbw+rtZlLrrKYgzSzc2Ch3CFp0Bxfrke8Ecoo7FJq5Y+XhFDrbHDgFDtD 0dF/u6kTciCOdYObwuhLrmn6EA5ji5Zx8i2I7Wpz66Zo5kR0Gsx2c9ZmdxoeVix+ f1e7joSNEURzygKscvrIVP44rSclfw6rfnpxJI++Csx2gExF7sG0QFknnNV3L46o sdHyf4LvzBxQQvWs3FD29Rclq8ZICxXf0x1pZ6o1LjLGWa1MJNg= =Yq94 -----END PGP SIGNATURE----- --=-=-=--