From philip.race at oracle.com Wed Sep 1 21:59:30 2021 From: philip.race at oracle.com (Philip Race) Date: Wed, 1 Sep 2021 14:59:30 -0700 Subject: Project Wakefield announcement and welcome Message-ID: <09dddbdd-d4d2-c6f4-1622-583239d91e4a@oracle.com> Hi all, The project has been recorded in the OpenJDK census : https://openjdk.java.net/census#wakefield The email list (to which I sent this) https://mail.openjdk.java.net/mailman/listinfo/wakefield-dev has been set up pre-populated with the initial committers. If you are a committer who did not previously have an OpenJDK ID you should have received an invitation to register. Don't ignore it - it will expire in 14 days from when it was sent. We also have a web page https://openjdk.java.net/projects/wakefield/ which is still just pro-forma I'll add something more once we have it :-) The wiki is also being set up : https://wiki.openjdk.java.net/display/wakefield Unlike the Project Page everyone who is a committer will be able to edit the wiki The project repo has not yet been created but is expected to be created this week. I will send a follow up on that once it is done. I'll also inform the various client lists (forward please do NOT cross post !)? of the new mailing list -phil. From kcr at openjdk.java.net Thu Sep 2 18:50:47 2021 From: kcr at openjdk.java.net (Kevin Rushforth) Date: Thu, 2 Sep 2021 18:50:47 GMT Subject: git: openjdk/wakefield: kcr-test: Another test Message-ID: <14717386-1a6f-4f6d-8786-3b429f4c82d4@openjdk.org> Changeset: ed319d6f Author: Kevin Rushforth Date: 2021-09-02 11:49:29 +0000 URL: https://git.openjdk.java.net/wakefield/commit/ed319d6f3fa890ba989577cab92df03aaec9b144 Another test ! testing.txt From kcr at openjdk.java.net Thu Sep 2 18:56:02 2021 From: kcr at openjdk.java.net (Kevin Rushforth) Date: Thu, 2 Sep 2021 18:56:02 GMT Subject: git: openjdk/wakefield: created branch kcr-test2 based on the branch kcr-test containing 1 unique commit Message-ID: The following commits are unique to the kcr-test2 branch: ======================================================== cc18d891: A new test... From kcr at openjdk.java.net Thu Sep 2 21:24:26 2021 From: kcr at openjdk.java.net (Kevin Rushforth) Date: Thu, 2 Sep 2021 21:24:26 GMT Subject: git: openjdk/wakefield: kcr-test: 2 new changesets Message-ID: Changeset: 29e0f138 Author: Jamil Nimeh Date: 2021-09-02 17:54:08 +0000 URL: https://git.openjdk.java.net/wakefield/commit/29e0f1386d247731e8733f6fdd1307642b2b9f96 8272385: Enforce ECPrivateKey d value to be in the range [1, n-1] for SunEC provider Reviewed-by: ascarpino, weijun ! src/java.base/share/classes/sun/security/util/ECUtil.java ! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDHKeyAgreement.java ! src/jdk.crypto.ec/share/classes/sun/security/ec/ECDSASignature.java + test/jdk/sun/security/ec/ECDSAPrvGreaterThanOrder.java Changeset: 75e80747 Author: Kevin Rushforth Date: 2021-09-02 14:22:54 +0000 URL: https://git.openjdk.java.net/wakefield/commit/75e807471c80668d5f68c67b6935922f1ead6e71 Testing force push to branch + testing.txt From kcr at openjdk.java.net Fri Sep 3 15:37:17 2021 From: kcr at openjdk.java.net (Kevin Rushforth) Date: Fri, 3 Sep 2021 15:37:17 GMT Subject: git: openjdk/wakefield: kcr-test: Another force push to branch Message-ID: <239149bb-8ccb-418f-abff-82fb8b14bda2@openjdk.org> Changeset: 9f813af8 Author: Kevin Rushforth Date: 2021-09-03 08:28:24 +0000 URL: https://git.openjdk.java.net/wakefield/commit/9f813af88755c819ebc73077ffe5116c2e678765 Another force push to branch + testing.txt From philip.race at oracle.com Thu Sep 16 19:23:22 2021 From: philip.race at oracle.com (Philip Race) Date: Thu, 16 Sep 2021 12:23:22 -0700 Subject: wiki update : meeting notes + open issues Message-ID: I have updated the wiki : https://wiki.openjdk.java.net/display/wakefield with 1) Meeting notes from our discussion today https://wiki.openjdk.java.net/display/wakefield/Meeting+Notes 2) A copy / paste of the list of open issues compiled by Alexandr https://wiki.openjdk.java.net/display/wakefield/Open+Unsolved+Problems All committers should be able to edit the wiki so please feel free to add your own child pages with whatever is needed. -phil. From ofourdan at redhat.com Wed Sep 22 09:41:25 2021 From: ofourdan at redhat.com (Olivier Fourdan) Date: Wed, 22 Sep 2021 11:41:25 +0200 Subject: Robot's API createScreenCapture() question Message-ID: Hi all, In a Wayland desktop, Xwayland cannot capture the content of the Wayland native windows (as those are handled by the Wayland compositor and not Xwayland), but X11's GetImage works on X11 toplevel windows in Xwayland, except for the root window which in Xwayland has no storage (when Xwayland is run rootless). IOW: $ xterm & $ xwd -id $WINDOWID | xwud Works fine in Xwayland, but: $ xwd -root | xwud Fails with a BadMatch for the reason mentioned above. Now I was wondering if we could make that work in Xwayland, but then I had some doubts as to how it currently works with Robot's API createScreenCapture(). Typically, in a composited environment on Xorg, capturing the content of the root window will not fetch the content of all the other windows, just the bare content of the root window itself. xwd works around that by fetching the image of each toplevel window visible on screen and rebuilding a global image by copying those, basically, trying to replicate what the X11 compositor does. How does Robot's API createScreenCapture() deal with such composited setups even on plain Xorg? Corollary question, what actually fails when trying to use the createScreenCapture() API in Xwayland? I believe if we could make that work in Xwayland it would probably help the Robot API in Xwayland (even though it would be limited to X11 windows in Xwayland, it would work at least for Java own windows). Cheers Olivier From neugens at redhat.com Wed Sep 22 16:31:26 2021 From: neugens at redhat.com (Mario Torre) Date: Wed, 22 Sep 2021 18:31:26 +0200 Subject: Robot's API createScreenCapture() question In-Reply-To: References: Message-ID: On Wed, Sep 22, 2021 at 11:42 AM Olivier Fourdan wrote: > > Hi all, > > In a Wayland desktop, Xwayland cannot capture the content of the Wayland > native windows (as those are handled by the Wayland compositor and not > Xwayland), but X11's GetImage works on X11 toplevel windows in Xwayland, > except for the root window which in Xwayland has no storage (when Xwayland > is run rootless). > > IOW: > > $ xterm & > $ xwd -id $WINDOWID | xwud > > Works fine in Xwayland, but: > > $ xwd -root | xwud > > Fails with a BadMatch for the reason mentioned above. > > Now I was wondering if we could make that work in Xwayland, but then I had > some doubts as to how it currently works with Robot's API > createScreenCapture(). > > Typically, in a composited environment on Xorg, capturing the content of > the root window will not fetch the content of all the other windows, just > the bare content of the root window itself. > > xwd works around that by fetching the image of each toplevel window visible > on screen and rebuilding a global image by copying those, basically, trying > to replicate what the X11 compositor does. > > How does Robot's API createScreenCapture() deal with such composited setups > even on plain Xorg? Hi Olivier, If you download the OpenJDK wakefiled repository fork, you can find it under: wakefield/src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c The Robot.createScreenCapture calls on peer.getRGBPixels which then for the X11 implementation goes to Java_sun_awt_X11_XRobotPeer_getRGBPixelsImpl. >From there there are two possible paths, if the underlying toolkit uses GTK we use the GTK api for screenshots by calling get_drawable_data, otherwise we try to determine if it's a composited desktop by checking for the XComposite extensions and then grabbing the actual owner via the NET_WM_CM_Sn hint and a call to XGetSelectionOwner. The call to getWindowImage uses code derived from xwd and retrieves the ReadAreaToImage function, so it works identically from this point on. > Corollary question, what actually fails when trying to use the > createScreenCapture() API in Xwayland? I need to check this, I think we get a black pixel or an empty pixel array? I'll get back to you with this if no one else replies before. > I believe if we could make that work in Xwayland it would probably help the > Robot API in Xwayland (even though it would be limited to X11 windows in > Xwayland, it would work at least for Java own windows). Yes, that would be very useful! Cheers, Mario -- Mario Torre Manager, Software Engineering, core OpenJDK Red Hat GmbH 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 From alexander.zvegintsev at oracle.com Wed Sep 22 16:48:40 2021 From: alexander.zvegintsev at oracle.com (Alexander Zvegintsev) Date: Wed, 22 Sep 2021 18:48:40 +0200 Subject: Robot's API createScreenCapture() question In-Reply-To: References: Message-ID: <59804661-094b-1c18-48c3-d1c55bcc3244@oracle.com> Hi Olivier, So here is an entry point of taking screenshot code for Linux's robot: https://github.com/openjdk/jdk/blob/master/src/java.desktop/unix/native/libawt_xawt/awt/awt_Robot.c#L273 By default we are trying to use GTK . (operation does not fail, but producing black image on XWayland). Anyway, it is using gdk_pixbuf_get_from_*() functions which are removed from GTK4 . > How does Robot's API createScreenCapture() deal with such composited setups > even on plain Xorg? > > Corollary question, what actually fails when trying to use the > createScreenCapture() API in Xwayland? Regarding plain Xorg we are trying to get an image(by reusing xwd code 1 ,2 ) of Composite Overlay Window(section 3.2) which are obtained via XCompositeGetOverlayWindow(). IIUC XWayland does not have a compositor role implemented(and will not have), since compositing is controlled by Wayland's Display Servers. -- Thanks, Alexander. On 22/09/2021 11:41, Olivier Fourdan wrote: > Hi all, > > In a Wayland desktop, Xwayland cannot capture the content of the Wayland > native windows (as those are handled by the Wayland compositor and not > Xwayland), but X11's GetImage works on X11 toplevel windows in Xwayland, > except for the root window which in Xwayland has no storage (when Xwayland > is run rootless). > > IOW: > > $ xterm & > $ xwd -id $WINDOWID | xwud > > Works fine in Xwayland, but: > > $ xwd -root | xwud > > Fails with a BadMatch for the reason mentioned above. > > Now I was wondering if we could make that work in Xwayland, but then I had > some doubts as to how it currently works with Robot's API > createScreenCapture(). > > Typically, in a composited environment on Xorg, capturing the content of > the root window will not fetch the content of all the other windows, just > the bare content of the root window itself. > > xwd works around that by fetching the image of each toplevel window visible > on screen and rebuilding a global image by copying those, basically, trying > to replicate what the X11 compositor does. > > How does Robot's API createScreenCapture() deal with such composited setups > even on plain Xorg? > > Corollary question, what actually fails when trying to use the > createScreenCapture() API in Xwayland? > > I believe if we could make that work in Xwayland it would probably help the > Robot API in Xwayland (even though it would be limited to X11 windows in > Xwayland, it would work at least for Java own windows). > > Cheers > Olivier From neugens at redhat.com Wed Sep 22 17:01:45 2021 From: neugens at redhat.com (Mario Torre) Date: Wed, 22 Sep 2021 19:01:45 +0200 Subject: Robot's API createScreenCapture() question In-Reply-To: References: Message-ID: On Wed, Sep 22, 2021 at 6:31 PM Mario Torre wrote: > I need to check this, I think we get a black pixel or an empty pixel > array? I'll get back to you with this if no one else replies before. Yep, a black image. For some reason I have a vague recollection that it was actually returning null and that we patched to fill with a black array though, but I can't see where this is done, so I'm probably not remembering correctly. Cheers, Mario Cheers, Mario -- Mario Torre Manager, Software Engineering, core OpenJDK Red Hat GmbH 9704 A60C B4BE A8B8 0F30 9205 5D7E 4952 3F65 7898 From zzambers at redhat.com Thu Sep 23 13:03:27 2021 From: zzambers at redhat.com (=?UTF-8?B?WmRlbsSbayDFvWFtYmVyc2vDvQ==?=) Date: Thu, 23 Sep 2021 15:03:27 +0200 Subject: Experiments with screenshots, graphics using shm Message-ID: <0b5cbf1a-4e1b-b88c-7792-158d721ba145@redhat.com> Hi, I have done some experiments with dbus APIs: portals dbus API: - libportal is not available on rhel-8, however dbus API/libs are there ? (I think it is provided by xdg-desktop-portals* packages) - I have made simple program calling dbus API directly [1] - Screenshot call is asynchronous, this means you perform call to make screenshot (it returns immediately), ? url to the screenshot file is delivered later by signal (dbus) - this means you need to create even loop (to wait for signal) - When screenshot is requested, user is presented with dialog asking for confirmation (see rhel-8 example [2]). ? There seem no way to avoid it (even with "interactive" option to false) - API works on RHEL-8/gnome-shell(3), F34/gnome-shell(40), but confirmation dialog is shown, as I wrote earlier - I also tried it on f33/XFCE/X11 screenshot call was successful, but no dialog was shown ? and dbus signal was not delivered (so test app basically hanged waiting for signal...) - All in all, I don't have really good impression of this API (user interaction needed, eventloop needed), ? in current form it does not fit our needs very well, I would see it as last resort gnome-shell dbus API: - obviously gnome only (there are other desktop specific backends) - In the past I have created experimental patch using it as a backend for Robot on wayland - I have quickly rebased it to current jdk [3] - This API is syncronous, screenshot call directly returns path to screenshot file - It does not require user interaction (does not show any dialogs) - API works on RHEL-8/gnome-shell(3), F34/gnome-shell(40) - Theoretically could be one of the options to try by openjdk ? (I have seen this in multiple screenshoting apps as on of their backends) Other: wayland shm: - I have created simple wayland program which uses shared memory for graphics [4] - Looking at OpenJDK source code a bit, using this as backend should be relatively easy to do, I think [1] https://github.com/zzambers/wayland-experiments/tree/main/portal-screenshot [2] https://github.com/zzambers/wayland-experiments/blob/main/screenshot-dialog-portal-gnome.png [3] https://github.com/zzambers/jdk/commit/45b28707770a205c663a7f69bd511d3423188404 [4] https://github.com/zzambers/wayland-experiments/tree/main/wl-shm -- Zden?k ?ambersk? OpenJDK QE Red Hat From alexander.zvegintsev at oracle.com Thu Sep 23 17:01:34 2021 From: alexander.zvegintsev at oracle.com (Alexander Zvegintsev) Date: Thu, 23 Sep 2021 19:01:34 +0200 Subject: XWayland and crash when mapping a lot of windows Message-ID: <16692d40-24a5-fdf7-d874-2248e60556be@oracle.com> Hi Olivier, all, Looks like I stumbled to another crash with XWayland: I filed it as https://gitlab.freedesktop.org/xorg/xserver/-/issues/1222 In short GUI are crashing if you are trying to map a lot of windows at once. Originally I've found it during running tests which are trying to map a lot of windows, one for every GraphicsConfiguration. (GraphicsConfigurations are populated by XVisualInfos for various depths, colormap sizes etc). I have 210 GraphicsConfigurations per display on Xwayland, so I am constantly crashing in 2 display configuration(420+ windows). -- -- Thanks, Alexander. From jadahl at redhat.com Fri Sep 24 07:26:46 2021 From: jadahl at redhat.com (Jonas =?iso-8859-1?Q?=C5dahl?=) Date: Fri, 24 Sep 2021 09:26:46 +0200 Subject: Experiments with screenshots, graphics using shm In-Reply-To: <0b5cbf1a-4e1b-b88c-7792-158d721ba145@redhat.com> References: <0b5cbf1a-4e1b-b88c-7792-158d721ba145@redhat.com> Message-ID: On Thu, Sep 23, 2021 at 03:03:27PM +0200, Zden?k ?ambersk? wrote: > Hi, > > I have done some experiments with dbus APIs: > > portals dbus API: > - libportal is not available on rhel-8, however dbus API/libs are there > ? (I think it is provided by xdg-desktop-portals* packages) > - I have made simple program calling dbus API directly [1] > - Screenshot call is asynchronous, this means you perform call to make > screenshot (it returns immediately), > ? url to the screenshot file is delivered later by signal (dbus) > - this means you need to create even loop (to wait for signal) > - When screenshot is requested, user is presented with dialog asking for > confirmation (see rhel-8 example [2]). > ? There seem no way to avoid it (even with "interactive" option to false) > - API works on RHEL-8/gnome-shell(3), F34/gnome-shell(40), but confirmation > dialog is shown, as I wrote earlier > - I also tried it on f33/XFCE/X11 screenshot call was successful, but no > dialog was shown > ? and dbus signal was not delivered (so test app basically hanged waiting > for signal...) > - All in all, I don't have really good impression of this API (user > interaction needed, eventloop needed), > ? in current form it does not fit our needs very well, I would see it as > last resort > > gnome-shell dbus API: > - obviously gnome only (there are other desktop specific backends) > - In the past I have created experimental patch using it as a backend for > Robot on wayland > - I have quickly rebased it to current jdk [3] > - This API is syncronous, screenshot call directly returns path to > screenshot file > - It does not require user interaction (does not show any dialogs) > - API works on RHEL-8/gnome-shell(3), F34/gnome-shell(40) > - Theoretically could be one of the options to try by openjdk > ? (I have seen this in multiple screenshoting apps as on of their backends) I would like to point out that this API will not be usable starting with F35 or anything other that ships GNOME 41, so advice against relying on it. What I suggest instead are these two options: * Reconsider the screen cast portal using PipeWire option for robot screenshots I think this somewhat maps relatively correctly to what the API needs; you want more or less direct on-demand access to the content of one or more monitors, without user interaction after an initial dialog where the user granted permission. This should, in theory, be possible using PipeWire without being an unnecessary strain on resources, with a few minor modifications to the currently primary use case (active screen sharing / screen recording): 1. Open a PipeWire screen share session on-demand whenever anything asks for a screenshot. Let it stay alive for the lifetime of the application, or deactivate it after a timeout, or some other heuristics. Whenever a screenshot is requested, use the existing screen cast session. 2. To avoid making a screen cast consume resources when unused, it is possible to "reverse" the responsibility of what entity is responsible for triggering new screen cast frames. Thus, in theory, it should be possible for Java to create a screen cast stream with a specific number of buffers (e.g. 1), then only ask for an actual screen cast frame when anything from Java asks for it. The compositor would not record frames when not asked to, and Java wouldn't receive any when not asked to. This might need adaptations in the screen cast producer side (e.g. mutter / gnome-shell), as the screen sharing so far has been targeting users such as WebRTC and OBS Studio which wants a constantly updating stream, but I'd be happy to assist with that, including writing an proof of concept how to do this. This would allow for high performing screen content copying directly via the GPU using DMA buffers, or via shared memory buffers. What method would be used is something that is negotiated using PipeWire. * Reach out to the Flatpak portal community about the screenshot portal The second, less attractive, alternative I see is continuing with the portal screenshot path, while reaching out the Flatpak portal community about potential changes or additions can be made to the screenshot portal, to meet your needs. Note that what is being asked for is, from a privacy and security point of view, equivalent to sharing the screen via a screen cast, i.e. a practically unhindered view of the screen content once the user initially granted permission, so anything that moves the screenshot portal in that direction would in practice conflict - feature wise - with the intended use case of the screencast portal that uses PipeWire. Jonas From clanger at openjdk.java.net Tue Sep 28 18:28:07 2021 From: clanger at openjdk.java.net (Christoph Langer) Date: Tue, 28 Sep 2021 18:28:07 GMT Subject: git: openjdk/wakefield: created branch neugens-test based on the branch kcr-test containing 318 unique commits Message-ID: <375dcb7b-18b8-4950-bbaf-581317e630e9@openjdk.org> The following commits are unique to the neugens-test branch: ======================================================== 92b05fe0: 8273251: Call check_possible_safepoint() from SafepointMechanism::process_if_requested() 7fff22af: 8272805: Avoid looking up standard charsets dd871819: 8214761: Bug in parallel Kahan summation implementation fa9c8657: 8273112: -Xloggc: should override -verbose:gc f17ee0c5: 8273263: Incorrect recovery attribution of record component type when j.l.Record is unavailable 7b023a3f: 8273257: jshell doesn't compile a sealed hierarchy with a sealed interface and a non-sealed leaf 93eec9a1: 8272776: NullPointerException not reported d05494f9: 8266239: Some duplicated javac command-line options have repeated effect 28ba78e6: 8244675: assert(IncrementalInline || (_late_inlines.length() == 0 && !has_mh_late_inlines())) 8c379092: 8273234: extended 'for' with expression of type tvar causes the compiler to crash ff4018bc: 8268148: unchecked warnings handle ? and ? extends Object differently 23fa0dcf: 8272905: Consolidate discovered lists processing d414a88d: 8273240: Dynamic test ArchiveConsistency.java should use CDSArchiveUtils 14a3ac09: 8271911: replay compilations of methods which use JSR292 (easy cases) cec6c068: 8272232: javax/swing/JTable/4275046/bug4275046.java failed with "Expected value in the cell: 'rededited' but found 'redEDITED'." c640fe42: 7188098: TEST_BUG: closed/javax/sound/midi/Synthesizer/Receiver/bug6186488.java fails 4d25e6f6: 8273335: compiler/blackhole tests should not run with interpreter-only VMs b4e5b28b: 8273221: Guard GCIdMark against nested calls 70ed6c5b: 8272878: JEP 381 cleanup: Remove unused Solaris code in sun.font.TrueTypeGlyphMapper fb5b144e: 8272985: Reference discovery is confused about atomicity and degree of parallelism 1bf5bda2: 8269418: jdk/jfr/event/oldobject/TestObjectSize.java failed with "RuntimeException: No events: expected false, was true" 44c5c23b: 8272164: DumpAllocStats shouldn't subclass from ResourceObj 2cabec8d: 8253343: Extract G1 Young GC algorithm related code from G1CollectedHeap 7bd4f496: 8264207: CodeStrings does not honour fixed address assumption. fc546d6d: 8273378: Shenandoah: Remove the remaining uses of os::is_MP eb221812: 8273386: Remove duplicated code in G1DCQS::abandon_completed_buffers 649c22c5: 8270832: Aarch64: Update algorithm annotations for MacroAssembler::fill_words 81c719be: 8273333: Zero should warn about unimplemented -XX:+LogTouchedMethods 3cd95a29: 8231356: Fix broken ResourceObj::operator new[] in debug builds a522d6b5: 8273376: Zero: Disable vtable/itableStub gtests 5caa77b0: 8263364: sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream 70157c78: 8272135: jshell: Method cannot use its overloaded version 377b1867: 8269119: C2: Avoid redundant memory barriers in Unsafe.copyMemory0 intrinsic 041ae20b: 8268558: [TESTBUG] Case 2 in TestP11KeyFactoryGetRSAKeySpec is skipped 99fb12c7: 8271341: Opcode() != Op_If && Opcode() != Op_RangeCheck) || outcnt() == 2 assert failure with Test7179138_1.java 2abf3b3b: 8271340: Crash PhaseIdealLoop::clone_outer_loop df05b4d1: 8271923: [macos] the text color on the selected disabled tabbed pane button remains white making text unreadable 270a9d92: 8273043: [TEST_BUG] Automate NimbusJTreeSelTextColor.java 708407ed: 8273168: Remove superfluous use of boxing in java.desktop d6d6c069: 8273246: Amend the test java/nio/channels/DatagramChannel/ManySourcesAndTargets.java to execute in othervm mode 8884d2f8: 8273462: ProblemList vmTestbase/vm/mlvm/anonloader/stress/oome/heap/Test.java in -Xcomp mode 4eacdb38: 8273104: Refactoring option parser for UL ea4907a8: 8273047: test jfr/api/consumer/TestRecordedFrame.java timing out 1513dc7a: 8271603: Unnecessary Vector usage in java.desktop 7d24a334: 8273318: Some containers/docker/TestJFREvents.java configs are running out of memory 286a1f6b: 8273440: Zero: Disable runtime/Unsafe/InternalErrorTest.java a66629a4: 8254167: G1: Record regions where evacuation failed to provide targeted iteration 6750c34c: 8270533: AArch64: size_fits_all_mem_uses should return false if its output is a CAS 18555742: 8273038: ChannelInputStream.transferTo() uses FileChannel.transferTo(FileChannel) 21012f2b: 8078641: MethodHandle.asTypeCache can retain classes from unloading faa942c8: 8273000: Remove WeakReference-based class initialisation barrier implementation 59c9f750: 8273375: Remove redundant 'new String' calls after concatenation in java.desktop f2f8136c: 8265443: IGV: disambiguate groups by emiting additional properties 7e662e7b: 8272413: Incorrect num of element count calculation for vector cast cb112aff: 8269373: some tests in jdk/tools/launcher/ fails on localized Windows platform e5f298a7: 8273329: Remove redundant null check from String.getBytes(String charsetName) d7efd0e8: 8273450: Fix the copyright header of SVML files f7e9f56e: 8273359: CI: ciInstanceKlass::get_canonical_holder() doesn't respect instance size 267c61a1: 8273361: InfoOptsTest is failing in tier1 4d5e1ed9: 8272375: Improve phrasing of synthesized descriptions in JavaFX docs ba31eee4: 8273109: runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest times out e6805032: 8273185: Rename the term "atomic" in ReferenceProcessor 9b5991e8: 8273451: Remove unreachable return in mutexLocker::wait a5e4def5: 8265489: Stress test times out because of long ObjectSynchronizer::monitors_iterate(...) operation 7fd6b0bf: 8273242: (test) Refactor to use TestNG for RuntimeTests ExecCommand tests 12f0b771: 8273516: ProblemList compiler/c2/Test7179138_1.java in -Xcomp mode on win-X64 5df26480: 8273218: G1: Rename g1EvacuationInfo to g1EvacInfo 6eba4434: 8273387: remove some unreferenced gtk-related functions 5b1dfe4e: 8273439: Fix G1CollectedHeap includes and forward declarations dc33bd8b: 8273315: Parallelize and increase timeouts for java/foreign/TestMatrix.java test 8c16f485: 8273487: Zero: Handle "zero" variant in runtime tests aa931118: 8273483: Zero: Clear pending JNI exception check in native method handler 00e059dd: 8133686: HttpURLConnection.getHeaderFields and URLConnection.getRequestProperties methods return field values in reverse order 9690df7f: 8273476: G1: refine G1CollectedHeap::par_iterate_regions_array_part_from f6cc1732: 8273539: [PPC64] gtest build error after JDK-8264207 5ca26cbd: 8273433: Enable parallelism in vmTestbase_nsk_sysdict tests 4866eaa9: 8273409: Receiver type narrowed by CCP does not always trigger post-parse call devirtualization c81690d7: 8273498: compiler/c2/Test7179138_1.java timed out e3bda63c: 8273489: Zero: Handle UseHeavyMonitors on all monitorenter paths 96614da0: 8272903: Missing license header in ArenaAllocator.java ef4a5328: 8263773: Reenable German localization for builds at Oracle dd1209e4: 8268885: duplicate checkcast when destination type is not first type of intersection type 185eacac: 8273545: Remove Thread::is_GC_task_thread() 4020a60c: 8273550: Replace os::cgc_thread/pgc_thread with os::gc_thread 54dee132: 8273188: java/lang/instrument/BootClassPath/BootClassPathTest.sh fails with "FATAL ERROR in native method: processing of -javaagent failed, processJavaStart failed" 2e321dc7: 8273528: Avoid ByteArrayOutputStream.toByteArray when converting stream to String 08f0be83: 8272608: java_lang_System::allow_security_manager() doesn't set its initialization flag 70c9e026: 8272148: JDesktopPane:getComponentCount() returns one extra than expected with GTKLookAndFeel 792281d5: 8264517: C2: make MachCallNode::return_value_is_used() only available for x86 2eaf374c: 8272698: LoadNode::pin is unused c1e39faa: 8273482: Remove "foreground work" concept from WorkGang 4e6de5f9: 8273541: Cleaner Thread creates with normal priority instead of MAX_PRIORITY - 2 c464f090: 8273402: Use derived NamingExceptions in com.sun.jndi.ldap.Connection#readReply a37254c7: 8271868: Warn user when using mac-sign option with unsigned app-image. 4afbcaf5: 8273592: Backout JDK-8271868 695b434b: Merge 461a467f: 8273456: Do not hold ttyLock around stack walking e58c12e6: 8273512: Fix the copyright header of x86 macroAssembler files efe3ed1e: 8273358: macOS Monterey does not have the font Times needed by Serif 81d2acee: 8273369: Computing micros between two instants unexpectedly overflows for some cases ec9d1beb: 8273194: Document the two possible cases when Lookup::ensureInitialized returns d4177a98: 8273351: bad tag in jdk.random module-info.java 5e1df2c7: 8273162: AbstractSplittableWithBrineGenerator does not create a random salt f690a01f: 8273278: Support XSLT on GraalVM Native Image--deterministic bytecode generation in XSLT e4cd2097: 8273611: Remove unused ProfilePrint_lock f42b9279: 8273609: Fix trivial doc typos in the compiler area 922e86f4: 8273522: Rename test property vm.cds.archived.java.heap to vm.cds.write.archived.java.heap f189dff5: 8273595: tools/jpackage tests do not work on apt-based Linux distros like Debian 2ee1f96c: 8273484: Cleanup unnecessary null comparison before instanceof check in java.naming 9f86082f: 8273610: LogTestFixture::restore_config() should not restore options a73c06de: 8273021: C2: Improve Add and Xor ideal optimizations 4efcd200: 8273478: [macos11] JTabbedPane selected and pressed tab is not legible b0d04976: 8273584: TypeElement.getSuperclass crashes for a record TypeElement when j.l.Record is not available 261cb44b: 8273629: compiler/uncommontrap/TestDeoptOOM.java fails with release VMs f9b2507f: 8271834: TestStringDeduplicationAgeThreshold intermittent failures on Shenandoah 4cfa230e: 8273259: Character.getName doesn't follow Unicode spec for ideographs 7c26ddb5: 8195809: [TESTBUG] jps and jcmd -l support for containers is not tested b4b12101: 8273616: Fix trivial doc typos in the java.base module 6cf5079d: 8273513: Make java.io.FilterInputStream specification more precise about overrides fc0f8542: 8246797: A convenient method to read OPTIONAL element 5095068d: 8273675: Remove unused Universe::_verify_in_progress flag 3d9dc8f8: 8273430: Suspicious duplicate condition in java.util.regex.Grapheme#isExcludedSpacingMark c54a918a: 8273691: Missing comma after 2021 in GraphemeTestAccessor.java copyright notice 8d73ee68: 8273471: Add foldmultilines to UL for stdout/err 86a8e552: 8273486: Zero: Handle DiagnoseSyncOnValueBasedClasses VM option a1433728: 8273438: Enable parallelism in vmTestbase/metaspace/stressHierarchy tests 1d2458db: 8266550: C2: mirror TypeOopPtr/TypeInstPtr/TypeAryPtr with TypeKlassPtr/TypeInstKlassPtr/TypeAryKlassPtr f5272899: 8273639: tests fail with "assert(_handle_mark_nesting > 1) failed: memory leak: allocating handle outside HandleMark" 38845805: 8273597: Rectify Thread::is_ConcurrentGC_thread() 5bfd043e: 8273497: building.md should link to both md and html ed7789d6: 8256977: Bump minimum GCC from 5.x to 6 for JDK 31667daa: 8273491: java.util.spi.LocaleServiceProvider spec contains statement that is too strict 1d3eb147: 8273635: Attempting to acquire lock StackWatermark_lock/9 out of order with lock tty_lock/3 8974b958: 8273730: WorkGangBarrierSync constructor unused fe89dd3b: 8271254: javac generates unreachable code when using empty semicolon statement 0f31d0fb: 8273373: Zero: Cannot invoke JVM in primordial threads on Zero 394ebc86: 8270553: Tests should not use (real, in-use, routable) 1.1.1.1 as dummy IP value 22a7191f: 8273040: Turning off JpAllowDowngrades (or Upgrades) e7ab3724: 8273641: (bf) Buffer subclasses documentation contains template strings 16c3ad1f: 8272574: C2: assert(false) failed: Bad graph detected in build_loop_late e66bf472: 8273414: ResourceObj::operator delete should handle nullptr in debug builds 6cf70f5f: 8273638: javax/swing/JTable/4235420/bug4235420.java fails in GTK L&F 1017a2c2: 8273135: java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java crashes in liblcms.dylib with NULLSeek+0x7 febcc72a: 8273366: [testbug] javax/swing/UIDefaults/6302464/bug6302464.java fails on macOS12 02af541b: 8273605: VM Exit does not abort concurrent mark 92c30c94: 8273599: Remove cross_threshold method usage around GC 8fbcc823: 8273494: Zero: Put libjvm.so into "zero" folder, not "server" 4c673df3: 8273656: Improve java.lang.invoke.MethodType.parameterList() and its usage f531b5c7: 8273514: java/util/DoubleStreamSums/CompensatedSums.java failure 8132bfd2: 8273559: Shenandoah: Shenandoah should support multi-threaded heap dump a3ca7702: 8272815: jpackage --type rpm produces an error: Invalid or unsupported type: [null] 82904246: 8272771: frame::pd_ps() is not implemented on any platform 7b2beb6b: 8273823: Problemlist gc/stringdedup tests timing out on ZGC cbffecc6: 8273832: gc/shenandoah/TestJcmdHeapDump.java does not have a @requires vm.gc.shenandoah 74ffe122: 8273575: memory leak in appendBootClassPath(), paths must be deallocated d4546b6b: 8273526: Extend the OSContainer API pids controller with pids.current 2d13fb21: 8273803: Zero: Handle "zero" variant in CommandLineOptionTest.java 46af82e5: 8273804: Platform.isTieredSupported should handle the no-compiler case 1c5de8b8: 8273807: Zero: Drop incorrect test block from compiler/startup/NumCompilerThreadsCheck.java 99cfc160: 8273805: gc/g1/TestGCLogMessages.java test should handle non-JFR configs 09ecb119: 8273806: compiler/cpuflags/TestSSE4Disabled.java should test for CPU feature explicitly 181292d4: 8273801: Handle VMTYPE for "core" VM variant 241ac89f: 8273606: Zero: SPARC64 build fails with si_band type mismatch 14dc5178: 8273372: Remove scavenge trace message in psPromotionManager c86e24d4: 8271954: C2: assert(false) failed: Bad graph detected in build_loop_late 5e4d09c2: 8273300: Check Mutex ranking during a safepoint 59b2478a: 8273659: Replay compilation crashes with SIGSEGV since 8271911 7e92abe7: 8273710: Remove redundant stream() call before forEach in jdk.jdeps 12fa7073: 8261941: Use ClassLoader for unregistered classes during -Xshare:dump 9c5441c9: 8271569: Clean up the use of CDS constants and field offsets bc48a0ac: 8273902: Memory leak in OopStorage due to bug in OopHandle::release() b9829044: 8271073: Improve testing with VM option VerifyArchivedFields 8c022e2c: 8270434: JDI+UT: Unexpected event in JDI tests e07ab82e: 8273408: java.lang.AssertionError: typeSig ERROR on generated class property of record 54b45676: 8273880: Zero: Print warnings when unsupported intrinsics are enabled 1890d85c: 8273872: ZGC: Explicitly use 2M large pages 35f6f1d6: 8273808: Cleanup AddFontsToX11FontPath 27d747ad: 8273877: os::unsetenv unused 17f7a45c: 8273913: Problem list some headful client jtreg tests that fail on macOS 12 2f8c2211: 8273681: Add Vector API vs Arrays.mismatch intrinsic benchmark 83020617: 8273774: CDSPluginTest should only expect classes_nocoops.jsa exists on supported 64-bit platforms 2a2e9190: 8273685: Remove jtreg tag manual=yesno for java/awt/Graphics/LCDTextAndGraphicsState.java & show test instruction bb9d1427: 8273958: gtest/MetaspaceGtests executes unnecessary tests in debug builds 7c9868c0: 8273454: C2: Transform (-a)*(-b) into a*b dc7f452a: 8273815: move have_special_privileges to os_posix for POSIX platforms d2388b7a: 8273959: Some metaspace diagnostic switches should be develop a561eac9: 8273895: compiler/ciReplay/TestVMNoCompLevel.java fails due to wrong data size with TieredStopAtLevel=2,3 6f3e40c1: 8273825: TestIRMatching.java fails after JDK-8266550 f71df142: 8273187: jtools tests fail with missing markerName check 699865f7: 8259039: Passing different version to --release flag than javac version output warning 1f8af524: 8273314: Add tier4 test groups 544193a3: 8247980: Exclusive execution of java/util/stream tests slows down tier1 4da45c43: 8270609: [TESTBUG] java/awt/print/Dialog/DialogCopies.java does not show instruction 9aa12daa: 8273934: Remove unused perfcounters 4d95a5d6: 8273933: [TESTBUG] Test must run without preallocated exceptions 48aff231: 8272515: JFR: Names should only be valid Java identifiers dad5d271: 8272867: JFR: ManagementSupport.removeBefore() lost coverage 4b3a4fff: 8273940: vmTestbase/vm/mlvm/meth/stress/gc/callSequencesDuringGC/Test.java crashes in full gc during VM exit 26e5e9ae: 8273654: JFR: Remove unused SecuritySupport.setAccessible(Field) a67f0f9d: 8273505: runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java#default-cl crashed with SIGSEGV in MetaspaceShared::link_shared_classes b3b4b1cc: 8273907: Cleanup redundant Math.max/min calls in DefaultHighlighter 5c21c004: 8267163: Rename anonymous loader tests to hidden loader tests 04891c95: 8273912: Add threadControl_dumpThread(jthread) function 5fde4b64: 8273909: vmTestbase/nsk/jdi/Event/request/request001 can still fail with "ERROR: new event is not ThreadStartEvent" ee3576a4: 8256735: JFR: 'jfr' tool displays incorrect timestamps 1bd11a7f: 8273887: [macos] java/awt/color/ICC_ColorSpace/MTTransformReplacedProfile.java timed out 7ce60c6f: 8273651: JFR: onMetadata(), setStartTime(), setEndTime() lacks test coverage d16bf04c: 8273613: JFR: RemoteRecordingStream::start() blocks close() 9c91ff57: 8274031: Typo in StringBuilder.readObject 240fa6ef: 8273927: Enable hsdis for riscv64 f242cb5c: 8273797: Stop impersonating "server" VM in all VM variants 6642d2eb: 8273783: Simplify Metaspace arena guard handling c60bcd09: 8273928: Use named run ids when problem listing tests 65ed0a74: 8273655: content-types.properties files are missing some common types a5108a60: 8273646: Add openssl from path variable also in to Default System Openssl Path in OpensslArtifactFetcher afd218d3: 8274053: [BACKOUT] JDK-8270842: G1: Only young regions need to redirty outside references in remset. 7acec3f1: 8236505: Mark jdk/editpad/EditPadTest.java as @headful 111d5e1a: 8273915: Create 'nosafepoint' rank 57df0dbc: 8270873: JFR: Catch DirectoryIteratorException when scanning for .jfr files 42d5d2ab: 8274056: JavaAccessibilityUtilities leaks JNI objects 6d91a3eb: 8269039: Disable SHA-1 Signed JARs 0fc47e99: 8266666: Implementation for snippets 161fdb4a: 8273935: (zipfs) Files.getFileAttributeView() throws UOE instead of returning null when view not supported a72c8aa6: 8273921: Refactor NSK/JDI tests to create thread using factory cbe57e86: 8273684: Replace usages of java.util.Stack with ArrayDeque 11cddd32: 8272114: Unused _last_state in osThread_windows 517405e4: 8273965: some testlibrary_tests/ir_framework tests fail when c1 disabled eeaf43b2: 8274114: ProblemList serviceability/sa/TestJhsdbJstackMixed.java on linux-aarch64 in -Xcomp mode 688b3fe2: 8274070: Rectify problemlist platform for failing test on macos12 d9872ba3: 8273590: Move helper classes in G1 post evacuation sub tasks to cpp files c77ebe88: 8274060: C2: Incorrect computation after JDK-8273454 51085b52: 8274054: Add custom enqueue calls during reference processing 7f78803b: 8273961: jdk/nio/zipfs/ZipFSTester.java fails if file path contains '+' character 3f73ca7f: 8274068: Rename G1ScanInYoungSetter to G1SkipCardEnqueueSetter d245a8cc: 8274069: Clean up g1ParScanThreadState a bit aefd4ac4: 8258734: jdk/jfr/event/oldobject/TestClassLoaderLeak.java failed with "RuntimeException: Could not find class leak" ba7d550c: 8270139: jshell InternalError crash for import of @Repeatable followed by unresolved ref 71788c69: 8271287: jdk/jshell/CommandCompletionTest.java fails with "lists don't have the same size expected" c6df3c95: 8274071: Clean up java.lang.ref comments and documentation 0a361638: 8272600: (test) Use native "sleep" in Basic.java 33df388a: 8274003: ProcessHandleImpl.Info toString has an if check which is always true c9de8063: 8274039: codestrings gtest fails when hsdis is present d39aad92: 8273924: ArrayIndexOutOfBoundsException thrown in java.util.JapaneseImperialCalendar.add() da38ced3: 8271602: Add Math.ceilDiv() family parallel to Math.floorDiv() family 81d41647: 8272759: (fc) java/nio/channels/FileChannel/Transfer2GPlus.java failed in timeout 57fe11c9: 8274120: [JVMCI] CompileBroker should resolve parameter types for JVMCI compiles 8821b000: 8205137: Remove Applet support from SwingSet2 60313889: 8273714: jdk/jfr/api/consumer/TestRecordedFrame.java still times out after JDK-8273047 9d3379b9: 8267356: AArch64: Vector API SVE codegen support 0fbbe4c9: 8274033: Some tier-4 CDS EpsilonGC tests throw OOM 45adc922: 8273578: javax/swing/JMenu/4515762/bug4515762.java fails on macOS 12 1c6fa113: 8273979: move some os time related functions to os_posix for POSIX platforms 2166ed13: 8273894: ConcurrentModificationException raised every time ReferralsCache drops referral a74c099d: 8252842: Extend jmap to support parallel heap dump 8b833bbe: 8274048: IGV: Replace usages of Collections.sort with List.sort call 87998565: 8274075: Fix miscellaneous typos in java.base 4f3b626a: 8271567: AArch64: AES Galois CounterMode (GCM) interleaved implementation using vector instructions d0987513: 8273916: Remove 'special' ranking c4345285: 8273546: DecimalFormat documentation contains literal HTML character references 66ce09f5: 8272703: StressSeed should be set via FLAG_SET_ERGO 653a612a: 8270156: Add "randomness" and "stress" keys to JTreg tests which use StressGCM, StressLCM and/or StressIGVN 1b7f4b7d: 8274169: HotSpot Style Guide has stale link to chromium style guide 3b1b8fc6: 8269850: Most JDK releases report macOS version 12 as 10.16 instead of 12.0 1fdc6560: 8274175: (fc) java/nio/channels/FileChannel/Transfer2GPlus.java still failed in timeout 5ffbe755: 8274195: Doc cleanup in java.nio.file 0aa63fec: 8274216: ProblemList 2 serviceability/dcmd/gc tests with ZGC on linux-all and windows-all 56b8b352: 8273261: Replace 'while' cycles with iterator with enhanced-for in java.base bb74ae87: 8274171: java/nio/file/Files/probeContentType/Basic.java failed on "Content type" mismatches 1d440141: 8273034: Make javadoc navigation collapsible on small displays 971aa353: 8274083: Update testing docs to mention tiered testing d91e227a: 8238274: (sctp) JDK-7118373 is not fixed for SctpChannel db23ecdf: 8274191: Improve g1 evacuation failure injector performance 5a12af76: 8271880: Tighten condition for excluding regions from collecting cards with cross-references 5ba0d09f: 8274205: Handle KDC_ERR_SVC_UNAVAILABLE error code from KDC f36a2bbd: 8274087: Windows DLL path not set correctly. f214d6e8: 8274234: Remove unnecessary boxing via primitive wrapper valueOf(String) methods in java.sql.rowset 718eff2b: 8273380: ARM32: Default to {ldrexd,strexd} in StubRoutines::atomic_{load|store}_long e741a180: 8274233: Minor cleanup for ToolBox 0c050be6: 8274294: ProblemList sun/tools/jmap/BasicJMapTest.java baafa605: 8274237: Replace 'for' cycles with iterator with enhanced-for in java.base 753b2563: 8274296: Update or Problem List tests which may fail with uiScale=2 on macOS 13e9ea9e: 8273297: AES/GCM non-AVX512+VAES CPUs suffer after 8267125 341de49f: 8273492: Move evacuation failure handling into G1YoungCollector 61ac53f6: 8210927: JDB tests do not update source path after doing a redefine class 5756385c: 8274273: Update testing docs for MacOS with Non-US locale 9bc865d3: 8273960: Redundant condition in Metadata.TypeComparator.compare 8c122af6: 8274314: Typo in WatchService#poll(long timeout, TimeUnit unit) javadoc ab28db14: 8274312: ProblemList 2 serviceability/dcmd/gc tests with ZGC on macos-all 4838a2ca: 8274143: Disable "invalid entry for security.provider.X" error message in log file when security.provider.X is empty 5ec1cdca: 8274321: Standardize values of @since tags in javax.lang.model 7700b254: 8273401: Disable JarIndex support in URLClassPath 252aaa92: 8274293: Build failure on macOS with Xcode 13.0 as vfork is deprecated e3aff8f8: 8274289: jdk/jfr/api/consumer/TestRecordedFrameType.java failed with "RuntimeException: assertNotEquals: expected Interpreted to not equal Interpreted" 7426fd4c: 8274325: C4819 warning at vm_version_x86.cpp on Windows after JDK-8234160 7436a77e: 8274317: Unnecessary reentrant synchronized block in java.awt.Cursor b0983df5: 8274074: SIGFPE with C2 compiled code with -XX:+StressGCM 172900da: 8274255: Update javac messages to use "enum class" rather than "enum type" 2cffe4c8: 8274326: [macos] Ensure initialisation of sun/lwawt/macosx/CAccessibility in JavaComponentAccessibility.m daaa47e2: 8274311: Make build.tools.jigsaw.GenGraphs more configurable 14100d55: 8274170: Add hooks for custom makefiles to augment jtreg test execution 75404ea2: 8267636: Bump minimum boot jdk to JDK 17 0865120e: 8274345: make build-test-lib is broken 5b660f33: 8274392: Suppress more warnings on non-serializable non-transient instance fields in java.sql.rowset c4b52c73: 8271303: jcmd VM.cds {static, dynamic}_dump should print more info c880b87a: 8274367: Re-indent stack-trace examples for Throwable.printStackTrace 8876eae4: 8269685: Optimize HeapHprofBinWriter implementation 633eab23: 8174819: java/nio/file/WatchService/LotsOfEvents.java fails intermittently ddc26274: 8273790: Potential cyclic dependencies between Gregorian and CalendarSystem af50772d: 8231640: (prop) Canonical property storage 3eca9c36: 8264707: HotSpot Style Guide should permit use of lambda 6a573b88: 8273508: Support archived heap objects in SerialGC 961dcffc: 8273581: Change the mechanism by which JDK loads the platform-specific FontManager class 79865cd7: 8274259: G1: assert(check_alignment(result)) failed: address not aligned: 0x00000008baadbabe after JDK-8270009 be403737: 8274381: missing CAccessibility definitions in JNI code b36881fa: 8274383: JNI call of getAccessibleSelection on a wrong thread 94f5e807: 8274276: Cache normalizedBase URL in URLClassPath.FileLoader 6f4cefbc: 8274394: Use Optional.isEmpty instead of !Optional.isPresent in jdk.jlink c57a6c62: 8274265: Suspicious string concatenation in logTestUtils.inline.hpp From duke at openjdk.java.net Tue Sep 28 18:30:29 2021 From: duke at openjdk.java.net (duke) Date: Tue, 28 Sep 2021 18:30:29 GMT Subject: git: openjdk/wakefield: neugens-test: add simple screenshot tests for KDE to test a KDE based wayland desktop (#1) Message-ID: <6946ae7b-c602-4212-87ca-fa38a7e141ea@openjdk.java.net> Changeset: 17911169 Author: Mario Torre <152881+neugens at users.noreply.github.com> Committer: GitHub Date: 2021-09-28 20:28:01 +0000 URL: https://git.openjdk.java.net/wakefield/commit/179111691717c521abb7353aa3f0040d3d7fd42c add simple screenshot tests for KDE to test a KDE based wayland desktop (#1) + wayland-native-tests/kde/qt-screenshot/Makefile + wayland-native-tests/kde/qt-screenshot/QTest.pro + wayland-native-tests/kde/qt-screenshot/QTest.pro.user + wayland-native-tests/kde/qt-screenshot/main.cpp + wayland-native-tests/kde/qt-screenshot/mainwindow.cpp + wayland-native-tests/kde/qt-screenshot/mainwindow.h + wayland-native-tests/kde/qt-screenshot/mainwindow.ui