<AWT Dev> [8] Review request for 8002191 AWT-Shutdown thread does not start with the AppletSecurity on Linux

Anthony Petrov anthony.petrov at oracle.com
Tue Nov 13 07:54:59 PST 2012


Why can't we implement this logic the same way on Linux, i.e. create the 
AWT-Shutdown thread from some code in XToolkit that already runs with 
necessary permissions?

--
best regards,
Anthony

On 11/13/2012 7:32 PM, Alexander Scherbatiy wrote:
> On 11/13/2012 4:47 PM, Anthony Petrov wrote:
>> Hi Alexander,
>>
>> I'm wondering why does the bug synopsis mention a concrete platform 
>> (Linux), but the fix is in shared code? Why wasn't this a problem for 
>> e.g. Windows or Mac previously? And will anything be affected by this 
>> change on these other platforms?
> 
>     The AWT-Shutdown thread starts from WToolkit constructor (see the 
> fix for the issue 4701990). And the toolkit is created with the 
> necessary permissions in the Toolkit.getDefaultToolkit() method.
>     The AWT-Shutdown thread started from the native awt.m library on 
> MacOSX which is load with the necessary permissions.
>     The AWT-Shutdown thread starts on Linux from the main thread when 
> the system needed it and so it does not have necessary permissions.
> 
>     The AWTAutoShutdown.notifyToolkitThreadBusy() method is public so it 
> can be invoked from any place on any OS and leads to the security 
> exception if a SecurityManager is set.
> 
>     The current fix does not affect Windows and MacOSX platforms.
> 
>     Thanks,
>     Alexandr.
>>
>> -- 
>> best regards,
>> Anthony
>>
>> On 11/13/2012 1:12 PM, Alexander Scherbatiy wrote:
>>> On 11/12/2012 9:52 PM, Sergey Bylokhov wrote:
>>>> Hi, Alexander.
>>>
>>>   Could you review the updated fix:
>>>     http://cr.openjdk.java.net/~alexsch/8002191/webrev.01/
>>>
>>>> Does setDaemon also requires additional permissions? 
>>>       Yes. It requires the modifyThread permission.
>>>> Also note, all this file has 80 lines alignment.
>>>       The long line is formatted.
>>>
>>>      Thanks,
>>>      Alexandr.
>>>>
>>>> 12.11.2012 18:32, Alexander Scherbatiy wrote:
>>>>>
>>>>> bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8002191
>>>>> webrev: http://cr.openjdk.java.net/~alexsch/8002191/webrev.00
>>>>>
>>>>> The AWT-Shutdown thread starts from the main thread on Linux and so 
>>>>> it does not have modifyThreadGroup permissions.
>>>>> The fix runs the AWT-Shutdown thread from the doPrivileged block.
>>>>>
>>>>> The 'thread.setDaemon(false);' line is not formatted because hg 
>>>>> diff (and so webrev) does not treat new spaces as a change.
>>>>>
>>>>> Thanks,
>>>>> Alexandr.
>>>>>
>>>>
>>>>
>>>
> 



More information about the awt-dev mailing list