-
Bug
-
Resolution: Duplicate
-
P1
-
None
-
1.1
-
None
-
x86, sparc
-
solaris_2.5.1, windows_95
Name: mc57594 Date: 02/12/97
1) Run program and click on canvas to bring up dialog.
Hit the "Cancel" button to destroy the dialog, java will
core dump.
2)
$ more my_dialog.java
import java.awt.TextField;
import java.awt.Button;
import java.awt.Component;
import java.awt.Panel;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.ScrollPane;
import java.awt.Label;
import java.awt.Event;
import java.awt.Dialog;
class my_dialog extends Dialog
{
Button ok_, cancel_;
TextField textField_;
my_dialog(Frame parent, String title, boolean modal)
{
super(parent, title, modal);
Panel p1 = new Panel();
Panel main_ = new Panel();
ScrollPane sp = new ScrollPane();
sp.add(main_);
p1.setLayout(new GridLayout(1,2));
GridBagConstraints gbc_ = new GridBagConstraints();
gbc_.fill = GridBagConstraints.NONE;
GridBagLayout gbl_ = new GridBagLayout();
main_.setLayout(gbl_);
int x,y;
for (int i = 0; i < 400; i++)
{
TextField t = new TextField("intpu", 10);
x = i % 15;
y = i % 500;
System.out.println(x+" "+y);
constrain(t, gbl_, gbc_, x, y, 5, 1);
main_.add(t);
}
p1.add(sp);
// Create dialog buttons
ok_ = new Button("Ok");
cancel_ = new Button("Cancel");
// Create a panel to contain the dialog buttons
Panel p2 = new Panel();
// p2.setLayout(new GridLayout(1,2));
p2.add(ok_);
p2.add(cancel_);
add("Center", p1 );
add("South", p2 );
pack();
}
private void
constrain(Component c, GridBagLayout gbl, GridBagConstraints gbc,
int x, int y, int w, int h)
{
gbc.gridx = x;
gbc.gridy = y;
gbc.gridwidth = w;
gbc.gridheight = h;
gbl.setConstraints(c, gbc);
}
public boolean
action(Event evt, Object arg)
{
// System.out.println("action "+evt);
if (evt.target == ok_) {
}
else if (evt.target == cancel_) {
dispose();
}
// carriage return same as OK
else if(evt.target instanceof TextField) {
if (evt.target.equals(textField_)) {
}
}
else return super.action(evt, arg);
return true;
}
}
more client.java
import java.awt.Dialog;
import java.awt.Frame;
import java.awt.Event;
import my_dialog;
class client extends Frame
{
client(String title)
{
super(title);
this.resize(400,400);
System.out.println("CLIENT: I'm here");
}
public boolean mouseUp(Event e, int x, int y)
{
Dialog d = new my_dialog(this, "test dialog", true);
d.resize(400,400);
d.show();
return true;
}
public static void main(String args[])
{
new client("CLIENT").show();
}
}
3)
SIGSEGV 11* segmentation violation
si_signo [11]: SIGSEGV 11* segmentation violation
si_errno [0]: Error 0
si_code [1]: SEGV_ACCERR [addr: 0x24]
stackbase=EDF82000, stackpointer=EDF817E0
Full thread dump:
"Screen Updater" (TID:0xee710040, sys_thread_t:0xedf21de0, state:CW) prio=3
java.lang.Object.wait(Object.java)
sun.awt.ScreenUpdater.nextEntry(ScreenUpdater.java:78)
sun.awt.ScreenUpdater.run(ScreenUpdater.java:100)
"AWT-Dispatch-Proxy" (TID:0xee7100e8, sys_thread_t:0xedf81de0, state:R) prio=5 *current thread*
java.awt.Component.removeNotify(Component.java)
java.awt.TextComponent.removeNotify(TextComponent.java)
java.awt.Container.removeNotify(Container.java)
java.awt.Container.removeNotify(Container.java)
java.awt.Container.removeNotify(Container.java)
java.awt.Container.removeNotify(Container.java)
java.awt.Window.dispose(Window.java)
my_dialog.action(my_dialog.java:89)
java.awt.Component.handleEvent(Component.java)
java.awt.Window.postEvent(Window.java)
java.awt.Component.postEvent(Component.java)
java.awt.Component.postEvent(Component.java)
java.awt.Component.dispatchEvent(Component.java)
java.awt.EventDispatchThread.run(EventDispatchThread.java)
"AWT-Motif" (TID:0xee7042a0, sys_thread_t:0xedfb1de0, state:CW) prio=5
java.lang.Thread.run(Thread.java)
"AWT-Input" (TID:0xee704280, sys_thread_t:0xedfe1de0, state:CW) prio=5
"AWT-EventQueue" (TID:0xee704250, sys_thread_t:0xee011de0, state:CW) prio=5
java.awt.EventQueue.getNextEvent(EventQueue.java)
java.awt.EventDispatchThread.run(EventDispatchThread.java)
"Finalizer thread" (TID:0xee7002f8, sys_thread_t:0xee2c1de0, state:CW) prio=1
"Async Garbage Collector" (TID:0xee7002b0, sys_thread_t:0xee2f1de0, state:CW) prio=1
"Idle thread" (TID:0xee700268, sys_thread_t:0xee3c1de0, state:R) prio=0
"Clock" (TID:0xee700180, sys_thread_t:0xee3f1de0, state:CW) prio=12
"main" (TID:0xee700150, sys_thread_t:0x642d0, state:CW) prio=5
Monitor Cache Dump:
unknown key (key=0xee2f1de0): unowned
Waiting to be notified:
"Async Garbage Collector"
java.awt.EventQueue@EE704238/EE751008 (key=0xee704238): unowned
Waiting to be notified:
"AWT-EventQueue"
sun.awt.motif.MToolkit@EE704220/EE74C220 (key=0xee704220): monitor owner edf81de0: "AWT-Dispatch-Proxy"
Waiting to be notified:
"AWT-Motif"
sun.awt.ScreenUpdater@EE710040/EE784330 (key=0xee710040): unowned
Waiting to be notified:
"Screen Updater"
Registered Monitor Dump:
Thread queue lock: unowned
Waiting to be notified:
"main"
Name and type hash table lock: unowned
String intern lock: unowned
JNI global reference lock: unowned
BinClass lock: unowned
Class loading lock: unowned
Java stack lock: unowned
Code rewrite lock: unowned
Heap lock: unowned
Has finalization queue lock: unowned
Finalize me queue lock: unowned
Waiting to be notified:
"Finalizer thread"
Monitor IO lock: unowned
Child death monitor: unowned
Event monitor: unowned
I/O monitor: unowned
Waiting to be notified:
"AWT-Input"
Alarm monitor: unowned
Waiting to be notified:
"Clock"
Sbrk lock: unowned
Monitor cache expansion lock: unowned
Monitor registry: monitor owner edf81de0: "AWT-Dispatch-Proxy"
Thread Alarm Q:
sys_thread_t 0xedfe1de0 [Timeout in 20 ms]
sys_thread_t 0xee2f1de0 [Timeout in 291 ms]
Abort (core dumped)
4)
5) SunOS 5.5.1 Generic_103640-04 sun4u sparc SUNW,Ultra-1
company - Westinghouse , email - ###@###.###
======================================================================
- duplicates
-
JDK-4032090 large dialogs with many text fields and OrbixWeb 2.0 cause core dumps
- Closed
-
JDK-4024711 Return from Modal Dialog in AWT causes seg violation
- Closed
- relates to
-
JDK-4054176 Java JDK 1.1.1 AWT Dialog based class yields segmentation violation
- Closed