Package: openjdk-6-jre
Version: 6b23~pre8-1.1
Severity: normal
Tags: patch

After upgrading openjdk-6 on my testing-based system from  6b18-1.8.9-0.1 to
6b23~pre7-1, the program kolmafia throws a nullpointer exception in
sun.awt.X11.XWindowPeer.restoreTransientFor.
(see attached backtrace)

Googling for this error returns f.e.
http://netbeans.org/bugzilla/show_bug.cgi?id=163548
This seems to be bug http://bugs.sun.com/view_bug.do?bug_id=6826104

I patched the class like suggested in the sun-bugreport, which resolved the
issue.
(However I am not sure, if the awtLock is needed.....)
(patch attached)
(the installed version 6b23~pre8-1.1 is a locally compiled 6b23~pre8-1 with
that patch)



-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (900, 'testing'), (900, 'stable'), (600, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.0.0-0.toi.2+ (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages openjdk-6-jre depends on:
ii  libaccess-bridge-java-j 1.26.2-5         Java Access Bridge for GNOME (jni 
ii  libasound2              1.0.24.1-2       shared library for ALSA applicatio
ii  libc6                   2.13-16          Embedded GNU C Library: Shared lib
ii  libgif4                 4.1.6-9          library for GIF images (library)
ii  libjpeg62               6b1-2            Independent JPEG Group's JPEG runt
ii  libpng12-0              1.2.46-3         PNG library - runtime
ii  libpulse0               0.9.23-1         PulseAudio client libraries
ii  libx11-6                2:1.4.4-1        X11 client-side library
ii  libxext6                2:1.3.0-3        X11 miscellaneous extension librar
ii  libxi6                  2:1.4.3-3        X11 Input extension library
ii  libxrender1             1:0.9.6-2        X Rendering Extension client libra
ii  libxtst6                2:1.2.0-3        X11 Testing -- Record extension li
ii  openjdk-6-jre-headless  6b23~pre8-1.1    OpenJDK Java runtime, using Hotspo
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

Versions of packages openjdk-6-jre recommends:
pn  icedtea-netx                  <none>     (no description available)
ii  ttf-dejavu-extra              2.33-1     Vera font family derivate with add

Versions of packages openjdk-6-jre suggests:
pn  icedtea-plugin                <none>     (no description available)

-- no debconf information
[ConditionalEventPump] Exception occurred during event dispatching:
java.lang.NullPointerException
        at sun.awt.X11.XWindowPeer.restoreTransientFor(XWindowPeer.java:1682)
        at 
sun.awt.X11.XWindowPeer.removeFromTransientFors(XWindowPeer.java:1748)
        at sun.awt.X11.XWindowPeer.setModalBlocked(XWindowPeer.java:1470)
        at sun.awt.X11.XWindowPeer.setModalBlocked(XWindowPeer.java:1441)
        at java.awt.Window.setModalBlocked(Window.java:1359)
        at java.awt.Dialog.unblockWindow(Dialog.java:1597)
        at java.awt.Dialog.modalHide(Dialog.java:1483)
        at java.awt.Dialog.hideAndDisposePreHandler(Dialog.java:1215)
        at java.awt.Dialog.hide(Dialog.java:1255)
        at java.awt.Component.show(Component.java:1553)
        at java.awt.Component.setVisible(Component.java:1503)
        at java.awt.Window.setVisible(Window.java:881)
        at java.awt.Dialog.setVisible(Dialog.java:1011)
        at javax.swing.JOptionPane$3.propertyChange(JOptionPane.java:1021)
        at java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:298)
        at 
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:291)
        at 
java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:229)
        at java.awt.Component.firePropertyChange(Component.java:8148)
        at javax.swing.JOptionPane.setInputValue(JOptionPane.java:2231)
        at 
javax.swing.plaf.basic.BasicOptionPaneUI.resetInputValue(BasicOptionPaneUI.java:866)
        at 
