<AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

<AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

Pankaj Bansal

Hi All,

 

Please review the patch for 8u-dev backport for JDK-8145547. It adds conditional support for gtk3.

The original fix does not apply cleanly as few changes were done  in jdk9 before the gtk3 support was added, major once being JDK-8025815, JDK-8014212 and JDK-8137571

 

Along with the enhancement, following bug fixes have also been included in the backport webrev

 

1.      https://bugs.openjdk.java.net/browse/JDK-8155772: gtk3_interface.c compilation error on Ubuntu 12.10

2.      https://bugs.openjdk.java.net/browse/JDK-8156020: 8145547 breaks AIX and and uses RTLD_NOLOAD incorrectly

3.      https://bugs.openjdk.java.net/browse/JDK-8156121: Fail forward" fails for GTK3 if no GTK2 available

4.      https://bugs.openjdk.java.net/browse/JDK-8156128: Tests for [AWT/Swing] Conditional support for GTK 3 on Linux

5.      https://bugs.openjdk.java.net/browse/JDK-8157827: AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect GTK version when jdk.gtk.version=3

6.      https://bugs.openjdk.java.net/browse/JDK-8160160: The menu displayed nothing with the option"-server -d64 -Xmixed -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".

7.      https://bugs.openjdk.java.net/browse/JDK-8191041: Questionable Rendering of Disabled Text in Swing GTK L&F

8.      https://bugs.openjdk.java.net/browse/JDK-8203003: Several FileDialog Modality Tests fail on Linux due to X errors

9.      https://bugs.openjdk.java.net/browse/JDK-8155784: Build failure on Linux arm64

10.   https://bugs.openjdk.java.net/browse/JDK-8154546: Retire sun.misc.GThreadHelper

11.   https://bugs.openjdk.java.net/browse/JDK-8152968: JTree Collapse Buttons Clipped Off Under GTK

12.   https://bugs.openjdk.java.net/browse/JDK-8160448: Make GTK3 menus appearence similar to native.

13.   https://bugs.openjdk.java.net/browse/JDK-8155613: [PIT] crash in AWT_Desktop/Automated/Exceptions/BasicTest

14.   https://bugs.openjdk.java.net/browse/JDK-8160054: The FileChooser didn't displayed large font with GTK LAF option.

15.   https://bugs.openjdk.java.net/browse/JDK-8164321: Crash of SwingNode with GTK LaF

16.   https://bugs.openjdk.java.net/browse/JDK-8161740: [parfait] Memory leak in Java_sun_awt_UNIXToolkit_load_1gtk_1icon of awt_UNIXToolkit.c:132

17.   https://bugs.openjdk.java.net/browse/JDK-8168077: Solaris build failed: gtk2_interface.h typedef redeclared: GThreadFunctions

 

 

webrev: http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.00/

JBS: https://bugs.openjdk.java.net/browse/JDK-8145547

JDK 9 Changeset: http://hg.openjdk.java.net/jdk9/client/jdk/rev/6d60dfa5e3f8

I have run the related jtreg and jck tests and results are fine.

 

Regards,

Pankaj

 

Reply | Threaded
Open this post in threaded view
|

Re: <AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

Kevin Rushforth
The backport of the following fix, which removes sun.misc.GThreadHelper, will break all FX interop applications, even if GTK2 is used:

https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire sun.misc.GThreadHelper

The FX GTK port still uses that class, so the class needs to be left in until after the FX support for GTK 3 has been backported.

-- Kevin



On 9/5/2018 12:56 AM, Pankaj Bansal wrote:

Hi All,

 

Please review the patch for 8u-dev backport for JDK-8145547. It adds conditional support for gtk3.

The original fix does not apply cleanly as few changes were done  in jdk9 before the gtk3 support was added, major once being JDK-8025815, JDK-8014212 and JDK-8137571

 

Along with the enhancement, following bug fixes have also been included in the backport webrev

 

1.      https://bugs.openjdk.java.net/browse/JDK-8155772: gtk3_interface.c compilation error on Ubuntu 12.10

2.      https://bugs.openjdk.java.net/browse/JDK-8156020: 8145547 breaks AIX and and uses RTLD_NOLOAD incorrectly

3.      https://bugs.openjdk.java.net/browse/JDK-8156121: Fail forward" fails for GTK3 if no GTK2 available

4.      https://bugs.openjdk.java.net/browse/JDK-8156128: Tests for [AWT/Swing] Conditional support for GTK 3 on Linux

5.      https://bugs.openjdk.java.net/browse/JDK-8157827: AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect GTK version when jdk.gtk.version=3

6.      https://bugs.openjdk.java.net/browse/JDK-8160160: The menu displayed nothing with the option"-server -d64 -Xmixed -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".

7.      https://bugs.openjdk.java.net/browse/JDK-8191041: Questionable Rendering of Disabled Text in Swing GTK L&F

8.      https://bugs.openjdk.java.net/browse/JDK-8203003: Several FileDialog Modality Tests fail on Linux due to X errors

9.      https://bugs.openjdk.java.net/browse/JDK-8155784: Build failure on Linux arm64

10.   https://bugs.openjdk.java.net/browse/JDK-8154546: Retire sun.misc.GThreadHelper

11.   https://bugs.openjdk.java.net/browse/JDK-8152968: JTree Collapse Buttons Clipped Off Under GTK

12.   https://bugs.openjdk.java.net/browse/JDK-8160448: Make GTK3 menus appearence similar to native.

13.   https://bugs.openjdk.java.net/browse/JDK-8155613: [PIT] crash in AWT_Desktop/Automated/Exceptions/BasicTest

14.   https://bugs.openjdk.java.net/browse/JDK-8160054: The FileChooser didn't displayed large font with GTK LAF option.

15.   https://bugs.openjdk.java.net/browse/JDK-8164321: Crash of SwingNode with GTK LaF

16.   https://bugs.openjdk.java.net/browse/JDK-8161740: [parfait] Memory leak in Java_sun_awt_UNIXToolkit_load_1gtk_1icon of awt_UNIXToolkit.c:132

17.   https://bugs.openjdk.java.net/browse/JDK-8168077: Solaris build failed: gtk2_interface.h typedef redeclared: GThreadFunctions

 

 

webrev: http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.00/

JBS: https://bugs.openjdk.java.net/browse/JDK-8145547

JDK 9 Changeset: http://hg.openjdk.java.net/jdk9/client/jdk/rev/6d60dfa5e3f8

I have run the related jtreg and jck tests and results are fine.

 

Regards,

Pankaj

 


Reply | Threaded
Open this post in threaded view
|

Re: <AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

Pankaj Bansal

Hello Kevin,

 

Thanks for pointing it out. I will remove this fix for now. I hope its ok, if I create new webrev when I get some more comments here.

 

Regards,

Pankaj Bansal

 

From: Kevin Rushforth
Sent: Wednesday, September 5, 2018 10:29 PM
To: Pankaj Bansal; [hidden email]; [hidden email]
Subject: Re: <AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

 

The backport of the following fix, which removes sun.misc.GThreadHelper, will break all FX interop applications, even if GTK2 is used:

https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire sun.misc.GThreadHelper

The FX GTK port still uses that class, so the class needs to be left in until after the FX support for GTK 3 has been backported.

-- Kevin


On 9/5/2018 12:56 AM, Pankaj Bansal wrote:

Hi All,

 

Please review the patch for 8u-dev backport for JDK-8145547. It adds conditional support for gtk3.

The original fix does not apply cleanly as few changes were done  in jdk9 before the gtk3 support was added, major once being JDK-8025815, JDK-8014212 and JDK-8137571

 

Along with the enhancement, following bug fixes have also been included in the backport webrev

 

1.      https://bugs.openjdk.java.net/browse/JDK-8155772: gtk3_interface.c compilation error on Ubuntu 12.10

2.      https://bugs.openjdk.java.net/browse/JDK-8156020: 8145547 breaks AIX and and uses RTLD_NOLOAD incorrectly

3.      https://bugs.openjdk.java.net/browse/JDK-8156121: Fail forward" fails for GTK3 if no GTK2 available

4.      https://bugs.openjdk.java.net/browse/JDK-8156128: Tests for [AWT/Swing] Conditional support for GTK 3 on Linux

5.      https://bugs.openjdk.java.net/browse/JDK-8157827: AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect GTK version when jdk.gtk.version=3

6.      https://bugs.openjdk.java.net/browse/JDK-8160160: The menu displayed nothing with the option"-server -d64 -Xmixed -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".

7.      https://bugs.openjdk.java.net/browse/JDK-8191041: Questionable Rendering of Disabled Text in Swing GTK L&F

8.      https://bugs.openjdk.java.net/browse/JDK-8203003: Several FileDialog Modality Tests fail on Linux due to X errors

9.      https://bugs.openjdk.java.net/browse/JDK-8155784: Build failure on Linux arm64

10.   https://bugs.openjdk.java.net/browse/JDK-8154546: Retire sun.misc.GThreadHelper

11.   https://bugs.openjdk.java.net/browse/JDK-8152968: JTree Collapse Buttons Clipped Off Under GTK

12.   https://bugs.openjdk.java.net/browse/JDK-8160448: Make GTK3 menus appearence similar to native.

13.   https://bugs.openjdk.java.net/browse/JDK-8155613: [PIT] crash in AWT_Desktop/Automated/Exceptions/BasicTest

14.   https://bugs.openjdk.java.net/browse/JDK-8160054: The FileChooser didn't displayed large font with GTK LAF option.

15.   https://bugs.openjdk.java.net/browse/JDK-8164321: Crash of SwingNode with GTK LaF

16.   https://bugs.openjdk.java.net/browse/JDK-8161740: [parfait] Memory leak in Java_sun_awt_UNIXToolkit_load_1gtk_1icon of awt_UNIXToolkit.c:132

17.   https://bugs.openjdk.java.net/browse/JDK-8168077: Solaris build failed: gtk2_interface.h typedef redeclared: GThreadFunctions

 

 

webrev: http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.00/

JBS: https://bugs.openjdk.java.net/browse/JDK-8145547

