[8u-backport] JDK-8087516 : [JavaFX] Conditional support for GTK 3 on Linux
Kevin Rushforth
kevin.rushforth at oracle.com
Thu Oct 11 15:47:29 UTC 2018
I used the wrong bug ID below. Here is the right one:
8189689: JavaFX build fails with gcc 6 [1]
Pankaj will send a backport request for this tomorrow. We should get
this one in ASAP since 8u-dev is unable to compile on Ubuntu 18.04 today.
-- Kevin
[1] https://bugs.openjdk.java.net/browse/JDK-8189689
On 10/11/2018 8:28 AM, Kevin Rushforth wrote:
> 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