This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-daemon.git
The following commit(s) were added to refs/heads/master by this push:
new 97b8c81 Add debug logging to help figure out start/stop problems.
97b8c81 is described below
commit 97b8c81d8450a9e54ef0eabdac09bacd1f8e68af
Author: Gary Gregory <[email protected]>
AuthorDate: Wed May 13 20:40:12 2020 -0400
Add debug logging to help figure out start/stop problems.
---
src/native/windows/apps/prunsrv/prunsrv.c | 4 ++--
src/native/windows/src/javajni.c | 12 +++++++++---
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/native/windows/apps/prunsrv/prunsrv.c
b/src/native/windows/apps/prunsrv/prunsrv.c
index a12ccff..e6b33d5 100644
--- a/src/native/windows/apps/prunsrv/prunsrv.c
+++ b/src/native/windows/apps/prunsrv/prunsrv.c
@@ -1064,11 +1064,11 @@ static DWORD WINAPI serviceStop(LPVOID lpParameter)
else {
if (lstrcmpA(_jni_sclass, "java/lang/System") == 0) {
reportServiceStatus(SERVICE_STOP_PENDING, NO_ERROR, 20 * 1000);
- apxLogWrite(APXLOG_MARK_DEBUG "Forcing Java JNI System.exit
worker to finish...");
+ apxLogWrite(APXLOG_MARK_DEBUG "Forcing Java JNI System.exit()
worker to finish...");
return 0;
}
else {
- apxLogWrite(APXLOG_MARK_DEBUG "Waiting for Java JNI stop
worker to finish...");
+ apxLogWrite(APXLOG_MARK_DEBUG "Waiting for Java JNI stop
worker to finish for %s:%s...", _jni_sclass, _jni_smethod);
apxJavaWait(hWorker, INFINITE, FALSE);
apxLogWrite(APXLOG_MARK_DEBUG "Java JNI stop worker
finished.");
}
diff --git a/src/native/windows/src/javajni.c b/src/native/windows/src/javajni.c
index 534feea..c67831d 100644
--- a/src/native/windows/src/javajni.c
+++ b/src/native/windows/src/javajni.c
@@ -1055,12 +1055,14 @@ static DWORD WINAPI __apxJavaWorkerThread(LPVOID
lpParameter)
if (!__apxJvmAttach(lpJava)) {
WORKER_EXIT(5);
}
- apxLogWrite(APXLOG_MARK_DEBUG "Java Worker thread started %s:%s",
+ apxLogWrite(APXLOG_MARK_DEBUG "Java worker thread started for %s:%s",
lpJava->clWorker.sClazz, lpJava->clWorker.sMethod);
lpJava->dwWorkerStatus = 1;
SetEvent(lpJava->hWorkerInit);
/* Ensure apxJavaStart worker has read our status */
WaitForSingleObject(lpJava->hWorkerSync, INFINITE);
+ apxLogWrite(APXLOG_MARK_DEBUG "JNI calling static void method %s:%s",
+ lpJava->clWorker.sClazz, lpJava->clWorker.sMethod);
JNICALL_3(CallStaticVoidMethod,
lpJava->clWorker.jClazz,
lpJava->clWorker.jMethod,
@@ -1078,12 +1080,12 @@ static DWORD WINAPI __apxJavaWorkerThread(LPVOID
lpParameter)
finished:
if (lpJava) {
lpJava->dwWorkerStatus = 0;
- apxLogWrite(APXLOG_MARK_DEBUG "Java Worker thread finished %s:%s with
status = %d",
+ apxLogWrite(APXLOG_MARK_DEBUG "Java worker thread finished %s:%s with
status = %d",
lpJava->clWorker.sClazz, lpJava->clWorker.sMethod, rv);
SetEvent(lpJava->hWorkerInit);
}
ExitThread(rv);
- /* never gets here but keep the compiler happy */
+ /* Never gets here but keep the compiler happy */
return rv;
}
@@ -1148,7 +1150,11 @@ apxJavaWait(APXHANDLE hJava, DWORD dwMilliseconds, BOOL
bKill)
if (!lpJava->dwWorkerStatus && lpJava->hWorkerThread)
return WAIT_OBJECT_0;
+ apxLogWrite(APXLOG_MARK_DEBUG "WaitForSingleObject 0x%p %d milliseconds
(INFINITE=%d)...",
+ lpJava->hWorkerThread, dwMilliseconds, INFINITE);
rv = WaitForSingleObject(lpJava->hWorkerThread, dwMilliseconds);
+ apxLogWrite(APXLOG_MARK_DEBUG "WaitForSingleObject 0x%p = %d
(WAIT_TIMEOUT=%d)",
+ lpJava->hWorkerThread, rv, WAIT_TIMEOUT);
if (rv == WAIT_TIMEOUT && bKill) {
__apxJavaJniCallback(hJava, WM_CLOSE, 0, 0);
}