JDK 9 Changeset: http://hg.openjdk.java.net/jdk9/client/jdk/rev/6d60dfa5e3f8

I have run the related jtreg and jck tests and results are fine.

 

Regards,

Pankaj

 

 

Reply | Threaded
Open this post in threaded view
|

Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

Sergey Bylokhov
HI, Pankaj.
Can you please recheck that FX<-->Swing interop still works? Probably
there are some other than GThreadHelper issues

On 05/09/2018 11:44, Pankaj Bansal wrote:

> Hello Kevin,
>
> Thanks for pointing it out. I will remove this fix for now. I hope its
> ok, if I create new webrev when I get some more comments here.
>
> Regards,
>
> Pankaj Bansal
>
> *From:*Kevin Rushforth
> *Sent:* Wednesday, September 5, 2018 10:29 PM
> *To:* Pankaj Bansal; [hidden email]; [hidden email]
> *Subject:* Re: <AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing]
> Conditional support for GTK 3 on Linux
>
> The backport of the following fix, which removes sun.misc.GThreadHelper,
> will break all FX interop applications, even if GTK2 is used:
>
> https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire
> sun.misc.GThreadHelper
>
> The FX GTK port still uses that class, so the class needs to be left in
> until after the FX support for GTK 3 has been backported.
>
> -- Kevin
>
>
> On 9/5/2018 12:56 AM, Pankaj Bansal wrote:
>
>     Hi All,
>
>     Please review the patch for 8u-dev backport for JDK-8145547. It adds
>     conditional support for gtk3.
>
>     The original fix does not apply cleanly as few changes were done  in
>     jdk9 before the gtk3 support was added, major once being JDK-8025815
>     <https://bugs.openjdk.java.net/browse/JDK-8025815>, JDK-8014212
>     <https://bugs.openjdk.java.net/browse/JDK-8014212> and JDK-8137571
>     <https://bugs.openjdk.java.net/browse/JDK-8137571>
>
>     Along with the enhancement, following bug fixes have also been
>     included in the backport webrev
>
>     1.https://bugs.openjdk.java.net/browse/JDK-8155772: gtk3_interface.c
>     compilation error on Ubuntu 12.10
>
>     2.https://bugs.openjdk.java.net/browse/JDK-8156020: 8145547 breaks
>     AIX and and uses RTLD_NOLOAD incorrectly
>
>     3.https://bugs.openjdk.java.net/browse/JDK-8156121: Fail forward"
>     fails for GTK3 if no GTK2 available
>
>     4.https://bugs.openjdk.java.net/browse/JDK-8156128: Tests for
>     [AWT/Swing] Conditional support for GTK 3 on Linux
>
>     5.https://bugs.openjdk.java.net/browse/JDK-8157827:
>     AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect GTK
>     version when jdk.gtk.version=3
>
>     6.https://bugs.openjdk.java.net/browse/JDK-8160160: The menu
>     displayed nothing with the option"-server -d64 -Xmixed
>     -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".
>
>     7.https://bugs.openjdk.java.net/browse/JDK-8191041: Questionable
>     Rendering of Disabled Text in Swing GTK L&F
>
>     8.https://bugs.openjdk.java.net/browse/JDK-8203003: Several
>     FileDialog Modality Tests fail on Linux due to X errors
>
>     9.https://bugs.openjdk.java.net/browse/JDK-8155784: Build failure on
>     Linux arm64
>
>     10.https://bugs.openjdk.java.net/browse/JDK-8154546: Retire
>     sun.misc.GThreadHelper
>
>     11.https://bugs.openjdk.java.net/browse/JDK-8152968: JTree Collapse
>     Buttons Clipped Off Under GTK
>
>     12.https://bugs.openjdk.java.net/browse/JDK-8160448: Make GTK3 menus
>     appearence similar to native.
>
>     13.https://bugs.openjdk.java.net/browse/JDK-8155613: [PIT] crash in
>     AWT_Desktop/Automated/Exceptions/BasicTest
>
>     14.https://bugs.openjdk.java.net/browse/JDK-8160054: The FileChooser
>     didn't displayed large font with GTK LAF option.
>
>     15.https://bugs.openjdk.java.net/browse/JDK-8164321: Crash of
>     SwingNode with GTK LaF
>
>     16.https://bugs.openjdk.java.net/browse/JDK-8161740: [parfait]
>     Memory leak in Java_sun_awt_UNIXToolkit_load_1gtk_1icon of
>     awt_UNIXToolkit.c:132
>
>     17.https://bugs.openjdk.java.net/browse/JDK-8168077: Solaris build
>     failed: gtk2_interface.h typedef redeclared: GThreadFunctions
>
>     webrev: http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.00/
>     <http://cr.openjdk.java.net/%7Epbansal/gtk3_backport/webrev.00/>
>
>     JBS: https://bugs.openjdk.java.net/browse/JDK-8145547
>
>     JDK 9 Changeset:
>     http://hg.openjdk.java.net/jdk9/client/jdk/rev/6d60dfa5e3f8
>
>     I have run the related jtreg and jck tests and results are fine.
>
>     Regards,
>
>     Pankaj
>


--
Best regards, Sergey.
Reply | Threaded
Open this post in threaded view
|

Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

Kevin Rushforth
The simple testing that I did -- one each of a Swing app + JFXPanel and
a JavaFX app + SwingNode -- worked for me on my local build after
restoring that file. Some additional testing (necessarily limited to GTK
2 until the FX backport for GTK 3 is done) might be needed.

-- Kevin


On 9/5/2018 2:35 PM, Sergey Bylokhov wrote:

> HI, Pankaj.
> Can you please recheck that FX<-->Swing interop still works? Probably
> there are some other than GThreadHelper issues
>
> On 05/09/2018 11:44, Pankaj Bansal wrote:
>> Hello Kevin,
>>
>> Thanks for pointing it out. I will remove this fix for now. I hope
>> its ok, if I create new webrev when I get some more comments here.
>>
>> Regards,
>>
>> Pankaj Bansal
>>
>> *From:*Kevin Rushforth
>> *Sent:* Wednesday, September 5, 2018 10:29 PM
>> *To:* Pankaj Bansal; [hidden email];
>> [hidden email]
>> *Subject:* Re: <AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing]
>> Conditional support for GTK 3 on Linux
>>
>> The backport of the following fix, which removes
>> sun.misc.GThreadHelper, will break all FX interop applications, even
>> if GTK2 is used:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire
>> sun.misc.GThreadHelper
>>
>> The FX GTK port still uses that class, so the class needs to be left
>> in until after the FX support for GTK 3 has been backported.
>>
>> -- Kevin
>>
>>
>> On 9/5/2018 12:56 AM, Pankaj Bansal wrote:
>>
>>     Hi All,
>>
>>     Please review the patch for 8u-dev backport for JDK-8145547. It adds
>>     conditional support for gtk3.
>>
>>     The original fix does not apply cleanly as few changes were done  in
>>     jdk9 before the gtk3 support was added, major once being JDK-8025815
>>     <https://bugs.openjdk.java.net/browse/JDK-8025815>, JDK-8014212
>>     <https://bugs.openjdk.java.net/browse/JDK-8014212> and JDK-8137571
>>     <https://bugs.openjdk.java.net/browse/JDK-8137571>
>>
>>     Along with the enhancement, following bug fixes have also been
>>     included in the backport webrev
>>
>>     1.https://bugs.openjdk.java.net/browse/JDK-8155772: gtk3_interface.c
>>     compilation error on Ubuntu 12.10
>>
>>     2.https://bugs.openjdk.java.net/browse/JDK-8156020: 8145547 breaks
>>     AIX and and uses RTLD_NOLOAD incorrectly
>>
>>     3.https://bugs.openjdk.java.net/browse/JDK-8156121: Fail forward"
>>     fails for GTK3 if no GTK2 available
>>
>>     4.https://bugs.openjdk.java.net/browse/JDK-8156128: Tests for
>>     [AWT/Swing] Conditional support for GTK 3 on Linux
>>
>>     5.https://bugs.openjdk.java.net/browse/JDK-8157827:
>>     AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect GTK
>>     version when jdk.gtk.version=3
>>
>>     6.https://bugs.openjdk.java.net/browse/JDK-8160160: The menu
>>     displayed nothing with the option"-server -d64 -Xmixed
>> -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".
>>
>>     7.https://bugs.openjdk.java.net/browse/JDK-8191041: Questionable
>>     Rendering of Disabled Text in Swing GTK L&F
>>
>>     8.https://bugs.openjdk.java.net/browse/JDK-8203003: Several
>>     FileDialog Modality Tests fail on Linux due to X errors
>>
>>     9.https://bugs.openjdk.java.net/browse/JDK-8155784: Build failure on
>>     Linux arm64
>>
>>     10.https://bugs.openjdk.java.net/browse/JDK-8154546: Retire
>>     sun.misc.GThreadHelper
>>
>>     11.https://bugs.openjdk.java.net/browse/JDK-8152968: JTree Collapse
>>     Buttons Clipped Off Under GTK
>>
>>     12.https://bugs.openjdk.java.net/browse/JDK-8160448: Make GTK3 menus
>>     appearence similar to native.
>>
>>     13.https://bugs.openjdk.java.net/browse/JDK-8155613: [PIT] crash in
>>     AWT_Desktop/Automated/Exceptions/BasicTest
>>
>>     14.https://bugs.openjdk.java.net/browse/JDK-8160054: The FileChooser
>>     didn't displayed large font with GTK LAF option.
>>
>>     15.https://bugs.openjdk.java.net/browse/JDK-8164321: Crash of
>>     SwingNode with GTK LaF
>>
>>     16.https://bugs.openjdk.java.net/browse/JDK-8161740: [parfait]
>>     Memory leak in Java_sun_awt_UNIXToolkit_load_1gtk_1icon of
>>     awt_UNIXToolkit.c:132
>>
>>     17.https://bugs.openjdk.java.net/browse/JDK-8168077: Solaris build
>>     failed: gtk2_interface.h typedef redeclared: GThreadFunctions
>>
>>     webrev: http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.00/
>> <http://cr.openjdk.java.net/%7Epbansal/gtk3_backport/webrev.00/>
>>
>>     JBS: https://bugs.openjdk.java.net/browse/JDK-8145547
>>
>>     JDK 9 Changeset:
>>     http://hg.openjdk.java.net/jdk9/client/jdk/rev/6d60dfa5e3f8
>>
>>     I have run the related jtreg and jck tests and results are fine.
>>
>>     Regards,
>>
>>     Pankaj
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

