Project

General

Profile

Bug #2756

Bug #2677: fix drawing and functional differences between P2J GUI and 4GL GUI

UPDATE statement in GUI dies on GO and leaves the restarted app in an unkillable/unresponsive state

Added by Greg Shah over 8 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Start date:
Due date:
% Done:

100%

billable:
No
vendor_id:
GCD
case_num:

History

#1 Updated by Greg Shah over 8 years ago

This can be recreated in the trunk revision 10945 or in task branch 2560a rev 10968. Run simple_alert_box.p and edit the TEXT (change it to any other text). Then press ENTER. The UPDATE will complete but then the client will abend with:

Oct 12, 2015 12:00:19 PM Dispatcher.processInbound() 
SEVERE: {main} Unexpected throwable.
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.goldencode.p2j.util.MethodInvoker.invoke(MethodInvoker.java:76)
        at com.goldencode.p2j.net.Dispatcher.processInbound(Dispatcher.java:705)
        at com.goldencode.p2j.net.Conversation.block(Conversation.java:319)
        at com.goldencode.p2j.net.Conversation.waitMessage(Conversation.java:257)
        at com.goldencode.p2j.net.Queue.transactImpl(Queue.java:1128)
        at com.goldencode.p2j.net.Queue.transact(Queue.java:585)
        at com.goldencode.p2j.net.BaseSession.transact(BaseSession.java:223)
        at com.goldencode.p2j.net.HighLevelObject.transact(HighLevelObject.java:163)
        at com.goldencode.p2j.net.RemoteObject$RemoteAccess.invokeCore(RemoteObject.java:1425)
        at com.goldencode.p2j.net.InvocationStub.invoke(InvocationStub.java:97)
        at com.sun.proxy.$Proxy4.standardEntry(Unknown Source)
        at com.goldencode.p2j.main.ClientCore.start(ClientCore.java:277)
        at com.goldencode.p2j.main.ClientCore.start(ClientCore.java:100)
        at com.goldencode.p2j.main.ClientDriver.start(ClientDriver.java:201)
        at com.goldencode.p2j.main.CommonDriver.process(CommonDriver.java:398)
        at com.goldencode.p2j.main.ClientDriver.process(ClientDriver.java:95)
        at com.goldencode.p2j.main.ClientDriver.main(ClientDriver.java:267)
Caused by: java.lang.NullPointerException
        at com.goldencode.p2j.ui.client.UiUtils.getData(UiUtils.java:806)
        at com.goldencode.p2j.ui.client.gui.AlertBoxGuiImpl.createIconWidget(AlertBoxGuiImpl.java:309)
        at com.goldencode.p2j.ui.client.gui.AlertBoxGuiImpl.init(AlertBoxGuiImpl.java:274)
        at com.goldencode.p2j.ui.client.gui.AlertBoxGuiImpl.show(AlertBoxGuiImpl.java:161)
        at com.goldencode.p2j.ui.client.widget.AbstractWidget.setVisible(AbstractWidget.java:1046)
        at com.goldencode.p2j.ui.chui.ThinClient$12.run(ThinClient.java:6705)
        at com.goldencode.p2j.ui.chui.ThinClient.eventBracket(ThinClient.java:13668)
        at com.goldencode.p2j.ui.chui.ThinClient.eventBracket(ThinClient.java:13641)
        at com.goldencode.p2j.ui.chui.ThinClient.messageBox(ThinClient.java:6697)
        ... 21 more

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at com.goldencode.p2j.ui.client.gui.driver.swing.SwingMouseHandler.findMouseSource(SwingMouseHandler.java:264)
        at com.goldencode.p2j.ui.client.gui.driver.swing.SwingMouseHandler.processAction(SwingMouseHandler.java:297)
        at com.goldencode.p2j.ui.client.gui.driver.swing.SwingMouseHandler.processAction(SwingMouseHandler.java:279)
        at com.goldencode.p2j.ui.client.gui.driver.swing.SwingMouseHandler.mouseExited(SwingMouseHandler.java:130)
        at java.awt.Component.processMouseEvent(Component.java:6531)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
        at java.awt.Component.processEvent(Component.java:6290)
        at java.awt.Container.processEvent(Container.java:2234)
        at java.awt.Component.dispatchEventImpl(Component.java:4881)
        at java.awt.Container.dispatchEventImpl(Container.java:2292)
        at java.awt.Component.dispatchEvent(Component.java:4703)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
        at java.awt.LightweightDispatcher.retargetMouseEnterExit(Container.java:4678)
        at java.awt.LightweightDispatcher.trackMouseEnterExit(Container.java:4665)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4514)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
        at java.awt.Container.dispatchEventImpl(Container.java:2278)
        at java.awt.Window.dispatchEventImpl(Window.java:2750)
        at java.awt.Component.dispatchEvent(Component.java:4703)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
        at java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.awt.EventQueue$3.run(EventQueue.java:703)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
        at java.awt.EventQueue$4.run(EventQueue.java:731)
        at java.awt.EventQueue$4.run(EventQueue.java:729)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

After the client automatically restarts, it is unresponsive to any input (including ESC). It is also unkillable using CTRL-C in the command prompt where the client was started. You have to use something like kill -9 to stop the process.

#2 Updated by Hynek Cihlar over 8 years ago

The rebase of 2560a with trunk/10945 broke a few things, this seems to be one of them. I will resolve the abend in #2560.

#3 Updated by Greg Shah over 8 years ago

I'll be happy to see the fix in #2560, but please note this regression is in the trunk 10945 already.

#4 Updated by Greg Shah over 8 years ago

  • Assignee set to Eugenie Lyzenko

This problem still exists in both the trunk 10948 (after 2560a was merged) and in 1811s rev 10995 (after rebase from trunk 10948).

#5 Updated by Greg Shah over 8 years ago

The failure now seems to occur in the alert-box button creation. This is the same as the latest problem in #2729. Don't work on this right now, since Hynek is fixing that issue already.

#6 Updated by Greg Shah over 8 years ago

  • Assignee changed from Eugenie Lyzenko to Hynek Cihlar

#7 Updated by Greg Shah over 8 years ago

  • Status changed from New to Closed

Fixed by 1811s revision 11002.

#8 Updated by Greg Shah over 8 years ago

  • % Done changed from 0 to 100

#9 Updated by Greg Shah over 7 years ago

  • Target version changed from Milestone 12 to GUI Support for a Complex ADM2 App

Also available in: Atom PDF