-
Bug
-
Resolution: Fixed
-
P2
-
pia, solaris_11
-
b05
-
b55
-
x86
-
solaris_nevada
This bug was found when we were testing Sun Studio IDE on snv_77 with jdk1.6
using Gnome window manager. It is not reproducible if switch to
jdk1.5.0_13 (sunstudio --jdkhome /usr/jdk/jdk1.5.0_13)
There are two issues for this bug:
1) from the console:
% /net/guild.sfbay/export/home1/common/shared_dist/sstrunk/build4.4_SXDE/inst/intel-S2/bin/sunstudio --userdir /tmp/1129-ss
(<unknown>:19201): Gtk-WARNING **: Attempting to add a widget with type
GtkButton to a GtkComboBoxEntry (need an instance of GtkEntry or of a
subclass)
(<unknown>:19201): Gtk-CRITICAL **: file gtkwidget.c: line 3236:
assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(<unknown>:19201): Gtk-CRITICAL **: file gtkstyle.c: line 5879:
assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:19201): Gtk-CRITICAL **: file gtkstyle.c: line 5879:
assertion `style->depth == gdk_drawable_get_depth (window)' failed
2) from the IDE UI, NPE stack trace and evaluation are in CR 6633364
Synopsis: NPE on selecting target for D-Light
While testing Sun Studio IDE (based on NetBeans 6.0)
for SXDE 1/08 (snv_79) with jdk1.6 in Gnome Window Manager,
we found out that any extended UI may cause NPE. As a result,
CR 6633364 (compiler_tools/ide/d-light) was filed and a
workaround was applied to this problem.
Subsequently, we filed CR 6635110 (jds/gnome/gtk+),
in the hope that the root cause of CR 6633364 can be fixed.
However according to the gtk developer, this is not
a GTK bug.
Andrew has done further investigation and it seems that the
bug is originated from jdk 1.6.
Evaluation from Andrew:
Andrew Krasny wrote On 12/12/07 10:57,:
>> Julie,
>>
>> I have spent some time on finding what may be the reason for the problem
>> and the conclusions are:
>>
>> 1. This is a JDK problem.
>>
>> In java, developer can put different types of GUI widgets into different
>> GUI containers. There are some limitations in GTK (like it is prohibited
>> to add button to ComboBox) that are not taken into consideration when
>> deal with libgtk (on jdk side)... So, assertion in GTK fails, but jdk
>> doesn't handle this appropriately and throws NPE...
>>
>> 2. On the side of GUI developers (NB/SunStudio) they sometimes don't
>> handle this NPE. So in some cases we saw such NPEs in NB (now they all
>> are being caught...)... Solution based on catching these exceptions
>> could hide the problem, but not fix it...
>>
>> I'm not familiar with GTK but I am inclined to think that GTK is good
>> enough to provide the whole GUI functionality. So ideally this should be
>> fixed in jdk (either do not allow programmers to do 'wrong' things or,
>> better, create 'correct' 'binding' between java GUI classes and GTKLib
>> calls).
>> So, I think that jdk guys should be responsible for this...
>>
>> BTW, *many* other products have these problems and bugs like this... And
>> all of them propose ether to switch to 1.5 or change L&F as a 'solution' :(
>>
>> Thanks,
>> =Andrew
I coould reproduce this bug as well simply using firefox and launching some Java apps: we are using WorldServer which contains some explorer applet (see screenshot). Here are the exeptions generated:
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
/usr/libexec/gecko: Ce fichier ou ce répertoire n'existe pas.
Backtrace limit of 200 exceeded
I am using as well the default gnome environment, and my java version is:
java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)
using Gnome window manager. It is not reproducible if switch to
jdk1.5.0_13 (sunstudio --jdkhome /usr/jdk/jdk1.5.0_13)
There are two issues for this bug:
1) from the console:
% /net/guild.sfbay/export/home1/common/shared_dist/sstrunk/build4.4_SXDE/inst/intel-S2/bin/sunstudio --userdir /tmp/1129-ss
(<unknown>:19201): Gtk-WARNING **: Attempting to add a widget with type
GtkButton to a GtkComboBoxEntry (need an instance of GtkEntry or of a
subclass)
(<unknown>:19201): Gtk-CRITICAL **: file gtkwidget.c: line 3236:
assertion `GTK_WIDGET_ANCHORED (widget) || GTK_IS_INVISIBLE (widget)' failed
(<unknown>:19201): Gtk-CRITICAL **: file gtkstyle.c: line 5879:
assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:19201): Gtk-CRITICAL **: file gtkstyle.c: line 5879:
assertion `style->depth == gdk_drawable_get_depth (window)' failed
2) from the IDE UI, NPE stack trace and evaluation are in CR 6633364
Synopsis: NPE on selecting target for D-Light
While testing Sun Studio IDE (based on NetBeans 6.0)
for SXDE 1/08 (snv_79) with jdk1.6 in Gnome Window Manager,
we found out that any extended UI may cause NPE. As a result,
CR 6633364 (compiler_tools/ide/d-light) was filed and a
workaround was applied to this problem.
Subsequently, we filed CR 6635110 (jds/gnome/gtk+),
in the hope that the root cause of CR 6633364 can be fixed.
However according to the gtk developer, this is not
a GTK bug.
Andrew has done further investigation and it seems that the
bug is originated from jdk 1.6.
Evaluation from Andrew:
Andrew Krasny wrote On 12/12/07 10:57,:
>> Julie,
>>
>> I have spent some time on finding what may be the reason for the problem
>> and the conclusions are:
>>
>> 1. This is a JDK problem.
>>
>> In java, developer can put different types of GUI widgets into different
>> GUI containers. There are some limitations in GTK (like it is prohibited
>> to add button to ComboBox) that are not taken into consideration when
>> deal with libgtk (on jdk side)... So, assertion in GTK fails, but jdk
>> doesn't handle this appropriately and throws NPE...
>>
>> 2. On the side of GUI developers (NB/SunStudio) they sometimes don't
>> handle this NPE. So in some cases we saw such NPEs in NB (now they all
>> are being caught...)... Solution based on catching these exceptions
>> could hide the problem, but not fix it...
>>
>> I'm not familiar with GTK but I am inclined to think that GTK is good
>> enough to provide the whole GUI functionality. So ideally this should be
>> fixed in jdk (either do not allow programmers to do 'wrong' things or,
>> better, create 'correct' 'binding' between java GUI classes and GTKLib
>> calls).
>> So, I think that jdk guys should be responsible for this...
>>
>> BTW, *many* other products have these problems and bugs like this... And
>> all of them propose ether to switch to 1.5 or change L&F as a 'solution' :(
>>
>> Thanks,
>> =Andrew
I coould reproduce this bug as well simply using firefox and launching some Java apps: we are using WorldServer which contains some explorer applet (see screenshot). Here are the exeptions generated:
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
(<unknown>:2501): Gtk-CRITICAL **: file gtkstyle.c: line 5879: assertion `style->depth == gdk_drawable_get_depth (window)' failed
/usr/libexec/gecko: Ce fichier ou ce répertoire n'existe pas.
Backtrace limit of 200 exceeded
I am using as well the default gnome environment, and my java version is:
java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Server VM (build 1.6.0_03-b05, mixed mode)