Pankaj Bansal
Hello Sergey/Kevin,

I have removed the backport for https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire sun.misc.GThreadHelper. I did a clean build and tried few tests for Swing-FX interop. They all run fine. I have attached the link to tests if you would like to have a look. I did run the awt and swing jtreg tests also.

Webrev: http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.01/
SwingFXInteropTests:  http://cr.openjdk.java.net/~pbansal/gtk3_backport/SwingFXInteropTests/

Please let me know if you would like me to do some further testing for Swing-FX interop.

Regards,
Pankaj Bansal

-----Original Message-----
From: Kevin Rushforth
Sent: Thursday, September 6, 2018 3:29 AM
To: Sergey Bylokhov; Pankaj Bansal; [hidden email]; [hidden email]
Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

The simple testing that I did -- one each of a Swing app + JFXPanel and a JavaFX app + SwingNode -- worked for me on my local build after restoring that file. Some additional testing (necessarily limited to GTK
2 until the FX backport for GTK 3 is done) might be needed.

-- Kevin


On 9/5/2018 2:35 PM, Sergey Bylokhov wrote:

> HI, Pankaj.
> Can you please recheck that FX<-->Swing interop still works? Probably
> there are some other than GThreadHelper issues
>
> On 05/09/2018 11:44, Pankaj Bansal wrote:
>> Hello Kevin,
>>
>> Thanks for pointing it out. I will remove this fix for now. I hope
>> its ok, if I create new webrev when I get some more comments here.
>>
>> Regards,
>>
>> Pankaj Bansal
>>
>> *From:*Kevin Rushforth
>> *Sent:* Wednesday, September 5, 2018 10:29 PM
>> *To:* Pankaj Bansal; [hidden email];
>> [hidden email]
>> *Subject:* Re: <AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing]
>> Conditional support for GTK 3 on Linux
>>
>> The backport of the following fix, which removes
>> sun.misc.GThreadHelper, will break all FX interop applications, even
>> if GTK2 is used:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire
>> sun.misc.GThreadHelper
>>
>> The FX GTK port still uses that class, so the class needs to be left
>> in until after the FX support for GTK 3 has been backported.
>>
>> -- Kevin
>>
>>
>> On 9/5/2018 12:56 AM, Pankaj Bansal wrote:
>>
>>     Hi All,
>>
>>     Please review the patch for 8u-dev backport for JDK-8145547. It
>> adds
>>     conditional support for gtk3.
>>
>>     The original fix does not apply cleanly as few changes were done 
>> in
>>     jdk9 before the gtk3 support was added, major once being
>> JDK-8025815
>>     <https://bugs.openjdk.java.net/browse/JDK-8025815>, JDK-8014212
>>     <https://bugs.openjdk.java.net/browse/JDK-8014212> and
>> JDK-8137571
>>     <https://bugs.openjdk.java.net/browse/JDK-8137571>
>>
>>     Along with the enhancement, following bug fixes have also been
>>     included in the backport webrev
>>
>>     1.https://bugs.openjdk.java.net/browse/JDK-8155772: 
>> gtk3_interface.c
>>     compilation error on Ubuntu 12.10
>>
>>     2.https://bugs.openjdk.java.net/browse/JDK-8156020: 8145547
>> breaks
>>     AIX and and uses RTLD_NOLOAD incorrectly
>>
>>     3.https://bugs.openjdk.java.net/browse/JDK-8156121: Fail forward"
>>     fails for GTK3 if no GTK2 available
>>
>>     4.https://bugs.openjdk.java.net/browse/JDK-8156128: Tests for
>>     [AWT/Swing] Conditional support for GTK 3 on Linux
>>
>>     5.https://bugs.openjdk.java.net/browse/JDK-8157827:
>>     AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect GTK
>>     version when jdk.gtk.version=3
>>
>>     6.https://bugs.openjdk.java.net/browse/JDK-8160160: The menu
>>     displayed nothing with the option"-server -d64 -Xmixed
>> -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".
>>
>>     7.https://bugs.openjdk.java.net/browse/JDK-8191041: Questionable
>>     Rendering of Disabled Text in Swing GTK L&F
>>
>>     8.https://bugs.openjdk.java.net/browse/JDK-8203003: Several
>>     FileDialog Modality Tests fail on Linux due to X errors
>>
>>     9.https://bugs.openjdk.java.net/browse/JDK-8155784: Build failure
>> on
>>     Linux arm64
>>
>>     10.https://bugs.openjdk.java.net/browse/JDK-8154546: Retire
>>     sun.misc.GThreadHelper
>>
>>     11.https://bugs.openjdk.java.net/browse/JDK-8152968: JTree
>> Collapse
>>     Buttons Clipped Off Under GTK
>>
>>     12.https://bugs.openjdk.java.net/browse/JDK-8160448: Make GTK3
>> menus
>>     appearence similar to native.
>>
>>     13.https://bugs.openjdk.java.net/browse/JDK-8155613: [PIT] crash
>> in
>>     AWT_Desktop/Automated/Exceptions/BasicTest
>>
>>     14.https://bugs.openjdk.java.net/browse/JDK-8160054: The
>> FileChooser
>>     didn't displayed large font with GTK LAF option.
>>
>>     15.https://bugs.openjdk.java.net/browse/JDK-8164321: Crash of
>>     SwingNode with GTK LaF
>>
>>     16.https://bugs.openjdk.java.net/browse/JDK-8161740: [parfait]
>>     Memory leak in Java_sun_awt_UNIXToolkit_load_1gtk_1icon of
>>     awt_UNIXToolkit.c:132
>>
>>     17.https://bugs.openjdk.java.net/browse/JDK-8168077: Solaris
>> build
>>     failed: gtk2_interface.h typedef redeclared: GThreadFunctions
>>
>>     webrev:
>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.00/
>> <http://cr.openjdk.java.net/%7Epbansal/gtk3_backport/webrev.00/>
>>
>>     JBS: https://bugs.openjdk.java.net/browse/JDK-8145547
>>
>>     JDK 9 Changeset:
>>     http://hg.openjdk.java.net/jdk9/client/jdk/rev/6d60dfa5e3f8
>>
>>     I have run the related jtreg and jck tests and results are fine.
>>
>>     Regards,
>>
>>     Pankaj
>>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

Kevin Rushforth
I tested various combinations of Swing / FX interop and it all looks
fine to me. I only glanced through the AWT code changes, though, but I
didn't spot anything amiss.

-- Kevin


On 9/6/2018 4:35 AM, Pankaj Bansal wrote:

