HSDB could not terminate when launched on CLI.

KUBOTA Yuji kubota.yuji at gmail.com
Wed Jan 6 00:20:35 UTC 2016


Dmitry,

Thank your reply on vacation. Have a good time :)

Thanks,
Yuji

2016-01-06 3:08 GMT+09:00 Dmitry Samersoff <dmitry.samersoff at oracle.com>:
> 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.samersoff at 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.


More information about the serviceability-dev mailing list