javax.swing.plaf.basic.BasicOptionPaneUI$ButtonActionListener.actionPerformed(BasicOptionPaneUI.java:1192)
        at 
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
        at 
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
        at 
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
        at 
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at 
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
        at java.awt.Component.processMouseEvent(Component.java:6268)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6033)
        at java.awt.Container.processEvent(Container.java:2045)
        at java.awt.Component.dispatchEventImpl(Component.java:4629)
        at java.awt.Container.dispatchEventImpl(Container.java:2103)
        at java.awt.Component.dispatchEvent(Component.java:4455)
        at 
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4633)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4297)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4227)
        at java.awt.Container.dispatchEventImpl(Container.java:2089)
        at java.awt.Window.dispatchEventImpl(Window.java:2517)
        at java.awt.Component.dispatchEvent(Component.java:4455)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
        at java.awt.EventQueue.access$000(EventQueue.java:96)
        at java.awt.EventQueue$1.run(EventQueue.java:608)
        at java.awt.EventQueue$1.run(EventQueue.java:606)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
        at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
        at java.awt.EventQueue$2.run(EventQueue.java:622)
        at java.awt.EventQueue$2.run(EventQueue.java:620)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
        at 
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
        at 
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
        at 
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194)
        at java.awt.Dialog$1.run(Dialog.java:1072)
        at java.awt.Dialog$3.run(Dialog.java:1126)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.Dialog.show(Dialog.java:1124)
        at javax.swing.JOptionPane.showInputDialog(JOptionPane.java:584)
        at javax.swing.JOptionPane.showInputDialog(JOptionPane.java:496)
        at 
net.sourceforge.kolmafia.utilities.InputFieldUtilities.input(InputFieldUtilities.java:91)
        at 
net.sourceforge.kolmafia.utilities.InputFieldUtilities.getQuantity(InputFieldUtilities.java:239)
        at 
net.sourceforge.kolmafia.swingui.panel.ItemManagePanel.getDesiredItemAmount(ItemManagePanel.java:533)
        at 
net.sourceforge.kolmafia.swingui.panel.ItemManagePanel.getDesiredItems(ItemManagePanel.java:423)
        at 
net.sourceforge.kolmafia.swingui.panel.ItemManagePanel.getDesiredItems(ItemManagePanel.java:385)
        at 
net.sourceforge.kolmafia.swingui.panel.UseItemEnqueuePanel$EnqueueListener.run(UseItemEnqueuePanel.java:210)
        at 
net.sourceforge.kolmafia.swingui.listener.ThreadedListener.actionPerformed(ThreadedListener.java:60)
        at 
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
        at 
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
        at 
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
        at 
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at 
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
        at java.awt.Component.processMouseEvent(Component.java:6268)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6033)
        at java.awt.Container.processEvent(Container.java:2045)
        at java.awt.Component.dispatchEventImpl(Component.java:4629)
        at java.awt.Container.dispatchEventImpl(Container.java:2103)
        at java.awt.Component.dispatchEvent(Component.java:4455)
        at 
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4633)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4297)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4227)
        at java.awt.Container.dispatchEventImpl(Container.java:2089)
        at java.awt.Window.dispatchEventImpl(Window.java:2517)
        at java.awt.Component.dispatchEvent(Component.java:4455)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
        at java.awt.EventQueue.access$000(EventQueue.java:96)
        at java.awt.EventQueue$1.run(EventQueue.java:608)
        at java.awt.EventQueue$1.run(EventQueue.java:606)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
        at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
        at java.awt.EventQueue$2.run(EventQueue.java:622)
        at java.awt.EventQueue$2.run(EventQueue.java:620)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
        at 
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
        at 
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
        at 
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
[ConditionalEventPump] Exception occurred during event dispatching:
java.lang.NullPointerException
        at sun.awt.X11.XWindowPeer.restoreTransientFor(XWindowPeer.java:1682)
        at 