> Hello Sergey/Kevin,
>
> I have removed the backport for https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire sun.misc.GThreadHelper. I did a clean build and tried few tests for Swing-FX interop. They all run fine. I have attached the link to tests if you would like to have a look. I did run the awt and swing jtreg tests also.
>
> Webrev: http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.01/
> SwingFXInteropTests:  http://cr.openjdk.java.net/~pbansal/gtk3_backport/SwingFXInteropTests/
>
> Please let me know if you would like me to do some further testing for Swing-FX interop.
>
> Regards,
> Pankaj Bansal
>
> -----Original Message-----
> From: Kevin Rushforth
> Sent: Thursday, September 6, 2018 3:29 AM
> To: Sergey Bylokhov; Pankaj Bansal; [hidden email]; [hidden email]
> Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux
>
> The simple testing that I did -- one each of a Swing app + JFXPanel and a JavaFX app + SwingNode -- worked for me on my local build after restoring that file. Some additional testing (necessarily limited to GTK
> 2 until the FX backport for GTK 3 is done) might be needed.
>
> -- Kevin
>
>
> On 9/5/2018 2:35 PM, Sergey Bylokhov wrote:
>> HI, Pankaj.
>> Can you please recheck that FX<-->Swing interop still works? Probably
>> there are some other than GThreadHelper issues
>>
>> On 05/09/2018 11:44, Pankaj Bansal wrote:
>>> Hello Kevin,
>>>
>>> Thanks for pointing it out. I will remove this fix for now. I hope
>>> its ok, if I create new webrev when I get some more comments here.
>>>
>>> Regards,
>>>
>>> Pankaj Bansal
>>>
>>> *From:*Kevin Rushforth
>>> *Sent:* Wednesday, September 5, 2018 10:29 PM
>>> *To:* Pankaj Bansal; [hidden email];
>>> [hidden email]
>>> *Subject:* Re: <AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing]
>>> Conditional support for GTK 3 on Linux
>>>
>>> The backport of the following fix, which removes
>>> sun.misc.GThreadHelper, will break all FX interop applications, even
>>> if GTK2 is used:
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire
>>> sun.misc.GThreadHelper
>>>
>>> The FX GTK port still uses that class, so the class needs to be left
>>> in until after the FX support for GTK 3 has been backported.
>>>
>>> -- Kevin
>>>
>>>
>>> On 9/5/2018 12:56 AM, Pankaj Bansal wrote:
>>>
>>>      Hi All,
>>>
>>>      Please review the patch for 8u-dev backport for JDK-8145547. It
>>> adds
>>>      conditional support for gtk3.
>>>
>>>      The original fix does not apply cleanly as few changes were done
>>> in
>>>      jdk9 before the gtk3 support was added, major once being
>>> JDK-8025815
>>>      <https://bugs.openjdk.java.net/browse/JDK-8025815>, JDK-8014212
>>>      <https://bugs.openjdk.java.net/browse/JDK-8014212> and
>>> JDK-8137571
>>>      <https://bugs.openjdk.java.net/browse/JDK-8137571>
>>>
>>>      Along with the enhancement, following bug fixes have also been
>>>      included in the backport webrev
>>>
>>>      1.https://bugs.openjdk.java.net/browse/JDK-8155772:
>>> gtk3_interface.c
>>>      compilation error on Ubuntu 12.10
>>>
>>>      2.https://bugs.openjdk.java.net/browse/JDK-8156020: 8145547
>>> breaks
>>>      AIX and and uses RTLD_NOLOAD incorrectly
>>>
>>>      3.https://bugs.openjdk.java.net/browse/JDK-8156121: Fail forward"
>>>      fails for GTK3 if no GTK2 available
>>>
>>>      4.https://bugs.openjdk.java.net/browse/JDK-8156128: Tests for
>>>      [AWT/Swing] Conditional support for GTK 3 on Linux
>>>
>>>      5.https://bugs.openjdk.java.net/browse/JDK-8157827:
>>>      AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect GTK
>>>      version when jdk.gtk.version=3
>>>
>>>      6.https://bugs.openjdk.java.net/browse/JDK-8160160: The menu
>>>      displayed nothing with the option"-server -d64 -Xmixed
>>> -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".
>>>
>>>      7.https://bugs.openjdk.java.net/browse/JDK-8191041: Questionable
>>>      Rendering of Disabled Text in Swing GTK L&F
>>>
>>>      8.https://bugs.openjdk.java.net/browse/JDK-8203003: Several
>>>      FileDialog Modality Tests fail on Linux due to X errors
>>>
>>>      9.https://bugs.openjdk.java.net/browse/JDK-8155784: Build failure
>>> on
>>>      Linux arm64
>>>
>>>      10.https://bugs.openjdk.java.net/browse/JDK-8154546: Retire
>>>      sun.misc.GThreadHelper
>>>
>>>      11.https://bugs.openjdk.java.net/browse/JDK-8152968: JTree
>>> Collapse
>>>      Buttons Clipped Off Under GTK
>>>
>>>      12.https://bugs.openjdk.java.net/browse/JDK-8160448: Make GTK3
>>> menus
>>>      appearence similar to native.
>>>
>>>      13.https://bugs.openjdk.java.net/browse/JDK-8155613: [PIT] crash
>>> in
>>>      AWT_Desktop/Automated/Exceptions/BasicTest
>>>
>>>      14.https://bugs.openjdk.java.net/browse/JDK-8160054: The
>>> FileChooser
>>>      didn't displayed large font with GTK LAF option.
>>>
>>>      15.https://bugs.openjdk.java.net/browse/JDK-8164321: Crash of
>>>      SwingNode with GTK LaF
>>>
>>>      16.https://bugs.openjdk.java.net/browse/JDK-8161740: [parfait]
>>>      Memory leak in Java_sun_awt_UNIXToolkit_load_1gtk_1icon of
>>>      awt_UNIXToolkit.c:132
>>>
>>>      17.https://bugs.openjdk.java.net/browse/JDK-8168077: Solaris
>>> build
>>>      failed: gtk2_interface.h typedef redeclared: GThreadFunctions
>>>
>>>      webrev:
>>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.00/
>>> <http://cr.openjdk.java.net/%7Epbansal/gtk3_backport/webrev.00/>
>>>
>>>      JBS: https://bugs.openjdk.java.net/browse/JDK-8145547
>>>
>>>      JDK 9 Changeset:
>>>      http://hg.openjdk.java.net/jdk9/client/jdk/rev/6d60dfa5e3f8
>>>
>>>      I have run the related jtreg and jck tests and results are fine.
>>>
>>>      Regards,
>>>
>>>      Pankaj
>>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

Pankaj Bansal
Hi,

I have found a small mistake in gtk_interface.c. I had used wrong name of gtk3 lib at line 56. I have correct the same in webrev.02.
It is just a typo and should not have any effect on functionality. All should work the same as 01 version.

Webrev:
http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.02/

Regards,
Pankaj


-----Original Message-----
From: Kevin Rushforth
Sent: Saturday, September 8, 2018 1:53 AM
To: Pankaj Bansal; Sergey Bylokhov; [hidden email]; [hidden email]
Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

I tested various combinations of Swing / FX interop and it all looks fine to me. I only glanced through the AWT code changes, though, but I didn't spot anything amiss.

-- Kevin


On 9/6/2018 4:35 AM, Pankaj Bansal wrote:

> Hello Sergey/Kevin,
>
> I have removed the backport for https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire sun.misc.GThreadHelper. I did a clean build and tried few tests for Swing-FX interop. They all run fine. I have attached the link to tests if you would like to have a look. I did run the awt and swing jtreg tests also.
>
> Webrev: http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.01/
> SwingFXInteropTests:  
> http://cr.openjdk.java.net/~pbansal/gtk3_backport/SwingFXInteropTests/
>
> Please let me know if you would like me to do some further testing for Swing-FX interop.
>
> Regards,
> Pankaj Bansal
>
> -----Original Message-----
> From: Kevin Rushforth
> Sent: Thursday, September 6, 2018 3:29 AM
> To: Sergey Bylokhov; Pankaj Bansal; [hidden email];
> [hidden email]
> Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547:
> [AWT/Swing] Conditional support for GTK 3 on Linux
>
> The simple testing that I did -- one each of a Swing app + JFXPanel
> and a JavaFX app + SwingNode -- worked for me on my local build after
> restoring that file. Some additional testing (necessarily limited to
> GTK
> 2 until the FX backport for GTK 3 is done) might be needed.
>
> -- Kevin
>
>
> On 9/5/2018 2:35 PM, Sergey Bylokhov wrote:
>> HI, Pankaj.
>> Can you please recheck that FX<-->Swing interop still works? Probably
>> there are some other than GThreadHelper issues
>>
>> On 05/09/2018 11:44, Pankaj Bansal wrote:
>>> Hello Kevin,
>>>
>>> Thanks for pointing it out. I will remove this fix for now. I hope
>>> its ok, if I create new webrev when I get some more comments here.
>>>
>>> Regards,
>>>
>>> Pankaj Bansal
>>>
>>> *From:*Kevin Rushforth
>>> *Sent:* Wednesday, September 5, 2018 10:29 PM
>>> *To:* Pankaj Bansal; [hidden email];
>>> [hidden email]
>>> *Subject:* Re: <AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing]
>>> Conditional support for GTK 3 on Linux
>>>
>>> The backport of the following fix, which removes
>>> sun.misc.GThreadHelper, will break all FX interop applications, even
>>> if GTK2 is used:
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire
>>> sun.misc.GThreadHelper
>>>
>>> The FX GTK port still uses that class, so the class needs to be left
>>> in until after the FX support for GTK 3 has been backported.
>>>
>>> -- Kevin
>>>
>>>
>>> On 9/5/2018 12:56 AM, Pankaj Bansal wrote:
>>>
>>>      Hi All,
>>>
>>>      Please review the patch for 8u-dev backport for JDK-8145547. It
>>> adds
>>>      conditional support for gtk3.
>>>
>>>      The original fix does not apply cleanly as few changes were
>>> done in
>>>      jdk9 before the gtk3 support was added, major once being
>>> JDK-8025815
>>>      <https://bugs.openjdk.java.net/browse/JDK-8025815>, JDK-8014212
>>>      <https://bugs.openjdk.java.net/browse/JDK-8014212> and
>>> JDK-8137571
>>>      <https://bugs.openjdk.java.net/browse/JDK-8137571>
>>>
>>>      Along with the enhancement, following bug fixes have also been
>>>      included in the backport webrev
>>>
>>>      1.https://bugs.openjdk.java.net/browse/JDK-8155772:
>>> gtk3_interface.c
>>>      compilation error on Ubuntu 12.10
>>>
>>>      2.https://bugs.openjdk.java.net/browse/JDK-8156020: 8145547
>>> breaks
>>>      AIX and and uses RTLD_NOLOAD incorrectly
>>>
>>>      3.https://bugs.openjdk.java.net/browse/JDK-8156121: Fail forward"
>>>      fails for GTK3 if no GTK2 available
>>>
>>>      4.https://bugs.openjdk.java.net/browse/JDK-8156128: Tests for
>>>      [AWT/Swing] Conditional support for GTK 3 on Linux
>>>
>>>      5.https://bugs.openjdk.java.net/browse/JDK-8157827:
>>>      AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect GTK
>>>      version when jdk.gtk.version=3
>>>
>>>      6.https://bugs.openjdk.java.net/browse/JDK-8160160: The menu
>>>      displayed nothing with the option"-server -d64 -Xmixed
>>> -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".
>>>
>>>      7.https://bugs.openjdk.java.net/browse/JDK-8191041: 
>>> Questionable
>>>      Rendering of Disabled Text in Swing GTK L&F
>>>
>>>      8.https://bugs.openjdk.java.net/browse/JDK-8203003: Several
>>>      FileDialog Modality Tests fail on Linux due to X errors
>>>
>>>      9.https://bugs.openjdk.java.net/browse/JDK-8155784: Build
>>> failure on
>>>      Linux arm64
>>>
>>>      10.https://bugs.openjdk.java.net/browse/JDK-8154546: Retire
>>>      sun.misc.GThreadHelper
>>>
>>>      11.https://bugs.openjdk.java.net/browse/JDK-8152968: JTree
>>> Collapse
>>>      Buttons Clipped Off Under GTK
>>>
>>>      12.https://bugs.openjdk.java.net/browse/JDK-8160448: Make GTK3
>>> menus
>>>      appearence similar to native.
>>>
>>>      13.https://bugs.openjdk.java.net/browse/JDK-8155613: [PIT]
>>> crash in
>>>      AWT_Desktop/Automated/Exceptions/BasicTest
>>>
>>>      14.https://bugs.openjdk.java.net/browse/JDK-8160054: The
>>> FileChooser
>>>      didn't displayed large font with GTK LAF option.
>>>
>>>      15.https://bugs.openjdk.java.net/browse/JDK-8164321: Crash of
>>>      SwingNode with GTK LaF
>>>
>>>      16.https://bugs.openjdk.java.net/browse/JDK-8161740: [parfait]
>>>      Memory leak in Java_sun_awt_UNIXToolkit_load_1gtk_1icon of
>>>      awt_UNIXToolkit.c:132
>>>
>>>      17.https://bugs.openjdk.java.net/browse/JDK-8168077: Solaris
>>> build
>>>      failed: gtk2_interface.h typedef redeclared: GThreadFunctions
>>>
>>>      webrev:
>>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.00/
>>> <http://cr.openjdk.java.net/%7Epbansal/gtk3_backport/webrev.00/>
>>>
>>>      JBS: https://bugs.openjdk.java.net/browse/JDK-8145547
>>>
>>>      JDK 9 Changeset:
>>>      http://hg.openjdk.java.net/jdk9/client/jdk/rev/6d60dfa5e3f8
>>>
>>>      I have run the related jtreg and jck tests and results are fine.
>>>
>>>      Regards,
>>>
>>>      Pankaj
>>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

