Modify

Opened 14 years ago

Closed 14 years ago

Last modified 14 years ago

#5632 closed defect (duplicate)

crash during update of large dataset

Reported by: vpbroman Owned by: team
Priority: normal Milestone:
Component: Core Version: tested
Keywords: Cc:

Description (last modified by Don-vip)

Josm crashed when editing a 152 Mb section of san diego, california
the first thing I did after opening the file was requesting
an update of all the data, which came in 12 sections,
during the fifth or sixth, the progress stopped and I got
the crash dialog inviting me to submit a bug report.
This is on Fedora 12 with current updates.

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2010-10-06 01:31:17
Last Changed Author: bastiK
Revision: 3592
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2010-10-05 20:34:31 +0200 (Tue, 05 Oct 2010)
Last Changed Rev: 3592

Identification: JOSM/1.5 (3592 en)
Memory Usage: 317 MB / 508 MB (94 MB allocated, but free)
Java version: 1.6.0_18, Sun Microsystems Inc., OpenJDK Client VM
Operating system: Linux
Dataset consistency test: No problems found

Plugin: ImportImagePlugin (23305)
Plugin: livegps (21706)
Plugin: measurement (22547)
Plugin: openvisible (21706)
Plugin: osmarender (22765)
Plugin: routing (22549)
Plugin: slippymap (22848)
Plugin: turnrestrictions (24125)
Plugin: validator (23917)
Plugin: wmsplugin (23904)

java.lang.ClassCastException: javax.swing.JLabel cannot be cast to javax.swing.text.JTextComponent
	at javax.swing.text.html.EditableView.paint(EditableView.java:76)
	at javax.swing.text.BoxView.paintChild(BoxView.java:161)
	at javax.swing.text.BoxView.paint(BoxView.java:433)
	at javax.swing.text.BoxView.paintChild(BoxView.java:161)
	at javax.swing.text.BoxView.paint(BoxView.java:433)
	at javax.swing.text.ParagraphView.paint(ParagraphView.java:604)
	at javax.swing.text.html.ParagraphView.paint(ParagraphView.java:241)
	at javax.swing.text.BoxView.paintChild(BoxView.java:161)
	at javax.swing.text.BoxView.paint(BoxView.java:433)
	at javax.swing.text.html.BlockView.paint(BlockView.java:282)
	at javax.swing.text.BoxView.paintChild(BoxView.java:161)
	at javax.swing.text.BoxView.paint(BoxView.java:433)
	at javax.swing.text.html.BlockView.paint(BlockView.java:282)
	at javax.swing.plaf.basic.BasicHTML$Renderer.paint(BasicHTML.java:481)
	at javax.swing.plaf.synth.SynthGraphicsUtils.paintText(SynthGraphicsUtils.java:405)
	at javax.swing.plaf.synth.SynthLabelUI.paint(SynthLabelUI.java:181)
	at javax.swing.plaf.synth.SynthLabelUI.update(SynthLabelUI.java:162)
	at javax.swing.JComponent.paintComponent(JComponent.java:765)
	at javax.swing.JComponent.paint(JComponent.java:1029)
	at javax.swing.JComponent.paintChildren(JComponent.java:866)
	at javax.swing.JComponent.paint(JComponent.java:1038)
	at javax.swing.JComponent.paintChildren(JComponent.java:866)
	at javax.swing.JComponent.paint(JComponent.java:1038)
	at javax.swing.JComponent.paintChildren(JComponent.java:866)
	at javax.swing.JComponent.paint(JComponent.java:1038)
	at javax.swing.JComponent.paintChildren(JComponent.java:866)
	at javax.swing.JComponent.paint(JComponent.java:1038)
	at javax.swing.JComponent.paintChildren(JComponent.java:866)
	at javax.swing.JComponent.paint(JComponent.java:1038)
	at javax.swing.JComponent.paintChildren(JComponent.java:866)
	at javax.swing.JComponent.paint(JComponent.java:1038)
	at javax.swing.JLayeredPane.paint(JLayeredPane.java:581)
	at javax.swing.JComponent.paintChildren(JComponent.java:866)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5145)
	at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:302)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1145)
	at javax.swing.JComponent.paint(JComponent.java:1015)
	at java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
	at sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78)
	at sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115)
	at java.awt.Container.paint(Container.java:1844)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:751)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:696)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:676)
	at javax.swing.RepaintManager.access$700(RepaintManager.java:57)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1550)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
	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.event.InvocationEvent.dispatch(InvocationEvent.java:226)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
	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 java.awt.Component.show(Component.java:1464)
	at java.awt.Component.setVisible(Component.java:1416)
	at java.awt.Window.setVisible(Window.java:842)
	at java.awt.Dialog.setVisible(Dialog.java:1011)
	at org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor$3.run(PleaseWaitProgressMonitor.java:83)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
	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)

Attachments (0)

Change History (4)

comment:1 by bastiK, 14 years ago

Resolution: irreproducible
Status: newclosed

there is a netbeans bug with this error, the fix was this:

changeset:   151796:29830b12c0f5
user:        Tomas Stupka <tstupka@netbeans.org>
date:        Mon Nov 02 12:05:38 2009 +0100
summary:     #175911 - ClassCastException: javax.swing.JLabel cannot be cast to javax.swing.text.JTextComponent

diff -r ab81f0bfd03f -r 29830b12c0f5 bugtracking/src/org/netbeans/modules/bugtracking/ui/search/PopupItem.java
--- a/bugtracking/src/org/netbeans/modules/bugtracking/ui/search/PopupItem.java	Mon Nov 02 11:20:40 2009 +0100
+++ b/bugtracking/src/org/netbeans/modules/bugtracking/ui/search/PopupItem.java	Mon Nov 02 12:05:38 2009 +0100
@@ -40,6 +40,7 @@
 package org.netbeans.modules.bugtracking.ui.search;
 
 import org.netbeans.modules.bugtracking.spi.Issue;
+import org.netbeans.modules.bugtracking.util.TextUtils;
 
 /**
  *
@@ -71,6 +72,9 @@
             if(text == null || text.trim().equals("")) return displayText;      // NOI18N
             StringBuffer sb = new StringBuffer();
 
+            text = TextUtils.escapeForHTMLLabel(text);
+            displayText = TextUtils.escapeForHTMLLabel(displayText);
+
             String displayTextLower = displayText.toLowerCase();
             String textLower = text.toLowerCase();
             int idx = displayTextLower.indexOf(textLower);

with

    /**
     * Replaces problematic characters by escape sequences.
     * This method is designed for text that should appear
     * in HTML label.
     *
     * @param text text to process.
     * @return text with correct escape sequences.
     */
    public static String escapeForHTMLLabel(String text) {
        StringBuilder sb = new StringBuilder();
        for (int i=0; i<text.length(); i++) {
            char c = text.charAt(i);
            switch (c) {
                case '<': sb.append("&lt;"); break; // NOI18N
                case '>': sb.append("&gt;"); break; // NOI18N
                default: sb.append(c);
            }
        }
        return sb.toString();
    }

however I have no clue how this can happen at the 5th of 12 updates. Maybe the api returned unexpected data?

comment:2 by Don-vip, 14 years ago

Description: modified (diff)
Resolution: irreproducible
Status: closedreopened

comment:3 by Don-vip, 14 years ago

Resolution: duplicate
Status: reopenedclosed

comment:4 by Don-vip, 14 years ago

Closed as duplicate of #6821.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.