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 <garydgreg...@gmail.com> 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); }