Kevin Rushforth
Looks fine. Btw, you have a trailing whitespace in gtk2_interface.c that
you need to fix before you push (jcheck will tell you about that).

-- Kevin


On 9/12/2018 5:29 AM, Pankaj Bansal wrote:

> Hi,
>
> I have found a small mistake in gtk_interface.c. I had used wrong name of gtk3 lib at line 56. I have correct the same in webrev.02.
> It is just a typo and should not have any effect on functionality. All should work the same as 01 version.
>
> Webrev:
> http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.02/
>
> Regards,
> Pankaj
>
>
> -----Original Message-----
> From: Kevin Rushforth
> Sent: Saturday, September 8, 2018 1:53 AM
> To: Pankaj Bansal; Sergey Bylokhov; [hidden email]; [hidden email]
> Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux
>
> I tested various combinations of Swing / FX interop and it all looks fine to me. I only glanced through the AWT code changes, though, but I didn't spot anything amiss.
>
> -- Kevin
>
>
> On 9/6/2018 4:35 AM, Pankaj Bansal wrote:
>> Hello Sergey/Kevin,
>>
>> I have removed the backport for https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire sun.misc.GThreadHelper. I did a clean build and tried few tests for Swing-FX interop. They all run fine. I have attached the link to tests if you would like to have a look. I did run the awt and swing jtreg tests also.
>>
>> Webrev: http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.01/
>> SwingFXInteropTests:
>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/SwingFXInteropTests/
>>
>> Please let me know if you would like me to do some further testing for Swing-FX interop.
>>
>> Regards,
>> Pankaj Bansal
>>
>> -----Original Message-----
>> From: Kevin Rushforth
>> Sent: Thursday, September 6, 2018 3:29 AM
>> To: Sergey Bylokhov; Pankaj Bansal; [hidden email];
>> [hidden email]
>> Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547:
>> [AWT/Swing] Conditional support for GTK 3 on Linux
>>
>> The simple testing that I did -- one each of a Swing app + JFXPanel
>> and a JavaFX app + SwingNode -- worked for me on my local build after
>> restoring that file. Some additional testing (necessarily limited to
>> GTK
>> 2 until the FX backport for GTK 3 is done) might be needed.
>>
>> -- Kevin
>>
>>
>> On 9/5/2018 2:35 PM, Sergey Bylokhov wrote:
>>> HI, Pankaj.
>>> Can you please recheck that FX<-->Swing interop still works? Probably
>>> there are some other than GThreadHelper issues
>>>
>>> On 05/09/2018 11:44, Pankaj Bansal wrote:
>>>> Hello Kevin,
>>>>
>>>> Thanks for pointing it out. I will remove this fix for now. I hope
>>>> its ok, if I create new webrev when I get some more comments here.
>>>>
>>>> Regards,
>>>>
>>>> Pankaj Bansal
>>>>
>>>> *From:*Kevin Rushforth
>>>> *Sent:* Wednesday, September 5, 2018 10:29 PM
>>>> *To:* Pankaj Bansal; [hidden email];
>>>> [hidden email]
>>>> *Subject:* Re: <AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing]
>>>> Conditional support for GTK 3 on Linux
>>>>
>>>> The backport of the following fix, which removes
>>>> sun.misc.GThreadHelper, will break all FX interop applications, even
>>>> if GTK2 is used:
>>>>
>>>> https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire
>>>> sun.misc.GThreadHelper
>>>>
>>>> The FX GTK port still uses that class, so the class needs to be left
>>>> in until after the FX support for GTK 3 has been backported.
>>>>
>>>> -- Kevin
>>>>
>>>>
>>>> On 9/5/2018 12:56 AM, Pankaj Bansal wrote:
>>>>
>>>>       Hi All,
>>>>
>>>>       Please review the patch for 8u-dev backport for JDK-8145547. It
>>>> adds
>>>>       conditional support for gtk3.
>>>>
>>>>       The original fix does not apply cleanly as few changes were
>>>> done in
>>>>       jdk9 before the gtk3 support was added, major once being
>>>> JDK-8025815
>>>>       <https://bugs.openjdk.java.net/browse/JDK-8025815>, JDK-8014212
>>>>       <https://bugs.openjdk.java.net/browse/JDK-8014212> and
>>>> JDK-8137571
>>>>       <https://bugs.openjdk.java.net/browse/JDK-8137571>
>>>>
>>>>       Along with the enhancement, following bug fixes have also been
>>>>       included in the backport webrev
>>>>
>>>>       1.https://bugs.openjdk.java.net/browse/JDK-8155772:
>>>> gtk3_interface.c
>>>>       compilation error on Ubuntu 12.10
>>>>
>>>>       2.https://bugs.openjdk.java.net/browse/JDK-8156020: 8145547
>>>> breaks
>>>>       AIX and and uses RTLD_NOLOAD incorrectly
>>>>
>>>>       3.https://bugs.openjdk.java.net/browse/JDK-8156121: Fail forward"
>>>>       fails for GTK3 if no GTK2 available
>>>>
>>>>       4.https://bugs.openjdk.java.net/browse/JDK-8156128: Tests for
>>>>       [AWT/Swing] Conditional support for GTK 3 on Linux
>>>>
>>>>       5.https://bugs.openjdk.java.net/browse/JDK-8157827:
>>>>       AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect GTK
>>>>       version when jdk.gtk.version=3
>>>>
>>>>       6.https://bugs.openjdk.java.net/browse/JDK-8160160: The menu
>>>>       displayed nothing with the option"-server -d64 -Xmixed
>>>> -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".
>>>>
>>>>       7.https://bugs.openjdk.java.net/browse/JDK-8191041:
>>>> Questionable
>>>>       Rendering of Disabled Text in Swing GTK L&F
>>>>
>>>>       8.https://bugs.openjdk.java.net/browse/JDK-8203003: Several
>>>>       FileDialog Modality Tests fail on Linux due to X errors
>>>>
>>>>       9.https://bugs.openjdk.java.net/browse/JDK-8155784: Build
>>>> failure on
>>>>       Linux arm64
>>>>
>>>>       10.https://bugs.openjdk.java.net/browse/JDK-8154546: Retire
>>>>       sun.misc.GThreadHelper
>>>>
>>>>       11.https://bugs.openjdk.java.net/browse/JDK-8152968: JTree
>>>> Collapse
>>>>       Buttons Clipped Off Under GTK
>>>>
>>>>       12.https://bugs.openjdk.java.net/browse/JDK-8160448: Make GTK3
>>>> menus
>>>>       appearence similar to native.
>>>>
>>>>       13.https://bugs.openjdk.java.net/browse/JDK-8155613: [PIT]
>>>> crash in
>>>>       AWT_Desktop/Automated/Exceptions/BasicTest
>>>>
>>>>       14.https://bugs.openjdk.java.net/browse/JDK-8160054: The
>>>> FileChooser
>>>>       didn't displayed large font with GTK LAF option.
>>>>
>>>>       15.https://bugs.openjdk.java.net/browse/JDK-8164321: Crash of
>>>>       SwingNode with GTK LaF
>>>>
>>>>       16.https://bugs.openjdk.java.net/browse/JDK-8161740: [parfait]
>>>>       Memory leak in Java_sun_awt_UNIXToolkit_load_1gtk_1icon of
>>>>       awt_UNIXToolkit.c:132
>>>>
>>>>       17.https://bugs.openjdk.java.net/browse/JDK-8168077: Solaris
>>>> build
>>>>       failed: gtk2_interface.h typedef redeclared: GThreadFunctions
>>>>
>>>>       webrev:
>>>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.00/
>>>> <http://cr.openjdk.java.net/%7Epbansal/gtk3_backport/webrev.00/>
>>>>
>>>>       JBS: https://bugs.openjdk.java.net/browse/JDK-8145547
>>>>
>>>>       JDK 9 Changeset:
>>>>       http://hg.openjdk.java.net/jdk9/client/jdk/rev/6d60dfa5e3f8
>>>>
>>>>       I have run the related jtreg and jck tests and results are fine.
>>>>
>>>>       Regards,
>>>>
>>>>       Pankaj
>>>>

Reply | Threaded
Open this post in threaded view
|

Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

Pankaj Bansal
Hi,

The patch in 02 version no longer applies cleanly as check-ins have been done since it was created. I have updated the webrev. Also fixed the whitespace in gtk2_interface.c

Webrev:
http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.03/

Regards,
Pankaj

-----Original Message-----
From: Kevin Rushforth
Sent: Wednesday, September 12, 2018 8:19 PM
To: Pankaj Bansal; [hidden email]; [hidden email]
Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

Looks fine. Btw, you have a trailing whitespace in gtk2_interface.c that you need to fix before you push (jcheck will tell you about that).

-- Kevin


On 9/12/2018 5:29 AM, Pankaj Bansal wrote:

