Yuji, I'm on vacation till Jan 10, answer you next week.
Sorry! Dmitry. On 2016-01-05 18:01, KUBOTA Yuji wrote: > Hi Dmitry, > > Thank you for your time. If you have a comment, please let me know. > > Thanks, > Yuji > > 2015-12-15 18:11 GMT+09:00 Dmitry Samersoff <dmitry.samers...@oracle.com>: >> Yuji, >> >> I'll take a look. >> >> -Dmitry >> >> On 2015-12-15 11:23, KUBOTA Yuji wrote: >>> Hi all, >>> >>> When I ran HSDB by jhsdb on CLI i.e. without x11 display, HSDB could >>> not terminate after throwing HeadlessException. >>> >>> HSDB starts WorkerThread before making the JFrame. If we run HSDB on >>> CLI, HSDB throws HeadlessException when makes the JFrame. Thus, the >>> WorkerThread has never shutdown, then HSDB can not terminate. >>> >>> ----- >>> Exception in thread "main" java.awt.HeadlessException: >>> No X11 DISPLAY variable was set, but this program performed an >>> operation which requires it. >>> at >>> java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:205) >>> at java.awt.Window.<init>(Window.java:535) >>> at java.awt.Frame.<init>(Frame.java:422) >>> at javax.swing.JFrame.<init>(JFrame.java:224) >>> at sun.jvm.hotspot.HSDB.run(HSDB.java:140) >>> at sun.jvm.hotspot.HSDB.main(HSDB.java:53) >>> at sun.jvm.hotspot.SALauncher.runHSDB(SALauncher.java:167) >>> at sun.jvm.hotspot.SALauncher.main(SALauncher.java:339) >>> ## Waiting for the shutdown of WorkerThread forever... ### >>> ----- >>> >>> I have created a patch from jdk9/dev/hotspot (changeset: >>> 9625:de592ea5f7ba) as below. Please review it ! >>> >>> diff --git a/agent/src/share/classes/sun/jvm/hotspot/HSDB.java >>> b/agent/src/share/classes/sun/jvm/hotspot/HSDB.java >>> --- a/agent/src/share/classes/sun/jvm/hotspot/HSDB.java >>> +++ b/agent/src/share/classes/sun/jvm/hotspot/HSDB.java >>> @@ -137,15 +137,16 @@ >>> return; >>> } >>> >>> + // Make frame at first, then initialize agent. >>> + frame = new JFrame("HSDB - HotSpot Debugger"); >>> + frame.setSize(800, 600); >>> + frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); >>> + >>> agent = new HotSpotAgent(); >>> workerThread = new WorkerThread(); >>> attachMenuItems = new java.util.ArrayList(); >>> detachMenuItems = new java.util.ArrayList(); >>> >>> - frame = new JFrame("HSDB - HotSpot Debugger"); >>> - frame.setSize(800, 600); >>> - frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); >>> - >>> JMenuBar menuBar = new JMenuBar(); >>> >>> // >>> >>> >>> Thanks, >>> Yuji >>> >> >> >> -- >> Dmitry Samersoff >> Oracle Java development team, Saint Petersburg, Russia >> * I would love to change the world, but they won't give me the source code. -- Dmitry Samersoff Oracle Java development team, Saint Petersburg, Russia * I would love to change the world, but they won't give me the sources.