This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 144931 - [65cat] IDE hangs for sometime after floating memory toolbar is dragged behind search toolbar
Summary: [65cat] IDE hangs for sometime after floating memory toolbar is dragged behin...
Status: RESOLVED WONTFIX
Alias: None
Product: platform
Classification: Unclassified
Component: Window System (show other bugs)
Version: 6.x
Hardware: PC Linux
: P2 blocker (vote)
Assignee: David Simonek
URL:
Keywords: PERFORMANCE, RANDOM, THREAD
Depends on:
Blocks:
 
Reported: 2008-08-23 20:41 UTC by sunbiz
Modified: 2008-12-22 14:09 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Threaddump (10.16 KB, text/plain)
2008-08-26 10:50 UTC, sunbiz
Details
JVM crash log, just for the record (85.56 KB, text/plain)
2008-08-26 12:13 UTC, David Simonek
Details
JVK 1.7.0 crash log (91.27 KB, text/plain)
2008-08-26 13:00 UTC, David Simonek
Details

Note You need to log in before you can comment on or make changes to this bug.
Description sunbiz 2008-08-23 20:41:55 UTC
[ BUILD # : 200808111757 ]
[ JDK VERSION : 1.6.0_07 ]

When the floating memory toolbar is dragged, it can be hidden behind

the search toolbar that has been added to Netbeans 6.5. When this 
happens, the IDE hangs for sometime (~12sec on my machine) and is a 
performance issue. Ideally, the memory toolbar should not be allowed

to be dragged behind the search toolbar.
Comment 1 Lukas Hasik 2008-08-25 10:07:43 UTC
the problem with QuickSearch has been reported. I don't have the issue number now.

I'm leaving opened because of the performance of the Memory toolbar. Could you attach thread dumps from the hang? Is it
reproducible? 
Comment 2 Petr Nejedly 2008-08-25 16:07:23 UTC
This is likely a dup of issue 139839.
Attach a thread dump to prove otherwise.


*** This issue has been marked as a duplicate of 139839 ***
Comment 3 sunbiz 2008-08-26 10:50:22 UTC
Created attachment 68322 [details]
Threaddump
Comment 4 sunbiz 2008-08-26 10:52:22 UTC
Attached the thread dump
Comment 5 Petr Nejedly 2008-08-26 11:06:21 UTC
So the thread dump is slightly different, but it represents another painting lockup with no apparent reason.
All in all unrelated to apisupport/timers, probably even to memory bar.
I'd blame the JDK.
Comment 6 David Simonek 2008-08-26 12:09:46 UTC
Similar to 139839, nothing I am able to do with this, sorry, because issue is random, reason not known and thread dumps
related to lock ends in
not-netbeans code.

Please reopen if it happens more frequently under some circumstances, ideally with reproducible scenario, although I
know it isn't likely.
Comment 7 David Simonek 2008-08-26 12:12:01 UTC
I played with reproduction a bit and for me even JVM crashed, blaming libmawt.so library, so I guess we are out of luck
here:

#
# An unexpected error has been detected by Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xb41a83c0, pid=1547, tid=2983193488
#
# Java VM: Java HotSpot(TM) Client VM (1.6.0_05-ea-b04 mixed mode, sharing linux-x86)
# Problematic frame:
# C  [libmawt.so+0x363c0]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Comment 8 David Simonek 2008-08-26 12:13:08 UTC
Created attachment 68328 [details]
JVM crash log, just for the record
Comment 9 David Simonek 2008-08-26 12:18:12 UTC
Reproducible steps on my Ubuntu Hardy: (100% JVM crash) (JDK 1.6.0_05)

1) Start NB with main window narrow, so that initially memory toolbar is partly hidden by quick search box
2) Drag the handle of memory toolbar more behind quick search and back

-> crash appears on my machine, but I'm almost sure that it won't be reproducible on other machines.
Comment 10 David Simonek 2008-08-26 12:59:26 UTC
Reproducible for me 100% also on latest JDK 1.6.0_10 and latest JDK 1.7.0, here is native/java stack from crash log from
JDK 1.7.0 

Crash always points to:
C  [libmawt.so+0x3b70f]  Java_com_sun_java_swing_plaf_gtk_GTKEngine_nativeFinishPainting+0x4f