> Hi,
>
> I have found a small mistake in gtk_interface.c. I had used wrong name of gtk3 lib at line 56. I have correct the same in webrev.02.
> It is just a typo and should not have any effect on functionality. All should work the same as 01 version.
>
> Webrev:
> http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.02/
>
> Regards,
> Pankaj
>
>
> -----Original Message-----
> From: Kevin Rushforth
> Sent: Saturday, September 8, 2018 1:53 AM
> To: Pankaj Bansal; Sergey Bylokhov; [hidden email];
> [hidden email]
> Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547:
> [AWT/Swing] Conditional support for GTK 3 on Linux
>
> I tested various combinations of Swing / FX interop and it all looks fine to me. I only glanced through the AWT code changes, though, but I didn't spot anything amiss.
>
> -- Kevin
>
>
> On 9/6/2018 4:35 AM, Pankaj Bansal wrote:
>> Hello Sergey/Kevin,
>>
>> I have removed the backport for https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire sun.misc.GThreadHelper. I did a clean build and tried few tests for Swing-FX interop. They all run fine. I have attached the link to tests if you would like to have a look. I did run the awt and swing jtreg tests also.
>>
>> Webrev: http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.01/
>> SwingFXInteropTests:
>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/SwingFXInteropTests
>> /
>>
>> Please let me know if you would like me to do some further testing for Swing-FX interop.
>>
>> Regards,
>> Pankaj Bansal
>>
>> -----Original Message-----
>> From: Kevin Rushforth
>> Sent: Thursday, September 6, 2018 3:29 AM
>> To: Sergey Bylokhov; Pankaj Bansal; [hidden email];
>> [hidden email]
>> Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547:
>> [AWT/Swing] Conditional support for GTK 3 on Linux
>>
>> The simple testing that I did -- one each of a Swing app + JFXPanel
>> and a JavaFX app + SwingNode -- worked for me on my local build after
>> restoring that file. Some additional testing (necessarily limited to
>> GTK
>> 2 until the FX backport for GTK 3 is done) might be needed.
>>
>> -- Kevin
>>
>>
>> On 9/5/2018 2:35 PM, Sergey Bylokhov wrote:
>>> HI, Pankaj.
>>> Can you please recheck that FX<-->Swing interop still works?
>>> Probably there are some other than GThreadHelper issues
>>>
>>> On 05/09/2018 11:44, Pankaj Bansal wrote:
>>>> Hello Kevin,
>>>>
>>>> Thanks for pointing it out. I will remove this fix for now. I hope
>>>> its ok, if I create new webrev when I get some more comments here.
>>>>
>>>> Regards,
>>>>
>>>> Pankaj Bansal
>>>>
>>>> *From:*Kevin Rushforth
>>>> *Sent:* Wednesday, September 5, 2018 10:29 PM
>>>> *To:* Pankaj Bansal; [hidden email];
>>>> [hidden email]
>>>> *Subject:* Re: <AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing]
>>>> Conditional support for GTK 3 on Linux
>>>>
>>>> The backport of the following fix, which removes
>>>> sun.misc.GThreadHelper, will break all FX interop applications,
>>>> even if GTK2 is used:
>>>>
>>>> https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire
>>>> sun.misc.GThreadHelper
>>>>
>>>> The FX GTK port still uses that class, so the class needs to be
>>>> left in until after the FX support for GTK 3 has been backported.
>>>>
>>>> -- Kevin
>>>>
>>>>
>>>> On 9/5/2018 12:56 AM, Pankaj Bansal wrote:
>>>>
>>>>       Hi All,
>>>>
>>>>       Please review the patch for 8u-dev backport for JDK-8145547.
>>>> It adds
>>>>       conditional support for gtk3.
>>>>
>>>>       The original fix does not apply cleanly as few changes were
>>>> done in
>>>>       jdk9 before the gtk3 support was added, major once being
>>>> JDK-8025815
>>>>       <https://bugs.openjdk.java.net/browse/JDK-8025815>, JDK-8014212
>>>>       <https://bugs.openjdk.java.net/browse/JDK-8014212> and
>>>> JDK-8137571
>>>>       <https://bugs.openjdk.java.net/browse/JDK-8137571>
>>>>
>>>>       Along with the enhancement, following bug fixes have also been
>>>>       included in the backport webrev
>>>>
>>>>       1.https://bugs.openjdk.java.net/browse/JDK-8155772:
>>>> gtk3_interface.c
>>>>       compilation error on Ubuntu 12.10
>>>>
>>>>       2.https://bugs.openjdk.java.net/browse/JDK-8156020: 8145547
>>>> breaks
>>>>       AIX and and uses RTLD_NOLOAD incorrectly
>>>>
>>>>       3.https://bugs.openjdk.java.net/browse/JDK-8156121: Fail forward"
>>>>       fails for GTK3 if no GTK2 available
>>>>
>>>>       4.https://bugs.openjdk.java.net/browse/JDK-8156128: Tests for
>>>>       [AWT/Swing] Conditional support for GTK 3 on Linux
>>>>
>>>>       5.https://bugs.openjdk.java.net/browse/JDK-8157827:
>>>>       AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect GTK
>>>>       version when jdk.gtk.version=3
>>>>
>>>>       6.https://bugs.openjdk.java.net/browse/JDK-8160160: The menu
>>>>       displayed nothing with the option"-server -d64 -Xmixed
>>>> -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".
>>>>
>>>>       7.https://bugs.openjdk.java.net/browse/JDK-8191041:
>>>> Questionable
>>>>       Rendering of Disabled Text in Swing GTK L&F
>>>>
>>>>       8.https://bugs.openjdk.java.net/browse/JDK-8203003: Several
>>>>       FileDialog Modality Tests fail on Linux due to X errors
>>>>
>>>>       9.https://bugs.openjdk.java.net/browse/JDK-8155784: Build
>>>> failure on
>>>>       Linux arm64
>>>>
>>>>       10.https://bugs.openjdk.java.net/browse/JDK-8154546: Retire
>>>>       sun.misc.GThreadHelper
>>>>
>>>>       11.https://bugs.openjdk.java.net/browse/JDK-8152968: JTree
>>>> Collapse
>>>>       Buttons Clipped Off Under GTK
>>>>
>>>>       12.https://bugs.openjdk.java.net/browse/JDK-8160448: Make
>>>> GTK3 menus
>>>>       appearence similar to native.
>>>>
>>>>       13.https://bugs.openjdk.java.net/browse/JDK-8155613: [PIT]
>>>> crash in
>>>>       AWT_Desktop/Automated/Exceptions/BasicTest
>>>>
>>>>       14.https://bugs.openjdk.java.net/browse/JDK-8160054: The
>>>> FileChooser
>>>>       didn't displayed large font with GTK LAF option.
>>>>
>>>>       15.https://bugs.openjdk.java.net/browse/JDK-8164321: Crash of
>>>>       SwingNode with GTK LaF
>>>>
>>>>       16.https://bugs.openjdk.java.net/browse/JDK-8161740: [parfait]
>>>>       Memory leak in Java_sun_awt_UNIXToolkit_load_1gtk_1icon of
>>>>       awt_UNIXToolkit.c:132
>>>>
>>>>       17.https://bugs.openjdk.java.net/browse/JDK-8168077: Solaris
>>>> build
>>>>       failed: gtk2_interface.h typedef redeclared: GThreadFunctions
>>>>
>>>>       webrev:
>>>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.00/
>>>> <http://cr.openjdk.java.net/%7Epbansal/gtk3_backport/webrev.00/>
>>>>
>>>>       JBS: https://bugs.openjdk.java.net/browse/JDK-8145547
>>>>
>>>>       JDK 9 Changeset:
>>>>       http://hg.openjdk.java.net/jdk9/client/jdk/rev/6d60dfa5e3f8
>>>>
>>>>       I have run the related jtreg and jck tests and results are fine.
>>>>
>>>>       Regards,
>>>>
>>>>       Pankaj
>>>>

Reply | Threaded
Open this post in threaded view
|

Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

Phil Race
Hi,

I've looked over the code and tested on Ubuntu 18.04 and can confirm it
works
as well as the JDK 11 code does.

I reproduced the problems Semyon noted that are present on JDK 11 as well.

The UI hang when switching themes is not specific to using GTK3 - it
occurs with
GTK2 as well, and not specific to Ubuntu 18.04, it occurs on Ubuntu
16.04 too.


"AWT-EventQueue-0" #14 prio=6 os_prio=0 cpu=1537.25ms elapsed=16.86s
tid=0x00007f7d2c6dc000 nid=0x4a32 runnable  [0x00007f7cca817000]
    java.lang.Thread.State: RUNNABLE
         at
com.sun.java.swing.plaf.gtk.GTKEngine.native_switch_theme(java.desktop/Native
Method)
         at
com.sun.java.swing.plaf.gtk.GTKEngine.themeChanged(java.desktop/GTKEngine.java:625)
         - locked <0x0000000706613b68> (a java.lang.Object)
         at
com.sun.java.swing.plaf.gtk.GTKLookAndFeel$WeakPCL$1.run(java.desktop/GTKLookAndFeel.java:1496)

....

It does NOT occur with current JDK 8u, so there is something in the GTK
3 work
causing it. This is not a stopper for the backport since switching
themes is unlikely / rare.
But we should file bugs against that and the rendering issues and fix in
JDK 12 and backport
those too - as a follow on as at least some of these could be blockers
for GTK3 on by default in 8u.

"+1" to this main backport.

-phil.

On 10/08/2018 01:23 AM, Pankaj Bansal wrote:

