Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Standard Widget Toolkit (SWT) » Weird Crash in OS X
Weird Crash in OS X [message #451993] Sat, 12 March 2005 15:47 Go to next message
Rob Williams is currently offline Rob WilliamsFriend
Messages: 64
Registered: July 2009
Member
Working along, I use refactor to add .xml to the name of a Hibernate
mapping file. Suddenly, kb will not work. Can't add any characters to
any open files. Finally do Apple-Q and get the 'see the log' followed by
the VM crash screen. Log had this in it:

!ENTRY org.eclipse.ui.workbench 4 2 2005-03-12 07:43:22.354
!MESSAGE Problems occurred when invoking code from plug-in:
"org.eclipse.ui.workbench".
!STACK 0
java.lang.NullPointerException
at org.eclipse.swt.widgets.Table.releaseWidget(Table.java:1652)
at
org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
at
org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
at
org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
at
org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
at
org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
at
org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
at
org.eclipse.swt.widgets.TabFolder.releaseWidget(TabFolder.ja va:473)
at
org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
at
org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
at
org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
at
org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
at
org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
at
org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
at
org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
at
org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
at
org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
at
org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
at
org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
at org.eclipse.swt.widgets.Canvas.releaseWidget(Canvas.java:141 )
at
org.eclipse.swt.widgets.Decorations.releaseWidget(Decoration s.java:366)
at org.eclipse.swt.widgets.Shell.releaseWidget(Shell.java:1091)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:489)
at org.eclipse.jface.window.Window.close(Window.java:278)
at
org.eclipse.jface.window.ApplicationWindow.close(Application Window.java:291)
at
org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchW indow.java:1314)
at
org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchW indow.java:537)
at
org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWi ndow.java:518)
at
org.eclipse.ui.internal.WorkbenchWindow$1.run(WorkbenchWindo w.java:619)
at
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:69)
at
org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindo w.java:617)
at
org.eclipse.jface.window.WindowManager.close(WindowManager.j ava:108)
at org.eclipse.ui.internal.Workbench$10.run(Workbench.java:513)
at
org.eclipse.core.internal.runtime.InternalPlatform.run(Inter nalPlatform.java:1015)
at org.eclipse.core.runtime.Platform.run(Platform.java:757)
at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:5 09)
at org.eclipse.ui.internal.Workbench.access$6(Workbench.java:44 4)
at org.eclipse.ui.internal.Workbench$12.run(Workbench.java:631)
at
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:69)
at org.eclipse.ui.internal.Workbench.close(Workbench.java:629)
at org.eclipse.ui.internal.Workbench.close(Workbench.java:604)
at
org.eclipse.ui.internal.Workbench$17.handleEvent(Workbench.j ava:1539)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :82)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3054)
at org.eclipse.swt.widgets.Display.close(Display.java:777)
at org.eclipse.swt.widgets.Display.commandProc(Display.java:661 )
at
org.eclipse.swt.internal.carbon.OS.SendEventToEventTarget(Na tive Method)
at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2541)
at
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1612)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1578)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:293)
at
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:144)
at
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:102)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:228)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:333)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:150)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:268 )
at org.eclipse.core.launcher.Main.basicRun(Main.java:260)
at org.eclipse.core.launcher.Main.run(Main.java:887)
at org.eclipse.core.launcher.Main.main(Main.java:871)
FIX FOR Menu.releaseWidget()/HOW TO report a bugfix?? [message #452015 is a reply to message #451993] Sat, 12 March 2005 16:53 Go to previous messageGo to next message
Chris Dagnon is currently offline Chris DagnonFriend
Messages: 1
Registered: July 2009
Junior Member
SHORT VERSION: This may or may not be what's causing your errors, but it
just happened to me and by debugging I have a fix for my problem (though I
think it points out some problem with SWT's overall internal strategy).
The fix code is adding a null check here:

void releaseWidget () {
MenuItem [] items = getItems ();
for (int i=0; i<items.length; i++) {
MenuItem item = items [i];
if (item != null && !item.isDisposed ()) { // !!!!!!
if (OS.IsPPC && hwndCB != 0) {
item.dispose ();
} else {
item.releaseResources ();
}
}
}


LONG VERSION:
I just came across this bug where if I have a Menu menu and do
menu.addDisposeListener(dl); where dl does a System.out.println(), on the
display.dispose() it gives me a similar error. In particular my
breakpoint is in Menu.java @1048 using SWT win32.3.0.1, and the first time
through (with an extensive stack of OS calls, which reports including 3
sets of the same repeated lines...) it correctly disposes of them. That
happens from display.readAndDispatch().

The second time through is initiated from shell.dispose() and
display.dispose() (I had both - had heard both were better than single),
and they try looping through the MenuItems again but this time they are
all null so on the first object->method call it bombs with NullPointer.

Sometimes I can through WinXP's app bar select it and close it, but mostly
I have to use Eclipse's debug window to terminate the app, because it
throws the NullPointer

Removing the println() call eliminates the eventual problem, but not the
bug in the code.
Re: Weird Crash in OS X [message #452081 is a reply to message #451993] Mon, 14 March 2005 12:35 Go to previous messageGo to next message
Veronika Irvine is currently offline Veronika IrvineFriend
Messages: 1272
Registered: July 2009
Senior Member
Please enter a bug report against Platform SWT. Please indicate the
version of Eclipse that you are using.

"Rob Williams" <robwms63@yahoo.com> wrote in message
news:d0v2tk$na0$1@www.eclipse.org...
> Working along, I use refactor to add .xml to the name of a Hibernate
> mapping file. Suddenly, kb will not work. Can't add any characters to any
> open files. Finally do Apple-Q and get the 'see the log' followed by the
> VM crash screen. Log had this in it:
>
> !ENTRY org.eclipse.ui.workbench 4 2 2005-03-12 07:43:22.354
> !MESSAGE Problems occurred when invoking code from plug-in:
> "org.eclipse.ui.workbench".
> !STACK 0
> java.lang.NullPointerException
> at org.eclipse.swt.widgets.Table.releaseWidget(Table.java:1652)
> at
> org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
> at
> org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
> at
> org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
> at
> org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
> at
> org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
> at
> org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
> at
> org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
> at
> org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
> at
> org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
> at
> org.eclipse.swt.widgets.TabFolder.releaseWidget(TabFolder.ja va:473)
> at
> org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
> at
> org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
> at
> org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
> at
> org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
> at
> org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
> at
> org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
> at
> org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
> at
> org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
> at
> org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
> at
> org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
> at
> org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
> at
> org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
> at
> org.eclipse.swt.widgets.Widget.releaseResources(Widget.java: 1143)
> at
> org.eclipse.swt.widgets.Composite.releaseChildren(Composite. java:719)
> at
> org.eclipse.swt.widgets.Composite.releaseWidget(Composite.ja va:724)
> at org.eclipse.swt.widgets.Canvas.releaseWidget(Canvas.java:141 )
> at
> org.eclipse.swt.widgets.Decorations.releaseWidget(Decoration s.java:366)
> at org.eclipse.swt.widgets.Shell.releaseWidget(Shell.java:1091)
> at org.eclipse.swt.widgets.Widget.dispose(Widget.java:489)
> at org.eclipse.jface.window.Window.close(Window.java:278)
> at
> org.eclipse.jface.window.ApplicationWindow.close(Application Window.java:291)
> at
> org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchW indow.java:1314)
> at
> org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchW indow.java:537)
> at
> org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWi ndow.java:518)
> at
> org.eclipse.ui.internal.WorkbenchWindow$1.run(WorkbenchWindo w.java:619)
> at
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:69)
> at
> org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindo w.java:617)
> at
> org.eclipse.jface.window.WindowManager.close(WindowManager.j ava:108)
> at org.eclipse.ui.internal.Workbench$10.run(Workbench.java:513)
> at
> org.eclipse.core.internal.runtime.InternalPlatform.run(Inter nalPlatform.java:1015)
> at org.eclipse.core.runtime.Platform.run(Platform.java:757)
> at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:5 09)
> at org.eclipse.ui.internal.Workbench.access$6(Workbench.java:44 4)
> at org.eclipse.ui.internal.Workbench$12.run(Workbench.java:631)
> at
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:69)
> at org.eclipse.ui.internal.Workbench.close(Workbench.java:629)
> at org.eclipse.ui.internal.Workbench.close(Workbench.java:604)
> at
> org.eclipse.ui.internal.Workbench$17.handleEvent(Workbench.j ava:1539)
> at
> org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :82)
> at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3054)
> at org.eclipse.swt.widgets.Display.close(Display.java:777)
> at org.eclipse.swt.widgets.Display.commandProc(Display.java:661 )
> at
> org.eclipse.swt.internal.carbon.OS.SendEventToEventTarget(Na tive Method)
> at
> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2541)
> at
> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1612)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1578)
> at
> org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:293)
> at
> org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:144)
> at
> org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:102)
> at
> org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:228)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:333)
> at
> org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:150)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:324)
> at org.eclipse.core.launcher.Main.invokeFramework(Main.java:268 )
> at org.eclipse.core.launcher.Main.basicRun(Main.java:260)
> at org.eclipse.core.launcher.Main.run(Main.java:887)
> at org.eclipse.core.launcher.Main.main(Main.java:871)
Re: FIX FOR Menu.releaseWidget()/HOW TO report a bugfix?? [message #452082 is a reply to message #452015] Mon, 14 March 2005 12:37 Go to previous message
Veronika Irvine is currently offline Veronika IrvineFriend
Messages: 1272
Registered: July 2009
Senior Member
Chris,

Please enter a bug report against Platform SWT with the problem you are
encountering. If possible, please include a code snippet that demonstrates
the problem.

"Chris" <chris.dagnon@tds.net> wrote in message
news:d0v6q2$87f$1@www.eclipse.org...
> SHORT VERSION: This may or may not be what's causing your errors, but it
> just happened to me and by debugging I have a fix for my problem (though I
> think it points out some problem with SWT's overall internal strategy).
> The fix code is adding a null check here:
>
> void releaseWidget () {
> MenuItem [] items = getItems ();
> for (int i=0; i<items.length; i++) {
> MenuItem item = items [i];
> if (item != null && !item.isDisposed ()) { // !!!!!!
> if (OS.IsPPC && hwndCB != 0) {
> item.dispose ();
> } else {
> item.releaseResources ();
> }
> }
> }
>
>
> LONG VERSION:
> I just came across this bug where if I have a Menu menu and do
> menu.addDisposeListener(dl); where dl does a System.out.println(), on the
> display.dispose() it gives me a similar error. In particular my
> breakpoint is in Menu.java @1048 using SWT win32.3.0.1, and the first time
> through (with an extensive stack of OS calls, which reports including 3
> sets of the same repeated lines...) it correctly disposes of them. That
> happens from display.readAndDispatch().
> The second time through is initiated from shell.dispose() and
> display.dispose() (I had both - had heard both were better than single),
> and they try looping through the MenuItems again but this time they are
> all null so on the first object->method call it bombs with NullPointer.
>
> Sometimes I can through WinXP's app bar select it and close it, but mostly
> I have to use Eclipse's debug window to terminate the app, because it
> throws the NullPointer
>
> Removing the println() call eliminates the eventual problem, but not the
> bug in the code.
>
Previous Topic:SWT Standalone GUI Builder
Next Topic:how to do trasparent button??
Goto Forum:
  


Current Time: Thu Apr 25 00:52:28 GMT 2024

Powered by FUDForum. Page generated in 0.02906 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top