------
Stack: [0xb11b6000,0xb13b7000],  sp=0xb13b52f0,  free space=2044k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libmawt.so+0x38560]
C  [libmawt.so+0x3b70f]  Java_com_sun_java_swing_plaf_gtk_GTKEngine_nativeFinishPainting+0x4f
j  com.sun.java.swing.plaf.gtk.GTKEngine.nativeFinishPainting([III)I+0
j  com.sun.java.swing.plaf.gtk.GTKEngine.finishPainting(Z)V+31
J 
com.sun.java.swing.plaf.gtk.GTKPainter.paintToolBarBackground(Ljavax/swing/plaf/synth/SynthContext;Ljava/awt/Graphics;IIII)V
J  javax.swing.plaf.synth.SynthToolBarUI.update(Ljava/awt/Graphics;Ljavax/swing/JComponent;)V
J  javax.swing.JComponent.paintComponent(Ljava/awt/Graphics;)V
J  javax.swing.JComponent.paint(Ljava/awt/Graphics;)V
J  org.openide.awt.Toolbar.paint(Ljava/awt/Graphics;)V
J  javax.swing.JComponent.paintChildren(Ljava/awt/Graphics;)V
J  javax.swing.JComponent.paint(Ljava/awt/Graphics;)V
j  javax.swing.JComponent.paintToOffscreen(Ljava/awt/Graphics;IIIIII)V+41
j 
javax.swing.BufferStrategyPaintManager.paint(Ljavax/swing/JComponent;Ljavax/swing/JComponent;Ljava/awt/Graphics;IIII)Z+157
j  javax.swing.RepaintManager.paint(Ljavax/swing/JComponent;Ljavax/swing/JComponent;Ljava/awt/Graphics;IIII)V+52
J  javax.swing.JComponent._paintImmediately(IIII)V
j  javax.swing.JComponent.paintImmediately(IIII)V+83
J  javax.swing.RepaintManager.paintDirtyRegions(Ljava/util/Map;)V
J  javax.swing.RepaintManager.paintDirtyRegions()V
J  javax.swing.RepaintManager.prePaintDirtyRegions()V
J  javax.swing.RepaintManager$ProcessingRunnable.run()V
J  java.awt.event.InvocationEvent.dispatch()V
J  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V
J  org.netbeans.core.TimableEventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V
J  java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z
j  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j  java.awt.EventDispatchThread.run()V+9
v  ~StubRoutines::call_stub
V  [libjvm.so+0x1c73b0]
V  [libjvm.so+0x2d6988]
V  [libjvm.so+0x1c6bc7]
V  [libjvm.so+0x1c6c7a]
V  [libjvm.so+0x243f35]
V  [libjvm.so+0x373a8e]
V  [libjvm.so+0x2d7e2e]
C  [libpthread.so.0+0x54fb]

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  com.sun.java.swing.plaf.gtk.GTKEngine.nativeFinishPainting([III)I+0
j  com.sun.java.swing.plaf.gtk.GTKEngine.finishPainting(Z)V+31
J 
com.sun.java.swing.plaf.gtk.GTKPainter.paintToolBarBackground(Ljavax/swing/plaf/synth/SynthContext;Ljava/awt/Graphics;IIII)V
J  javax.swing.plaf.synth.SynthToolBarUI.update(Ljava/awt/Graphics;Ljavax/swing/JComponent;)V
J  javax.swing.JComponent.paintComponent(Ljava/awt/Graphics;)V
J  javax.swing.JComponent.paint(Ljava/awt/Graphics;)V
J  org.openide.awt.Toolbar.paint(Ljava/awt/Graphics;)V
J  javax.swing.JComponent.paintChildren(Ljava/awt/Graphics;)V
J  javax.swing.JComponent.paint(Ljava/awt/Graphics;)V
j  javax.swing.JComponent.paintToOffscreen(Ljava/awt/Graphics;IIIIII)V+41
j 
javax.swing.BufferStrategyPaintManager.paint(Ljavax/swing/JComponent;Ljavax/swing/JComponent;Ljava/awt/Graphics;IIII)Z+157
j  javax.swing.RepaintManager.paint(Ljavax/swing/JComponent;Ljavax/swing/JComponent;Ljava/awt/Graphics;IIII)V+52
J  javax.swing.JComponent._paintImmediately(IIII)V
j  javax.swing.JComponent.paintImmediately(IIII)V+83
J  javax.swing.RepaintManager.paintDirtyRegions(Ljava/util/Map;)V
J  javax.swing.RepaintManager.paintDirtyRegions()V
J  javax.swing.RepaintManager.prePaintDirtyRegions()V
J  javax.swing.RepaintManager$ProcessingRunnable.run()V
J  java.awt.event.InvocationEvent.dispatch()V
J  java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V
J  org.netbeans.core.TimableEventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V
J  java.awt.EventDispatchThread.pumpOneEventForFilters(I)Z
j  java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V+30
j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
j  java.awt.EventDispatchThread.run()V+9
v  ~StubRoutines::call_stub
Comment 11 David Simonek 2008-08-26 13:00:23 UTC
Created attachment 68332 [details]
JVK 1.7.0 crash log
Comment 12 David Simonek 2008-08-26 13:16:26 UTC
OK, I filed bug against JVM: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6741392
Comment 13 sunbiz 2008-08-26 13:34:05 UTC
Is it not possible to prevent the memory toolbar from going behind the search toolbar ?? Or Keep the Search Toolbar as 
a floating toolbar ??
Comment 14 David Simonek 2008-08-26 14:10:17 UTC
This is another issue, covered by 143423. Possible but unbelievably hard in our bad toolbar related code, so we won't
probably do it.