> Hi,
>
> The patch in 02 version no longer applies cleanly as check-ins have been done since it was created. I have updated the webrev. Also fixed the whitespace in gtk2_interface.c
>
> Webrev:
> http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.03/
>
> Regards,
> Pankaj
>
> -----Original Message-----
> From: Kevin Rushforth
> Sent: Wednesday, September 12, 2018 8:19 PM
> To: Pankaj Bansal; [hidden email]; [hidden email]
> Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux
>
> Looks fine. Btw, you have a trailing whitespace in gtk2_interface.c that you need to fix before you push (jcheck will tell you about that).
>
> -- Kevin
>
>
> On 9/12/2018 5:29 AM, Pankaj Bansal wrote:
>> Hi,
>>
>> I have found a small mistake in gtk_interface.c. I had used wrong name of gtk3 lib at line 56. I have correct the same in webrev.02.
>> It is just a typo and should not have any effect on functionality. All should work the same as 01 version.
>>
>> Webrev:
>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.02/
>>
>> Regards,
>> Pankaj
>>
>>
>> -----Original Message-----
>> From: Kevin Rushforth
>> Sent: Saturday, September 8, 2018 1:53 AM
>> To: Pankaj Bansal; Sergey Bylokhov; [hidden email];
>> [hidden email]
>> Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547:
>> [AWT/Swing] Conditional support for GTK 3 on Linux
>>
>> I tested various combinations of Swing / FX interop and it all looks fine to me. I only glanced through the AWT code changes, though, but I didn't spot anything amiss.
>>
>> -- Kevin
>>
>>
>> On 9/6/2018 4:35 AM, Pankaj Bansal wrote:
>>> Hello Sergey/Kevin,
>>>
>>> I have removed the backport for https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire sun.misc.GThreadHelper. I did a clean build and tried few tests for Swing-FX interop. They all run fine. I have attached the link to tests if you would like to have a look. I did run the awt and swing jtreg tests also.
>>>
>>> Webrev: http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.01/
>>> SwingFXInteropTests:
>>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/SwingFXInteropTests
>>> /
>>>
>>> Please let me know if you would like me to do some further testing for Swing-FX interop.
>>>
>>> Regards,
>>> Pankaj Bansal
>>>
>>> -----Original Message-----
>>> From: Kevin Rushforth
>>> Sent: Thursday, September 6, 2018 3:29 AM
>>> To: Sergey Bylokhov; Pankaj Bansal; [hidden email];
>>> [hidden email]
>>> Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547:
>>> [AWT/Swing] Conditional support for GTK 3 on Linux
>>>
>>> The simple testing that I did -- one each of a Swing app + JFXPanel
>>> and a JavaFX app + SwingNode -- worked for me on my local build after
>>> restoring that file. Some additional testing (necessarily limited to
>>> GTK
>>> 2 until the FX backport for GTK 3 is done) might be needed.
>>>
>>> -- Kevin
>>>
>>>
>>> On 9/5/2018 2:35 PM, Sergey Bylokhov wrote:
>>>> HI, Pankaj.
>>>> Can you please recheck that FX<-->Swing interop still works?
>>>> Probably there are some other than GThreadHelper issues
>>>>
>>>> On 05/09/2018 11:44, Pankaj Bansal wrote:
>>>>> Hello Kevin,
>>>>>
>>>>> Thanks for pointing it out. I will remove this fix for now. I hope
>>>>> its ok, if I create new webrev when I get some more comments here.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Pankaj Bansal
>>>>>
>>>>> *From:*Kevin Rushforth
>>>>> *Sent:* Wednesday, September 5, 2018 10:29 PM
>>>>> *To:* Pankaj Bansal; [hidden email];
>>>>> [hidden email]
>>>>> *Subject:* Re: <AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing]
>>>>> Conditional support for GTK 3 on Linux
>>>>>
>>>>> The backport of the following fix, which removes
>>>>> sun.misc.GThreadHelper, will break all FX interop applications,
>>>>> even if GTK2 is used:
>>>>>
>>>>> https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire
>>>>> sun.misc.GThreadHelper
>>>>>
>>>>> The FX GTK port still uses that class, so the class needs to be
>>>>> left in until after the FX support for GTK 3 has been backported.
>>>>>
>>>>> -- Kevin
>>>>>
>>>>>
>>>>> On 9/5/2018 12:56 AM, Pankaj Bansal wrote:
>>>>>
>>>>>        Hi All,
>>>>>
>>>>>        Please review the patch for 8u-dev backport for JDK-8145547.
>>>>> It adds
>>>>>        conditional support for gtk3.
>>>>>
>>>>>        The original fix does not apply cleanly as few changes were
>>>>> done in
>>>>>        jdk9 before the gtk3 support was added, major once being
>>>>> JDK-8025815
>>>>>        <https://bugs.openjdk.java.net/browse/JDK-8025815>, JDK-8014212
>>>>>        <https://bugs.openjdk.java.net/browse/JDK-8014212> and
>>>>> JDK-8137571
>>>>>        <https://bugs.openjdk.java.net/browse/JDK-8137571>
>>>>>
>>>>>        Along with the enhancement, following bug fixes have also been
>>>>>        included in the backport webrev
>>>>>
>>>>>        1.https://bugs.openjdk.java.net/browse/JDK-8155772:
>>>>> gtk3_interface.c
>>>>>        compilation error on Ubuntu 12.10
>>>>>
>>>>>        2.https://bugs.openjdk.java.net/browse/JDK-8156020: 8145547
>>>>> breaks
>>>>>        AIX and and uses RTLD_NOLOAD incorrectly
>>>>>
>>>>>        3.https://bugs.openjdk.java.net/browse/JDK-8156121: Fail forward"
>>>>>        fails for GTK3 if no GTK2 available
>>>>>
>>>>>        4.https://bugs.openjdk.java.net/browse/JDK-8156128: Tests for
>>>>>        [AWT/Swing] Conditional support for GTK 3 on Linux
>>>>>
>>>>>        5.https://bugs.openjdk.java.net/browse/JDK-8157827:
>>>>>        AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect GTK
>>>>>        version when jdk.gtk.version=3
>>>>>
>>>>>        6.https://bugs.openjdk.java.net/browse/JDK-8160160: The menu
>>>>>        displayed nothing with the option"-server -d64 -Xmixed
>>>>> -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".
>>>>>
>>>>>        7.https://bugs.openjdk.java.net/browse/JDK-8191041:
>>>>> Questionable
>>>>>        Rendering of Disabled Text in Swing GTK L&F
>>>>>
>>>>>        8.https://bugs.openjdk.java.net/browse/JDK-8203003: Several
>>>>>        FileDialog Modality Tests fail on Linux due to X errors
>>>>>
>>>>>        9.https://bugs.openjdk.java.net/browse/JDK-8155784: Build
>>>>> failure on
>>>>>        Linux arm64
>>>>>
>>>>>        10.https://bugs.openjdk.java.net/browse/JDK-8154546: Retire
>>>>>        sun.misc.GThreadHelper
>>>>>
>>>>>        11.https://bugs.openjdk.java.net/browse/JDK-8152968: JTree
>>>>> Collapse
>>>>>        Buttons Clipped Off Under GTK
>>>>>
>>>>>        12.https://bugs.openjdk.java.net/browse/JDK-8160448: Make
>>>>> GTK3 menus
>>>>>        appearence similar to native.
>>>>>
>>>>>        13.https://bugs.openjdk.java.net/browse/JDK-8155613: [PIT]
>>>>> crash in
>>>>>        AWT_Desktop/Automated/Exceptions/BasicTest
>>>>>
>>>>>        14.https://bugs.openjdk.java.net/browse/JDK-8160054: The
>>>>> FileChooser
>>>>>        didn't displayed large font with GTK LAF option.
>>>>>
>>>>>        15.https://bugs.openjdk.java.net/browse/JDK-8164321: Crash of
>>>>>        SwingNode with GTK LaF
>>>>>
>>>>>        16.https://bugs.openjdk.java.net/browse/JDK-8161740: [parfait]
>>>>>        Memory leak in Java_sun_awt_UNIXToolkit_load_1gtk_1icon of
>>>>>        awt_UNIXToolkit.c:132
>>>>>
>>>>>        17.https://bugs.openjdk.java.net/browse/JDK-8168077: Solaris
>>>>> build
>>>>>        failed: gtk2_interface.h typedef redeclared: GThreadFunctions
>>>>>
>>>>>        webrev:
>>>>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.00/
>>>>> <http://cr.openjdk.java.net/%7Epbansal/gtk3_backport/webrev.00/>
>>>>>
>>>>>        JBS: https://bugs.openjdk.java.net/browse/JDK-8145547
>>>>>
>>>>>        JDK 9 Changeset:
>>>>>        http://hg.openjdk.java.net/jdk9/client/jdk/rev/6d60dfa5e3f8
>>>>>
>>>>>        I have run the related jtreg and jck tests and results are fine.
>>>>>
>>>>>        Regards,
>>>>>
>>>>>        Pankaj
>>>>>

Reply | Threaded
Open this post in threaded view
|

Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547: [AWT/Swing] Conditional support for GTK 3 on Linux

Semyon Sadetsky
+1

--Semyon


On 10/8/18 12:34 PM, Phil Race wrote:

