<Swing Dev> JDK 16 Linux Swing segfault

Philip Race philip.race at oracle.com
Tue Dec 8 03:00:54 UTC 2020


There is no problem seen on Ubuntu 20.10. I haven't seen any evidence to 
suggest it is due to a "newer" version
It could be a bug in Arch Linux and we really have no resources to 
proactively test every distro out there.
You are referencing a list of build platforms. Not runtime platforms.
I am saying that Oracle does not even certify Arch Linux (I personally 
had never heard of it).
So Oracle originated binaries - OpenJDK or commercial - are not 
certified against it.
You should be looking at a doc like this :
https://www.oracle.com/java/technologies/javase/products-doc-jdk11certconfig.html
or contacting the distro that provides your OpenJDK binaries.
It is unfortunate if some distro does not work but we extensively tested 
the separation on
all platforms and multiple Linux distros. No problem.
I don't think we want to revert it. Distros may want to use their own 
platform version.
Maybe Arch should do that in their JDK ?
But if you can help figure out the problem with Arch that would be great.
It looks like some difference in the runtime linking if that helps get 
you started.

-phil


On 12/7/20, 6:41 PM, Ty Young wrote:
>
> On 12/7/20 7:10 PM, Philip Race wrote:
>> Whilst we appreciate the report, we would never give an ETA here. It 
>> isn't a support channel.
>> I can say that it is being investigated but since it doesn't occur on 
>> a supported platform it is not a high priority.
>
>
> What is a supported platform? The only information after a quick 
> Google search gives:
>
>
> https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms
>
>
> Which only lists Oracle Enterprise Linux(Red Hat based?) and not Ubuntu.
>
>
> But I digress, as noted in the previously linked bug report, this is a 
> regression caused by your separation of libharfbuzz from 
> libfontmanager from:
>
>
> https://bugs.openjdk.java.net/browse/JDK-8249821
>
>
> And you can't or won't revert it?  What's the point of a 
> multi-platform UI API if you're going to break things just because you 
> feel like it? You realize there isn't a singular version of Ubuntu 
> too, right? Software built for the previous LTS won't necessarily work 
> on the newest versions or vice versa. if you only strictly support 
> Ubuntu 18.04 for example, Ubuntu 20.10 might not work and you probably 
> won't do anything about it?
>
>
> The bug "fix" is so seemingly unnecessary and caused way more harm 
> than good with multiple people running into breakage running otherwise 
> working software. Between all of the things being removed, deprecated, 
> and broken across the JDK versions over the last few years, you might 
> have enough content for a "killedbyoracle" website, similar to the 
> existing Google one.
>
>
>>
>> -phil.
>>
>> On 12/7/20, 5:03 PM, Ty Young wrote:
>>> Is there an ETA on when this will be fixed?
>>>
>>>
>>> On 12/7/20 3:47 PM, Philip Race wrote:
>>>> Yes. Sounds right. ALL reports of this so far are on an Arch Linux 
>>>> distro.
>>>> Not seen on Debian/Ubuntu or RH/OL/Centos
>>>>
>>>> -phil.
>>>>
>>>> On 12/7/20, 1:38 PM, Ty Young wrote:
>>>>> I use Arch Linux(btw), which is a "bleeding edge" Linux distro. 
>>>>> The distro mentioned in that bug report is based on Arch Linux.
>>>>>
>>>>>
>>>>> On 12/7/20 3:34 PM, Philip Race wrote:
>>>>>> Looks like https://bugs.openjdk.java.net/browse/JDK-8255790 which 
>>>>>> has not been
>>>>>> seen on any of our supported Linux configs - what are you using ?
>>>>>>
>>>>>> -phil
>>>>>>
>>>>>> On 12/7/20, 1:20 PM, Ty Young wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>>
>>>>>>> Just sending this to report that as of right now there is 
>>>>>>> somekind of regression in the GTK bindings code that is causing 
>>>>>>> a segfault and as a result Netbeans (or presumably any other 
>>>>>>> IDE) will not run on JDK 16 on Linux. This doesn't happen with 
>>>>>>> Java 11. Here is the error trace that Netbeans spits out after 
>>>>>>> segfaulting:
>>>>>>>
>>>>>>>
>>>>>>> Current thread (0x00007f5cdc1364e0):  JavaThread 
>>>>>>> "AWT-EventQueue-0" [_thread_in_native, id=181601, 
>>>>>>> stack(0x00007f5cd5c2e000,0x00007f5cd5e2f000)]
>>>>>>>
>>>>>>> Stack: [0x00007f5cd5c2e000,0x00007f5cd5e2f000], 
>>>>>>> sp=0x00007f5cd5e2c058,  free space=2040k
>>>>>>> Native frames: (J=compiled Java code, A=aot compiled Java code, 
>>>>>>> j=interpreted, Vv=VM code, C=native code)
>>>>>>> C  0x00007f5c80de40cc
>>>>>>>
>>>>>>> Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
>>>>>>> j com.sun.java.swing.plaf.gtk.GTKStyle.nativeGetXThickness(I)I+0 
>>>>>>> java.desktop at 16-internal
>>>>>>> j 
>>>>>>> com.sun.java.swing.plaf.gtk.GTKStyle.<init>(Ljava/awt/Font;Lcom/sun/java/swing/plaf/gtk/GTKEngine$WidgetType;)V+24 
>>>>>>> java.desktop at 16-internal
>>>>>>> j 
>>>>>>> com.sun.java.swing.plaf.gtk.GTKStyleFactory.getStyle(Ljavax/swing/JComponent;Ljavax/swing/plaf/synth/Region;)Ljavax/swing/plaf/synth/SynthStyle;+310 
>>>>>>> java.desktop at 16-internal
>>>>>>> j 
>>>>>>> com.sun.java.swing.plaf.gtk.GTKLookAndFeel.initSystemColorDefaults(Ljavax/swing/UIDefaults;)V+53 
>>>>>>> java.desktop at 16-internal
>>>>>>> j 
>>>>>>> com.sun.java.swing.plaf.gtk.GTKLookAndFeel.getDefaults()Ljavax/swing/UIDefaults;+33 
>>>>>>> java.desktop at 16-internal
>>>>>>> j 
>>>>>>> javax.swing.UIManager.setLookAndFeel(Ljavax/swing/LookAndFeel;)V+66 
>>>>>>> java.desktop at 16-internal
>>>>>>> j javax.swing.UIManager.setLookAndFeel(Ljava/lang/String;)V+34 
>>>>>>> java.desktop at 16-internal
>>>>>>> j  org.netbeans.swing.plaf.Startup.initialize()V+106
>>>>>>> j  org.netbeans.swing.plaf.Startup.<init>()V+25
>>>>>>> j 
>>>>>>> org.netbeans.swing.plaf.Startup.run(Ljava/lang/Class;ILjava/net/URL;Ljava/util/ResourceBundle;)V+44
>>>>>>> j  org.netbeans.core.CoreBridgeImpl$1$1.run()V+23
>>>>>>> J 3088 c1 java.awt.event.InvocationEvent.dispatch()V 
>>>>>>> java.desktop at 16-internal (69 bytes) @ 0x00007f5d593829ac 
>>>>>>> [0x00007f5d59382780+0x000000000000022c]
>>>>>>> J 3071 c1 
>>>>>>> java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V 
>>>>>>> java.desktop at 16-internal (136 bytes) @ 0x00007f5d593786dc 
>>>>>>> [0x00007f5d59376b80+0x0000000000001b5c]
>>>>>>> J 3070 c1 java.awt.EventQueue$4.run()Ljava/lang/Void; 
>>>>>>> java.desktop at 16-internal (60 bytes) @ 0x00007f5d593747bc 
>>>>>>> [0x00007f5d59374680+0x000000000000013c]
>>>>>>> J 3065 c1 
>>>>>>> java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V 
>>>>>>> java.desktop at 16-internal (80 bytes) @ 0x00007f5d59375424 
>>>>>>> [0x00007f5d59374e60+0x00000000000005c4]
>>>>>>> J 3074 c1 
>>>>>>> java.awt.EventDispatchThread.pumpOneEventForFilters(I)V 
>>>>>>> java.desktop at 16-internal (113 bytes) @ 0x00007f5d5937c934 
>>>>>>> [0x00007f5d5937c2a0+0x0000000000000694]
>>>>>>> j 
>>>>>>> java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+35 
>>>>>>> java.desktop at 16-internal
>>>>>>> j 
>>>>>>> java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11 
>>>>>>> java.desktop at 16-internal
>>>>>>> j 
>>>>>>> java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4 
>>>>>>> java.desktop at 16-internal
>>>>>>> j 
>>>>>>> java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3 
>>>>>>> java.desktop at 16-internal
>>>>>>> j  java.awt.EventDispatchThread.run()V+9 java.desktop at 16-internal
>>>>>>> v  ~StubRoutines::call_stub
>>>>>>>
>>>>>>>
>>>>>>> Much appreciated if this could be fixed.
>>>>>>>
>>>>>>>
>>>>>>>


More information about the swing-dev mailing list