8152515: (logging) LogManager.resetLogger should ignore LinkageError
Roger.Riggs at Oracle.com
Fri Oct 28 16:15:31 UTC 2016
There is no issue in this case.
LinkageError does not extend Exception so they are disjoint at the catch
And the compiler produces an error if a catch clause hides another
exception to keep
the mistake from being hidden.
On 10/28/2016 12:00 PM, Jonathan Bluett-Duncan wrote:
> I've an awful suspicion that the `catch (LinkageError e)` block is
> unreachable, as the `catch (Exception e)` block would run first, being
> located above the other block in the source code.
> Is my suspicion correct?
> Kind regards,
> On 28 October 2016 at 16:36, Jason Mehrens <jason_mehrens at hotmail.com>
>> Looks good to me.
>> Thanks for fixing this!
>> From: Daniel Fuchs <daniel.fuchs at oracle.com>
>> Sent: Friday, October 28, 2016 6:51 AM
>> To: core-libs-dev
>> Cc: Jason Mehrens
>> Subject: RFR: 8152515: (logging) LogManager.resetLogger should ignore
>> Please find below a trivial patch for:
>> 8152515: (logging) LogManager.resetLogger should ignore LinkageError
>> The issue might occur at shutdown, when a handler that makes uses
>> of some APIs provided by an OSGI bundle which was already closed
>> by the shutdown process is in turn closed by the LogManager.Cleaner
>> thread. In that case some subclasses of LinkageError may be thrown,
>> interrupting the reset process and preventing other handlers from
>> being closed properly.
>> The patch proposes to trivially ignore LinkageError at shutdown while
>> the LogManager.Cleaner thread is running.
>> best regards,
>> -- daniel
More information about the core-libs-dev