sun.awt.X11.XWindowPeer.removeFromTransientFors(XWindowPeer.java:1748)
        at sun.awt.X11.XWindowPeer.setModalBlocked(XWindowPeer.java:1470)
        at sun.awt.X11.XWindowPeer.setModalBlocked(XWindowPeer.java:1441)
        at java.awt.Window.setModalBlocked(Window.java:1359)
        at java.awt.Dialog.unblockWindow(Dialog.java:1597)
        at java.awt.Dialog.modalHide(Dialog.java:1483)
        at java.awt.Dialog.hideAndDisposePreHandler(Dialog.java:1215)
        at java.awt.Dialog.hide(Dialog.java:1255)
        at java.awt.Component.show(Component.java:1553)
        at java.awt.Component.setVisible(Component.java:1503)
        at java.awt.Window.setVisible(Window.java:881)
        at java.awt.Dialog.setVisible(Dialog.java:1011)
        at javax.swing.JDialog.processWindowEvent(JDialog.java:649)
        at java.awt.Window.processEvent(Window.java:1862)
        at java.awt.Component.dispatchEventImpl(Component.java:4629)
        at java.awt.Container.dispatchEventImpl(Container.java:2103)
        at java.awt.Window.dispatchEventImpl(Window.java:2517)
        at java.awt.Component.dispatchEvent(Component.java:4455)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
        at java.awt.EventQueue.access$000(EventQueue.java:96)
        at java.awt.EventQueue$1.run(EventQueue.java:608)
        at java.awt.EventQueue$1.run(EventQueue.java:606)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
        at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
        at java.awt.EventQueue$2.run(EventQueue.java:622)
        at java.awt.EventQueue$2.run(EventQueue.java:620)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
        at 
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
        at 
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
        at 
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194)
        at java.awt.Dialog$1.run(Dialog.java:1072)
        at java.awt.Dialog$3.run(Dialog.java:1126)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.awt.Dialog.show(Dialog.java:1124)
        at javax.swing.JOptionPane.showInputDialog(JOptionPane.java:584)
        at javax.swing.JOptionPane.showInputDialog(JOptionPane.java:496)
        at 
net.sourceforge.kolmafia.utilities.InputFieldUtilities.input(InputFieldUtilities.java:91)
        at 
net.sourceforge.kolmafia.utilities.InputFieldUtilities.getQuantity(InputFieldUtilities.java:239)
        at 
net.sourceforge.kolmafia.swingui.panel.ItemManagePanel.getDesiredItemAmount(ItemManagePanel.java:533)
        at 
net.sourceforge.kolmafia.swingui.panel.ItemManagePanel.getDesiredItems(ItemManagePanel.java:423)
        at 
net.sourceforge.kolmafia.swingui.panel.ItemManagePanel.getDesiredItems(ItemManagePanel.java:385)
        at 
net.sourceforge.kolmafia.swingui.panel.UseItemEnqueuePanel$EnqueueListener.run(UseItemEnqueuePanel.java:210)
        at 
net.sourceforge.kolmafia.swingui.listener.ThreadedListener.actionPerformed(ThreadedListener.java:60)
        at 
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
        at 
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
        at 
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
        at 
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at 
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
        at java.awt.Component.processMouseEvent(Component.java:6268)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
        at java.awt.Component.processEvent(Component.java:6033)
        at java.awt.Container.processEvent(Container.java:2045)
        at java.awt.Component.dispatchEventImpl(Component.java:4629)
        at java.awt.Container.dispatchEventImpl(Container.java:2103)
        at java.awt.Component.dispatchEvent(Component.java:4455)
        at 
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4633)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4297)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4227)
        at java.awt.Container.dispatchEventImpl(Container.java:2089)
        at java.awt.Window.dispatchEventImpl(Window.java:2517)
        at java.awt.Component.dispatchEvent(Component.java:4455)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:649)
        at java.awt.EventQueue.access$000(EventQueue.java:96)
        at java.awt.EventQueue$1.run(EventQueue.java:608)
        at java.awt.EventQueue$1.run(EventQueue.java:606)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
        at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:116)
        at java.awt.EventQueue$2.run(EventQueue.java:622)
        at java.awt.EventQueue$2.run(EventQueue.java:620)
        at java.security.AccessController.doPrivileged(Native Method)
        at 
java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:619)
        at 
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
        at 
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
        at 
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
http://bugs.sun.com/view_bug.do?bug_id=6826104
partly revert 6693253 (Security Warning appearance requires enhancements):
"The call to windows.add(this) was just mistakenly removed.
It needs to be added back to the XWindowPeer.preInit() method."
--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java.orig   
2011-08-24 02:42:07.266772400 +0200
+++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java        
2011-08-23 23:02:45.000000000 +0200
@@ -149,6 +149,13 @@
 
         params.put(OVERRIDE_REDIRECT, Boolean.valueOf(isOverrideRedirect()));
 
+        SunToolkit.awtLock();
+        try {
+            windows.add(this);
+        }
+        finally {
+            SunToolkit.awtUnlock();
+        }
         cachedFocusableWindow = isFocusableWindow();
 
         Font f = target.getFont();

Reply via email to