> Hi,
>
> I've looked over the code and tested on Ubuntu 18.04 and can confirm
> it works
> as well as the JDK 11 code does.
>
> I reproduced the problems Semyon noted that are present on JDK 11 as
> well.
>
> The UI hang when switching themes is not specific to using GTK3 - it
> occurs with
> GTK2 as well, and not specific to Ubuntu 18.04, it occurs on Ubuntu
> 16.04 too.
>
>
> "AWT-EventQueue-0" #14 prio=6 os_prio=0 cpu=1537.25ms elapsed=16.86s
> tid=0x00007f7d2c6dc000 nid=0x4a32 runnable [0x00007f7cca817000]
>    java.lang.Thread.State: RUNNABLE
>         at
> com.sun.java.swing.plaf.gtk.GTKEngine.native_switch_theme(java.desktop/Native
> Method)
>         at
> com.sun.java.swing.plaf.gtk.GTKEngine.themeChanged(java.desktop/GTKEngine.java:625)
>         - locked <0x0000000706613b68> (a java.lang.Object)
>         at
> com.sun.java.swing.plaf.gtk.GTKLookAndFeel$WeakPCL$1.run(java.desktop/GTKLookAndFeel.java:1496)
>
> ....
>
> It does NOT occur with current JDK 8u, so there is something in the
> GTK 3 work
> causing it. This is not a stopper for the backport since switching
> themes is unlikely / rare.
> But we should file bugs against that and the rendering issues and fix
> in JDK 12 and backport
> those too - as a follow on as at least some of these could be blockers
> for GTK3 on by default in 8u.
>
> "+1" to this main backport.
>
> -phil.
>
> On 10/08/2018 01:23 AM, Pankaj Bansal wrote:
>> Hi,
>>
>> The patch in 02 version no longer applies cleanly as check-ins have
>> been done since it was created. I have updated the webrev. Also fixed
>> the whitespace in gtk2_interface.c
>>
>> Webrev:
>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.03/
>>
>> Regards,
>> Pankaj
>>
>> -----Original Message-----
>> From: Kevin Rushforth
>> Sent: Wednesday, September 12, 2018 8:19 PM
>> To: Pankaj Bansal; [hidden email]; [hidden email]
>> Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547:
>> [AWT/Swing] Conditional support for GTK 3 on Linux
>>
>> Looks fine. Btw, you have a trailing whitespace in gtk2_interface.c
>> that you need to fix before you push (jcheck will tell you about that).
>>
>> -- Kevin
>>
>>
>> On 9/12/2018 5:29 AM, Pankaj Bansal wrote:
>>> Hi,
>>>
>>> I have found a small mistake in gtk_interface.c. I had used wrong
>>> name of gtk3 lib at line 56. I have correct the same in webrev.02.
>>> It is just a typo and should not have any effect on functionality.
>>> All should work the same as 01 version.
>>>
>>> Webrev:
>>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.02/
>>>
>>> Regards,
>>> Pankaj
>>>
>>>
>>> -----Original Message-----
>>> From: Kevin Rushforth
>>> Sent: Saturday, September 8, 2018 1:53 AM
>>> To: Pankaj Bansal; Sergey Bylokhov; [hidden email];
>>> [hidden email]
>>> Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547:
>>> [AWT/Swing] Conditional support for GTK 3 on Linux
>>>
>>> I tested various combinations of Swing / FX interop and it all looks
>>> fine to me. I only glanced through the AWT code changes, though, but
>>> I didn't spot anything amiss.
>>>
>>> -- Kevin
>>>
>>>
>>> On 9/6/2018 4:35 AM, Pankaj Bansal wrote:
>>>> Hello Sergey/Kevin,
>>>>
>>>> I have removed the backport for
>>>> https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire
>>>> sun.misc.GThreadHelper. I did a clean build and tried few tests for
>>>> Swing-FX interop. They all run fine. I have attached the link to
>>>> tests if you would like to have a look. I did run the awt and swing
>>>> jtreg tests also.
>>>>
>>>> Webrev: http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.01/
>>>> SwingFXInteropTests:
>>>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/SwingFXInteropTests
>>>> /
>>>>
>>>> Please let me know if you would like me to do some further testing
>>>> for Swing-FX interop.
>>>>
>>>> Regards,
>>>> Pankaj Bansal
>>>>
>>>> -----Original Message-----
>>>> From: Kevin Rushforth
>>>> Sent: Thursday, September 6, 2018 3:29 AM
>>>> To: Sergey Bylokhov; Pankaj Bansal; [hidden email];
>>>> [hidden email]
>>>> Subject: Re: <AWT Dev> <Swing Dev> [8u-backport] JDK 8145547:
>>>> [AWT/Swing] Conditional support for GTK 3 on Linux
>>>>
>>>> The simple testing that I did -- one each of a Swing app + JFXPanel
>>>> and a JavaFX app + SwingNode -- worked for me on my local build after
>>>> restoring that file. Some additional testing (necessarily limited to
>>>> GTK
>>>> 2 until the FX backport for GTK 3 is done) might be needed.
>>>>
>>>> -- Kevin
>>>>
>>>>
>>>> On 9/5/2018 2:35 PM, Sergey Bylokhov wrote:
>>>>> HI, Pankaj.
>>>>> Can you please recheck that FX<-->Swing interop still works?
>>>>> Probably there are some other than GThreadHelper issues
>>>>>
>>>>> On 05/09/2018 11:44, Pankaj Bansal wrote:
>>>>>> Hello Kevin,
>>>>>>
>>>>>> Thanks for pointing it out. I will remove this fix for now. I hope
>>>>>> its ok, if I create new webrev when I get some more comments here.
>>>>>>
>>>>>> Regards,
>>>>>>
>>>>>> Pankaj Bansal
>>>>>>
>>>>>> *From:*Kevin Rushforth
>>>>>> *Sent:* Wednesday, September 5, 2018 10:29 PM
>>>>>> *To:* Pankaj Bansal; [hidden email];
>>>>>> [hidden email]
>>>>>> *Subject:* Re: <AWT Dev> [8u-backport] JDK 8145547: [AWT/Swing]
>>>>>> Conditional support for GTK 3 on Linux
>>>>>>
>>>>>> The backport of the following fix, which removes
>>>>>> sun.misc.GThreadHelper, will break all FX interop applications,
>>>>>> even if GTK2 is used:
>>>>>>
>>>>>> https://bugs.openjdk.java.net/browse/JDK-8154546 : Retire
>>>>>> sun.misc.GThreadHelper
>>>>>>
>>>>>> The FX GTK port still uses that class, so the class needs to be
>>>>>> left in until after the FX support for GTK 3 has been backported.
>>>>>>
>>>>>> -- Kevin
>>>>>>
>>>>>>
>>>>>> On 9/5/2018 12:56 AM, Pankaj Bansal wrote:
>>>>>>
>>>>>>        Hi All,
>>>>>>
>>>>>>        Please review the patch for 8u-dev backport for JDK-8145547.
>>>>>> It adds
>>>>>>        conditional support for gtk3.
>>>>>>
>>>>>>        The original fix does not apply cleanly as few changes were
>>>>>> done in
>>>>>>        jdk9 before the gtk3 support was added, major once being
>>>>>> JDK-8025815
>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8025815>, JDK-8014212
>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8014212> and
>>>>>> JDK-8137571
>>>>>> <https://bugs.openjdk.java.net/browse/JDK-8137571>
>>>>>>
>>>>>>        Along with the enhancement, following bug fixes have also
>>>>>> been
>>>>>>        included in the backport webrev
>>>>>>
>>>>>> 1.https://bugs.openjdk.java.net/browse/JDK-8155772:
>>>>>> gtk3_interface.c
>>>>>>        compilation error on Ubuntu 12.10
>>>>>>
>>>>>> 2.https://bugs.openjdk.java.net/browse/JDK-8156020: 8145547
>>>>>> breaks
>>>>>>        AIX and and uses RTLD_NOLOAD incorrectly
>>>>>>
>>>>>> 3.https://bugs.openjdk.java.net/browse/JDK-8156121: Fail forward"
>>>>>>        fails for GTK3 if no GTK2 available
>>>>>>
>>>>>> 4.https://bugs.openjdk.java.net/browse/JDK-8156128: Tests for
>>>>>>        [AWT/Swing] Conditional support for GTK 3 on Linux
>>>>>>
>>>>>> 5.https://bugs.openjdk.java.net/browse/JDK-8157827:
>>>>>>        AWT_Desktop/Automated/Exceptions/BasicTest loads incorrect
>>>>>> GTK
>>>>>>        version when jdk.gtk.version=3
>>>>>>
>>>>>> 6.https://bugs.openjdk.java.net/browse/JDK-8160160: The menu
>>>>>>        displayed nothing with the option"-server -d64 -Xmixed
>>>>>> -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel".
>>>>>>
>>>>>> 7.https://bugs.openjdk.java.net/browse/JDK-8191041:
>>>>>> Questionable
>>>>>>        Rendering of Disabled Text in Swing GTK L&F
>>>>>>
>>>>>> 8.https://bugs.openjdk.java.net/browse/JDK-8203003: Several
>>>>>>        FileDialog Modality Tests fail on Linux due to X errors
>>>>>>
>>>>>> 9.https://bugs.openjdk.java.net/browse/JDK-8155784: Build
>>>>>> failure on
>>>>>>        Linux arm64
>>>>>>
>>>>>> 10.https://bugs.openjdk.java.net/browse/JDK-8154546: Retire
>>>>>>        sun.misc.GThreadHelper
>>>>>>
>>>>>> 11.https://bugs.openjdk.java.net/browse/JDK-8152968: JTree
>>>>>> Collapse
>>>>>>        Buttons Clipped Off Under GTK
>>>>>>
>>>>>> 12.https://bugs.openjdk.java.net/browse/JDK-8160448: Make
>>>>>> GTK3 menus
>>>>>>        appearence similar to native.
>>>>>>
>>>>>> 13.https://bugs.openjdk.java.net/browse/JDK-8155613: [PIT]
>>>>>> crash in
>>>>>>        AWT_Desktop/Automated/Exceptions/BasicTest
>>>>>>
>>>>>> 14.https://bugs.openjdk.java.net/browse/JDK-8160054: The
>>>>>> FileChooser
>>>>>>        didn't displayed large font with GTK LAF option.
>>>>>>
>>>>>> 15.https://bugs.openjdk.java.net/browse/JDK-8164321: Crash of
>>>>>>        SwingNode with GTK LaF
>>>>>>
>>>>>> 16.https://bugs.openjdk.java.net/browse/JDK-8161740: [parfait]
>>>>>>        Memory leak in Java_sun_awt_UNIXToolkit_load_1gtk_1icon of
>>>>>>        awt_UNIXToolkit.c:132
>>>>>>
>>>>>> 17.https://bugs.openjdk.java.net/browse/JDK-8168077: Solaris
>>>>>> build
>>>>>>        failed: gtk2_interface.h typedef redeclared: GThreadFunctions
>>>>>>
>>>>>>        webrev:
>>>>>> http://cr.openjdk.java.net/~pbansal/gtk3_backport/webrev.00/
>>>>>> <http://cr.openjdk.java.net/%7Epbansal/gtk3_backport/webrev.00/>
>>>>>>
>>>>>>        JBS: https://bugs.openjdk.java.net/browse/JDK-8145547
>>>>>>
>>>>>>        JDK 9 Changeset:
>>>>>> http://hg.openjdk.java.net/jdk9/client/jdk/rev/6d60dfa5e3f8
>>>>>>
>>>>>>        I have run the related jtreg and jck tests and results are
>>>>>> fine.
>>>>>>
>>>>>>        Regards,
>>>>>>
>>>>>>        Pankaj
>>>>>>
>