openjdk team mailing list archive
-
openjdk team
-
Mailing list archive
-
Message #05384
[Bug 726863] [NEW] OpenJDK crash in memcpy
Public bug reported:
Stacktrace and error messages:
Exception in thread "Thread-18" java.lang.NullPointerException
at SimpleJTextPane.append(SimpleJTextPane.java:194)
at ThumbnailConsole.append(ThumbnailConsole.java:63)
at ErrorMessage.display(ErrorMessage.java:57)
at Gui$18$9.stopProgress(Gui.java:1525)
at Gui$14.run(Gui.java:1084)
at java.lang.Thread.run(Thread.java:636)
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f042f796d2a, pid=10163, tid=139655713048320
#
# JRE version: 6.0_20-b20
# Java VM: OpenJDK 64-Bit Server VM (19.0-b09 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea6 1.9.5
# Distribution: Ubuntu 10.10, package 6b20-1.9.5-0ubuntu1
# Problematic frame:
# C [libc.so.6+0x86d2a] memcpy+0x29a
The code was the following (I suspect that the argument to the append method was null) -
it was supposed to the the results of e.getMessage() and I had been testing a "cancel"
button. The interrupt was apparently caught while updating a progress bar - using a
method
public void stopProgress() {
SwingUtilities.invokeAndWait
(new Runnable() {
public void run() {
pbar.setEnabled(false);
pbar.setForeground
(pbarFG);
}
});
}
} catch (Exception e) {
ErrorMessage.display(e.getMessage());
}
ErrorMessage.display(arg) is defined by
static public void display(String msg) {
try {
err.append(msg);
err.append("\n");
} catch (IOException e) {
}
}
and err was set to a console implementing the Appendable interface (so I could use System.err or
a text pane to log the messages. The text pane method is:
public Appendable append(CharSequence csq) {
try {
Document doc = getDocument();
String str = csq.toString();
doc.insertString(doc.getLength(), str, aset);
} catch (BadLocationException e) {
// This should never happen due use of doc.getLength()
throw new RuntimeException("bad location exception");
}
return (Appendable) this;
}
** Affects: openjdk-6 (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of OpenJDK,
which is subscribed to openjdk-6 in ubuntu.
https://bugs.launchpad.net/bugs/726863
Title:
OpenJDK crash in memcpy
Status in “openjdk-6” package in Ubuntu:
New
Bug description:
Stacktrace and error messages:
Exception in thread "Thread-18" java.lang.NullPointerException
at SimpleJTextPane.append(SimpleJTextPane.java:194)
at ThumbnailConsole.append(ThumbnailConsole.java:63)
at ErrorMessage.display(ErrorMessage.java:57)
at Gui$18$9.stopProgress(Gui.java:1525)
at Gui$14.run(Gui.java:1084)
at java.lang.Thread.run(Thread.java:636)
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f042f796d2a, pid=10163, tid=139655713048320
#
# JRE version: 6.0_20-b20
# Java VM: OpenJDK 64-Bit Server VM (19.0-b09 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea6 1.9.5
# Distribution: Ubuntu 10.10, package 6b20-1.9.5-0ubuntu1
# Problematic frame:
# C [libc.so.6+0x86d2a] memcpy+0x29a
The code was the following (I suspect that the argument to the append method was null) -
it was supposed to the the results of e.getMessage() and I had been testing a "cancel"
button. The interrupt was apparently caught while updating a progress bar - using a
method
public void stopProgress() {
SwingUtilities.invokeAndWait
(new Runnable() {
public void run() {
pbar.setEnabled(false);
pbar.setForeground
(pbarFG);
}
});
}
} catch (Exception e) {
ErrorMessage.display(e.getMessage());
}
ErrorMessage.display(arg) is defined by
static public void display(String msg) {
try {
err.append(msg);
err.append("\n");
} catch (IOException e) {
}
}
and err was set to a console implementing the Appendable interface (so I could use System.err or
a text pane to log the messages. The text pane method is:
public Appendable append(CharSequence csq) {
try {
Document doc = getDocument();
String str = csq.toString();
doc.insertString(doc.getLength(), str, aset);
} catch (BadLocationException e) {
// This should never happen due use of doc.getLength()
throw new RuntimeException("bad location exception");
}
return (Appendable) this;
}
Follow ups
References