Я получил проблему, связанную с Java 11 и сбоем моего программного обеспечения (https://github.com/GoMint/GoMint/issues/390).. В результате расследования я обнаружил, что моя JNI-привязка leveldb вызывает сбой:
Код этой библиотеки такой: https://github.com/Mojang/leveldb-mcpe/blob/master/util/env_win.cc#L603
static INIT_ONCE g_InitOnce = INIT_ONCE_STATIC_INIT;
static Env* default_env;
static BOOL CALLBACK InitDefaultEnv(PINIT_ONCE InitOnce,
PVOID Parameter,
PVOID *lpContext) {
::memset(global_read_only_buf, 0, sizeof(global_read_only_buf));
default_env = new WinEnv;
return TRUE;
}
Env* Env::Default() {
PVOID lpContext;
InitOnceExecuteOnce(&g_InitOnce, // One-time initialization structure
InitDefaultEnv, // Pointer to initialization callback function
NULL, // Optional parameter to callback function (not used)
&lpContext); // Receives pointer to event object stored in g_InitOnce
return default_env;
}
Из-за кода ошибки документы MS говорят, что в позиции 3 указан недопустимый параметр, который будет равен NULL..
Что меня интересует, так это то, что этот код работает с Java 8 и до сих пор не изменялся.
При необходимости этот Jenkins предоставляет сборки программного обеспечения для аварийного завершения: http://ci.gomint.io/job/GoMint/job/master/