[8u-backport] JDK-8087516 : [JavaFX] Conditional support for GTK 3 on Linux
Kevin Rushforth
kevin.rushforth at oracle.com
Thu Oct 11 15:28:32 UTC 2018
We use gcc 7.3 (and Oracle Linux 6 / 7) for our Hudson builds of FX 8
and don't see this problem. Pankaj asked about backporting the fix for
that JDK-8203884, but I suggested it wasn't needed, since it is
unrelated to this change.
It sounds like we should backport JDK-8203884, though I prefer it as a
separate fix not tied to the GTK 3 work.
-- Kevin
On 10/11/2018 3:35 AM, Johan Vos wrote:
> Hi Pankaj,
>
> What gcc version did you use to build on Ubuntu 18.04? Default, I
> think gcc 7.3 is used in 18.04 and that has the issue with wait() in
> modules/fxpackager/src/main/native/library/common/PosixPlatform.cpp
> (which was later replaced with
> wait(&status);
> )
>
> This is blocking me to build 8u-dev on Ubuntu 18.04.
> On Ubuntu 16.04, there are no issues and it works fine there.
>
> - Johan
>
> On Wed, Oct 10, 2018 at 5:10 PM Pankaj Bansal
> <pankaj.b.bansal at oracle.com <mailto:pankaj.b.bansal at oracle.com>> wrote:
>
> Hi Kevin,
>
> Thanks for review and the information provided.
>
> I have updated the webrev for the proposed change from RTLD_GLOBAL
> to RTLD_LOCAL in launcher.c. Along with the this change, the new
> patch also includes the backport of two more fixes mentioned
> below. So now we have backported total of 20 bugs.
>
> 19. JDK-8171985: Fx applet fails to get loaded on Ubuntu with
> jre9-b150
> 20. JDK-8171928: Build fails on Oracle Linux 7 with unused
> parameter warning
>
> I have tested it on all three platforms (Windows 10, Linux (Ubuntu
> 18.4 LTS, Ubuntu 16.04 LTS) and and Mac) and no new test failures
> are found. I have tested the "HelloWebView" and "Ensemble" and I
> don't see any issue. I did some sanity testing on OL 7.5 as well
> and things look good to me.
>
> Webrev:
> http://cr.openjdk.java.net/~pbansal/gtk3_JFX_backport/webrev.01/
> <http://cr.openjdk.java.net/%7Epbansal/gtk3_JFX_backport/webrev.01/>
>
> Regards,
> Pankaj
>
>
> -----Original Message-----
> From: Kevin Rushforth
> Sent: Thursday, October 4, 2018 7:41 AM
> To: Pankaj Bansal; openjfx-dev at openjdk.java.net
> <mailto:openjfx-dev at openjdk.java.net>
> Subject: Re: [8u-backport] JDK-8087516 : [JavaFX] Conditional
> support for GTK 3 on Linux
>
> I debugged this offline earlier today, and it looks related to a
> collision in the glib library. As I mentioned offline, a possible
> solution is to remove RTLD_GLOBAL from the dlopen of the
> libglassgtk{2,3}.so library. I was able to do a full build / test
> on both GTK 2 and GTK 3 including media and webkit with that
> modification.
>
> Overall, this is looking quite good.
>
> One more thing: the patch adds several new tests, so you will need
> to run at least the new tests on all three platforms (a quick
> check on Mac shows a couple failures).
>
> I also see a couple differences between jfx-dev and 8u-dev in the
> native code that should be looked into to make sure there wasn't a
> missed fix on the backport (the Hi-DPI diffs are expected, but I
> see a couple others).
>
> -- Kevin
>
>
> On 10/3/2018 10:16 AM, Kevin Rushforth wrote:
> > My initial testing shows a couple problems which will need to be
> > resolved:
> >
> > 1) I get many GTK warnings relating to Pango when running
> HelloWebView
> > 2) Running any program that uses media crashes
> >
> > This is on Ubuntu 16.04 LTS using the default GTK 2 mode.
> >
> > -- Kevin
> >
> >
> > On 10/3/2018 3:26 AM, Pankaj Bansal wrote:
> >>
> >> Hi All,
> >>
> >> Please review the patch for 8u-dev backport for JDK-8087516
> >> <https://bugs.openjdk.java.net/browse/JDK-8087516>. It adds
> >> conditional support for gtk3.
> >>
> >> Along with the enhancement, following bug fixes have also been
> >> included in the backport webrev
> >>
> >> 1.https://bugs.openjdk.java.net/browse/JDK-8159892: [GTK3] invalid
> >> rendering of FX app stage in case of scaling
> >>
> >> 2.https://bugs.openjdk.java.net/browse/JDK-8163496: Rework
> Glass GTK
> >> to correct gtk3 structure sizes
> >>
> >> 3.https://bugs.openjdk.java.net/browse/JDK-8145837: Remove
> deprecated
> >> GTK2 calls in JavaFX
> >>
> >> 4.https://bugs.openjdk.java.net/browse/JDK-8165562: Upgrade to
> newer
> >> version of SWT for build/test
> >>
> >> 5.https://bugs.openjdk.java.net/browse/JDK-8171330: Issues with
> >> transparent stage and GTK
> >>
> >> 6.https://bugs.openjdk.java.net/browse/JDK-8171976: Linux: JavaFX
> >> window not painted with background when using GTK 3
> >>
> >> 7.https://bugs.openjdk.java.net/browse/JDK-8166414: Scene returns
> >> incorrect coordinates
> >>
> >> 8.https://bugs.openjdk.java.net/browse/JDK-8166147: Ubuntu 16.04:
> >> expandable content goes outside of the alert dialog
> >>
> >> 9.https://bugs.openjdk.java.net/browse/JDK-8152421: After
> initing the
> >> modality of a non-primary stage to MODAL, closing that stage
> causes
> >> the primary stage to become non-resizable
> >>
> >> 10.https://bugs.openjdk.java.net/browse/JDK-8090249: [Linux]
> >> Restoring owner stage after minimize does not restore position of
> >> child stage
> >>
> >> 11.https://bugs.openjdk.java.net/browse/JDK-8173901: Linux:
> Position
> >> of Stage is not restored after exiting full screen
> >>
> >> 12.https://bugs.openjdk.java.net/browse/JDK-8175204: Linux: Dialog
> >> windows come up 1-pixel wide
> >>
> >> 13.https://bugs.openjdk.java.net/browse/JDK-8175205: Linux: Stage
> >> initially in full-screen mode not shown when exiting full-screen
> >>
> >> 14.https://bugs.openjdk.java.net/browse/JDK-8175822: Pulldown
> >> position regression and not painting correctly tooltips regression
> >>
> >> 15.https://bugs.openjdk.java.net/browse/JDK-8176844: Menus not
> always
> >> selected properly with GTK 3
> >>
> >> 16.https://bugs.openjdk.java.net/browse/JDK-8172219: Allow
> compiling
> >> without GTK 3.0 being installed
> >>
> >> 17.https://bugs.openjdk.java.net/browse/JDK-8157002 Toggle gtk
> >> version if SWT used via FXCanvas
> >>
> >> 18.https://bugs.openjdk.java.net/browse/JDK-8156491: Autodetect
> GTK
> >> version for JFX
> >>
> >> The original gtk3 backport patch applied cleanly, but the bugs did
> >> not apply cleanly. So a review is required.
> >>
> >> I have run the full gradle tests on Ubuntu 14.04 LTS, Ubuntu 16.04
> >> LTS, Ubuntu 18.04 and have done sanity testing on Oracle Linux 7.5.
> >>
> >> webrev:
> >>
> http://cr.openjdk.java.net/~pbansal/gtk3_JFX_backport/webrev.00/
> <http://cr.openjdk.java.net/%7Epbansal/gtk3_JFX_backport/webrev.00/>
> >>
> >> JBS: https://bugs.openjdk.java.net/browse/JDK-8087516
> >>
> >> JDK 9 Changeset:
> >> http://hg.openjdk.java.net/openjfx/9-dev/rt/rev/8c6d0386d3f5
> >>
> >> Regards,
> >>
> >> Pankaj
> >>
> >
>
More information about the openjfx-dev
mailing list