On Fri, 29 Jan 2021 21:47:32 GMT, Weijun Wang <wei...@openjdk.org> wrote:

>> src/java.base/macosx/native/libosxsecurity/KeystoreImpl.m line 619:
>> 
>>> 617:             (*env)->ReleaseCharArrayElements(env, passwordObj, 
>>> passwordChars,
>>> 618:                 JNI_ABORT);
>>> 619:         }
>> 
>> Although you have it in the later code, here you are missing
>>  @catch (NSException *e) { 
>>      NSLog(@"%@", [e callStackSymbols]); 
>>  }
>
> Will add.
> 
> BTW, will these be shown on stdout or stderr? If so, is this a good idea?

should be stderr. Whether to log is up to you. You could wrap it in something 
that checks for a debug build.
The idea is that if this ever happens there is a serious problem. NSException 
is only thrown (by the OS frameworks) in supposedly fatal scenarios.

>> src/java.security.jgss/macosx/native/libosxkrb5/SCDynamicStoreConfig.m line 
>> 57:
>> 
>>> 55:         }
>>> 56:     }
>>> 57:     (*localVM)->DetachCurrentThread(localVM);
>> 
>> I think you only want to detach if you actually attached ! you don't want to 
>> be detaching VM threads.
>
> So I should remember how env was retrieved and only detach when it's from 
> `AttachCurrentThreadAsDaemon`? In fact, in my test the plain `GetEnv` has 
> never succeeded and it was always attached.

Yes that is the idea. BTW which thread was it attached to in what you saw ?

-------------

PR: https://git.openjdk.java.net/jdk/pull/1845

Reply via email to